OpenClaw-RL 深度研究:和 AI 聊天就能训练它——给 OpenClaw 加上强化学习

> GitHub: Gen-Verse/OpenClaw-RL

> 论文: arxiv.org/abs/2603.10165

> 排名: HuggingFace Daily Papers #1(2026-03-10)

> 赞助: Tinker

> 研究时间: 2026-03-26

🎯 一句话版本

给 OpenClaw 加强化学习:你正常聊天,系统在后台自动收集对话轨迹、用 PRM/Judge 打分、训练模型。36 次交互就能看到明显改善。不中断使用,不需要手动标注。支持 Binary RL + On-Policy Distillation + 组合方法。还能训练 Terminal/GUI/SWE/Tool-call 通用 Agent。

🧠 为什么重要?

今天刚读完 Junyang Lin 的文章说"从训练模型到训练 Agent",OpenClaw-RL 就是具体实现

> 你每天和 OpenClaw 聊天 → 对话变成训练数据 → 模型在后台持续优化 → Agent 越用越懂你

这解决了 AI 个性化的终极问题——不是靠 prompt 工程,而是靠实际训练模型权重

🔄 架构:4 组件异步循环


用户 ←→ Agent 服务(不中断)
            ↓
    Rollout 收集(对话轨迹)
            ↓
    PRM/Judge 评估(异步打分)
            ↓
    策略训练(后台更新权重)
            ↓
    更新后的模型 → 回到 Agent 服务

关键:四个组件互不阻塞。 你在聊天时,训练在跑;训练在跑时,打分在进行;全部异步。

📊 三种学习范式

方法信号类型适用场景信号密度
**Binary RL (GRPO)**评估性(好/坏)👍/👎、环境成功/失败每 sample 1 个标量
**OPD (On-Policy Distillation)**方向性"你应该先检查文件"**每 token 1 个值**
**Combined** ⭐推荐评估性 + 方向性两种反馈都用最丰富

Binary RL

你给 👍 或 👎 → PRM 基于"下一个状态"(用户的下一条消息/环境反馈)自动打分 → GRPO 优化

OPD(On-Policy Distillation)

你给文本反馈("你应该先检查文件")→ Judge 提取 hindsight hint → 用 hint 增强原始 prompt 创建"增强 teacher" → teacher 和 student 的 token-level 概率差成为训练信号

比 Binary RL 信号更丰富——不只是"好/坏",而是"应该怎么改"。

Combined(推荐)

两者统一:scalar 监督 + token-level 方向信号。实验效果最好。

📈 效果

> 36 次问题解决交互(学生场景)就能看到明显改善。

> 24 次批改交互(教师场景)就能看到明显改善。

不是几千次、几万次——是几十次对话就能让模型变得更好。

🔧 Track 2:通用 Agent 训练

同一套异步 RL 骨架,还能训练通用 Agent:

场景环境反馈信号
**Terminal**Shell 执行沙盒stdout/stderr/exit code
**GUI**屏幕状态 + accessibility tree视觉状态差异
**SWE**代码仓库 + 测试套件测试结果/diff/lint
**Tool-call**API/函数执行返回值/错误 trace

🔌 和 OpenClaw 的集成

步骤

1. 安装扩展rl-training-headers 到 OpenClaw

2. 启动 RL Server

`bash

cd slime

bash ../openclaw-combine/run_qwen3_4b_openclaw_combine.sh

`

3. 配置 openclaw.json:把模型指向 RL Server(http://:30000/v1

4. 聊天:正常用。系统自动收集→打分→训练

硬件选项

方案GPU 需求
Full Fine-tuning**8× GPU**(默认)
**LoRA**更少 GPU
**Tinker 云****零 GPU**

支持的基础模型

💡 与我们的关联

1. 这就是 OpenClaw 的下一步 ⭐⭐⭐⭐

之前我们讨论了各种记忆系统(Hermes/TELOS/Hindsight)——都是通过上下文让 AI 更懂你。OpenClaw-RL 走得更远:直接修改模型权重

方式持久性效果
SOUL.md / MEMORY.md每次会话从文件加载靠 prompt 引导
TELOS结构化上下文更好的 prompt
Hermes 记忆FTS5 搜索检索增强
**OpenClaw-RL****权重级别****模型本身变了**

2. ub2 上可以跑吗?

3. 和 Junyang Lin 文章的完美呼应

今天 Junyang Lin 说:

> "从训练模型 → 训练 Agent → 训练系统"

OpenClaw-RL 就是"训练 Agent"的具体实现——在真实对话环境中,用环境反馈做 RL。

4. 和 Mario Zechner "慢下来"的张力

Mario 说 Agent 的问题是"不学习"。OpenClaw-RL 直接解决了这个问题——Agent 从每次对话中学习。但这也带来新问题:如果训练信号有噪声(你给了不恰当的 👎),模型可能往错误方向优化。

5. 隐私优势

> 整个 stack——策略模型、Judge/PRM、训练器——全在你自己的基础设施上运行。对话数据不离开你的系统。

这和我们自托管 OpenClaw 的理念一致。

📄 论文深度解读

> 论文:OpenClaw-RL: Train Any Agent Simply by Talking

> 提交:2026-03-10 | 第一作者:Ling Yang | 873KB

核心洞察:Next-State Signal 是被浪费的金矿

论文的起点非常简洁:

> 每次 Agent 做了一个动作 $a_t$ 之后,都会收到一个"下一个状态" $s_{t+1}$——用户的回复、工具的输出、终端的状态变化、GUI 的界面更新。现有系统把它当成下一轮的上下文用完就扔了。我们说它其实编码了两种信息。

两种被浪费的信号

浪费类型含义举例传统处理
**评估性信号**(Waste 1)前一个动作做得好不好用户重新提问=不满意;测试通过=成功忽略或只做 offline
**方向性信号**(Waste 2)前一个动作应该怎么改"你应该先检查文件再编辑"**完全丢失**——标量奖励无法表达

这是论文最有价值的抽象:所有 Agent 交互(对话/终端/GUI/SWE/工具调用)本质上都是同一个东西——动作→下一状态→包含评估+方向信息。不需要分开处理。

MDP 形式化

每个交互流被建模为 MDP $(S, A, T, r)$:

Binary RL:详细机制

PRM Judge 构造


PRM(a_t, s_{t+1}) → r ∈ {+1, -1, 0}

多数投票:跑 $m$ 次独立 Judge 查询,取多数票 $r_{final} = MajorityVote(r_1, ..., r_m)$。

训练目标:标准 PPO-style clipped surrogate,但有非对称边界:

关键限制:这是实时对话场景,没有 group 结构可以做 GRPO 式的标准化。所以 advantage 直接用 $A_t = r_{final}$。

OPD:论文最大的创新

为什么标量奖励不够?

> 用户说"你应该先检查文件再编辑"——这不只是说"你错了"(标量 -1),而是说了哪些 token 应该不同、怎么不同。标量奖励把这些信息全部丢掉了。

4 步流程(详细版)

Step 1. Hindsight Hint 提取


Judge(a_t, s_{t+1}) → {score ∈ {+1, -1}, hint ∈ T*}

⚠️ 关键设计:不直接用 $s_{t+1}$ 作为 hint。原始下一状态通常有噪声(用户回复可能同时包含纠正和新问题)。Judge 把 $s_{t+1}$ 蒸馏成 1-3 句简洁的、可操作的指令。

Step 2. Hint 筛选

这是故意的——OPD 用样本质量换取信号质量。只有方向性信号清晰的 turn 才进入训练。Binary RL 负责广覆盖,OPD 负责精确制导。

Step 3. 增强 Teacher 构造

把 hint 追加到最后一条用户消息后面:


s_enhanced = s_t ⊕ "[user's hint]\n{hint}"

这等于创造了一个"如果用户提前告诉你该怎么做"的平行世界。

Step 4. Token-Level Advantage


A_t = log π_teacher(a_t | s_enhanced) - log π_θ(a_t | s_t)

和其他方法的区别

Combined Method


A_t = w_binary × r_final + w_opd × (log π_teacher - log π_θ)

默认 $w_{binary} = w_{opd} = 1$。两者共享同一个 PPO loss,只是 advantage 计算不同。

实验结果详解

个人 Agent(模拟实验)

方法8 步更新16 步更新
基线0.170.17
Binary RL0.250.23
OPD0.25**0.72**
**Combined****0.76****0.81**

关键发现

通用 Agent

场景集成奖励仅结果奖励
Tool-call**0.30**0.17
GUI**0.33**0.31

Process Reward 对长 horizon 任务至关重要——因为 outcome-only 只在最后一步给梯度。

Session-Aware 设计

每个 API 请求被分为两类:

这个分类让 RL 框架精确知道哪些 turn 属于哪个 session。

训练超参数

参数
学习率$1 \times 10^{-6}$(通用)/ $1 \times 10^{-5}$(个人)
KL 系数0.01(通用)/ 0(个人)
Clip0.2 / 0.28(非对称)
每任务采样8
最大交互步数30(GUI)/ 20(SWE)/ 10(Terminal)
PRM 投票数3(GUI)/ 1(其他)
OPD hint 最小长度10 字符
最大响应长度8192 tokens
最大上下文长度16384 tokens

基础设施:建立在 Slime 之上

Slime 是清华 THUDM 的 RL 框架。OpenClaw-RL 在此基础上增加了:

论文定位:Related Work 中的位置

方向现有方法OpenClaw-RL 的区别
RL for LLMsRLHF/DPO/GRPO**在线实时训练**,不需要预收集数据
Agentic RLSWE-agent/DigiRL/ReTool**统一多种环境**,一个框架训练所有
PRMMath-Shepherd/GenPRM**在线 PRM**,从实时下一状态推断
蒸馏/HindsightSTaR/HIR/Self-Rewarding**在线 OPD**,不需要预收集反馈对

🛠️ 实操指南:怎么跑、花多少钱

方案一:Tinker 云(零 GPU,最简单)⭐推荐入门

Tinker 是一个训练 API 云平台,4 个函数搞定:forward_backwardoptim_stepsamplesave_state

步骤

1. 注册 Tinkerauth.thinkingmachines.ai/sign-up

2. 安装 OpenClaw 扩展

`bash

# 复制 rl-training-headers 到 OpenClaw extensions 目录

plugins enable rl-training-headers

gateway restart

`

3. 启动训练

`bash

cd openclaw-tinker

export TINKER_API_KEY="your-key"

python run.py --method combine \

--model-name Qwen/Qwen3-8B \

--batch-size 16 --prm-m 1 \

--w-opd 1.0 --w-rl 1.0

`

4. 配置 openclaw.json:把模型指向 http://localhost:30000/v1

5. 正常聊天。系统自动收集→打分→训练。

Tinker 价格(per M tokens)

模型采样训练
Qwen3-4B-Instruct$0.22$0.22
Qwen3-8B$0.40$0.40
Qwen3-30B-A3B$0.30$0.36
Qwen3-32B$1.47$1.47
DeepSeek-V3.1$2.81$3.38

月费估算(每天 50 轮对话,每轮 ~2K tokens):

模型月费
Qwen3-4B**$3-5**
Qwen3-8B**$5-10**
Qwen3-30B-A3B**$5-8**

方案二:本地 GPU(ub2 单卡 4090)


cd slime
bash ../openclaw-combine/run_qwen3_4b_openclaw_combine_lora.sh

方案三:8× GPU 集群(Full Fine-tuning)

默认配置需要 8× GPU。适合有 GPU 集群的团队。效果最好但成本最高。

OpenClaw 扩展原理

扩展 rl-training-headers 在每个 LLM API 请求中注入两个 HTTP header:

Header用途
`X-Session-Id```标识对话 session
`X-Turn-Type``main` / `side`用户对话 vs 系统维护(心跳/记忆/cron)

RL Server 根据这两个 header 把对话轨迹分组、过滤 side turn、只训练 main turn。

具体例子:学生场景

训练前:模型回复数学题时用 "bold"、分步骤、过度结构化——一眼 AI。

训练后(36 次交互):回复变得更自然、更口语化。学生正常给反馈("太正式了"、"别用这种格式"),模型自己学会了。

Qwen3.5-27B 能跑吗?

仓库没有现成的 27B OpenClaw-RL 脚本。现有 OpenClaw 脚本只覆盖 Qwen3-4B 和 Qwen3.5-4B。

但基础设施支持:

方案27B 可行性费用
**Tinker 云**✅ 改 `--model-name Qwen/Qwen3.5-27B`**$30-60/月**(是 4B 的 17 倍)
本地 LoRA需 2× A100 80GB 或 4× 4090ub2 单卡不够
本地 Full需 4-8× A100/H100不现实

性价比建议:Tinker 上跑 27B 不如用 Qwen3-30B-A3B(MoE,只激活 3B)——价格 $0.30/$0.36/M,比 27B 便宜 10 倍,推理速度也快得多。

方案对比

方案月费GPU 需求难度效果
**Tinker + Qwen3-4B**$3-5个性化够用
Tinker + Qwen3-8B$5-10更强
Tinker + Qwen3-30B-A3B$5-8MoE 性价比最高
Tinker + Qwen3.5-27B$30-60Dense 27B,贵
ub2 LoRA + Qwen3-4B电费1× 4090⭐⭐⭐同上,隐私更好
Full fine-tuneGPU 租金8× GPU⭐⭐⭐⭐⭐最强

> ⚠️ 训练出的小模型适合个性化(风格/偏好/格式),不适合替代大模型的推理能力。训练后的 4B 在复杂任务上仍然不如直接用 Claude Opus。

⚠️ 注意事项

1. 硬件门槛高:默认 8× GPU,即使 LoRA 也需要不少资源

2. 还在快速迭代:一个月内发了 7 个版本更新

3. 小模型限制:目前只支持 Qwen3-4B/8B,不是 Claude Opus 级别

4. 训练质量依赖反馈质量:垃圾反馈 → 垃圾模型

5. 和大模型 API 的对比:训练后的 4B 模型可能仍然不如直接用 Claude Opus

📊 评分

维度评分(/10)
创新性9.5 — "聊天即训练"的理念 + 异步 4 组件架构 + OPD 方法
技术深度9.5 — Binary RL + OPD + Combined,MDP 形式化严谨,论文 HF Daily Papers #1
实用性7.5 — 硬件门槛高,小模型效果有限
与 OpenClaw 关联10.0 — **直接为 OpenClaw 设计**,一等集成
行业影响9.0 — 个性化 Agent RL 训练的开源标杆
**综合****9.0**

报告由深度研究助手自动生成 | 2026-03-26

来源: GitHub / 论文