# 2603.10165_OpenClaw-RL: Train Any Agent Simply by Talking * 首页: * PDF: * 引用: * 组织: * 链接: * GitHub: ## 总结 ![](https://img.zhaoweiguo.com/uPic/2026/03/6B1Pwb.png) Figure 1 | OpenClaw-RL infrastructure overview. ![](https://img.zhaoweiguo.com/uPic/2026/03/BstqVu.png) Figure 3 | Method Overview. For personal agents, we support both binary-reward optimization and on-policy distillation training. ## From Moonlight ### 三句摘要 1. 💡 OpenClaw-RL提出了一个创新的框架,将所有agent交互产生的下一状态信号(如用户回复、工具输出)作为实时的在线学习来源,从而能同时训练个人和通用AI代理。 2. 🛠️ 该系统通过两种互补方法从这些信号中提取信息:利用PRM裁判将评估信号转化为标量奖励的Binary RL,以及使用Hindsight-Guided OPD从指令信号中提取文本提示并提供更精细的token级方向性优势监督。 3. 🚀 其异步解耦架构确保了策略服务、奖励判断和模型训练的无缝并行运行,实现了零中断的在线优化,并通过在个人和通用代理任务上的实证验证了其有效性和可扩展性。 ### 关键词 - OpenClaw-RL: OpenClaw-RL是一个统一的框架,旨在从个人代理和通用代理的交互中,实时在线地恢复“下一状态信号”中的两种信息:评估信号和指令信号。它适用于多种场景,包括个人对话、终端执行、图形用户界面(GUI)交互、软件工程(SWE)任务和工具调用环境。该框架基于完全解耦的异步架构,支持连续训练,无需预先收集数据。 - Next-state signals: 下一状态信号是每次代理交互后产生的通用信号,例如用户回复、工具输出、终端或GUI状态变化,或测试结果。OpenClaw-RL独创性地将其作为实时在线学习的来源,从中提取评估信息和指令信息。 - Evaluative signals: 评估信号是下一状态信号中编码的一种信息形式,它隐含地表示代理的行动表现如何,可视为对行动的评分。例如,用户的重复查询表示不满,通过的测试表示成功,错误跟踪表示失败。在OpenClaw-RL中,这些信号通过PRM判别器被提取为标量奖励。 - Directive signals: 指令信号是下一状态信号中编码的另一种信息形式,它指明代理的行动应该如何不同,通常在标记(token)层面提供具体的修正方向。例如,用户明确指出“你应该先检查文件”,或详细的SWE错误跟踪暗示了具体的修正方向。OpenClaw-RL通过事后引导式在线策略蒸馏(Hindsight-Guided On-Policy Distillation, OPD)来恢复这些信号。 - PRM judge: PRM(过程奖励模型)判别器是OpenClaw-RL中的一个组件,负责根据随后的下一状态信号评估代理行动的质量。对于个人代理,它根据用户回复或工具结果判断满意度/不满意度,并通常通过多数投票机制分配标量奖励(例如+1、-1、0)。对于通用代理,它判断环境反馈是否表明任务取得了进展。这为长期任务提供了密集的、分步骤的“过程奖励”。 - Hindsight-Guided On-Policy Distillation (OPD): 事后引导式在线策略蒸馏(OPD)是OpenClaw-RL中用于个人代理的一种方法,它将指令性的下一状态信号转化为标记(token)层面的教师监督。该方法包括从下一状态中提取简洁的文本提示,通过将该提示添加到原始提示中来构建一个“增强的教师上下文”,然后根据模型在增强上下文(教师)和原始上下文(学生)下的对数概率差距计算标记层面的优势值。这为策略改进提供了详细的方向性指导。 - Asynchronous Pipeline: 异步流水线是OpenClaw-RL的核心架构原则。它包含四个完全独立的异步循环:策略服务、环境托管、PRM判别和策略训练。这种解耦设计确保了组件之间互不阻塞,从而支持从实时异构交互流中进行持续训练,且不会中断服务或要求批量处理数据。 - Personal Agents: 个人代理是OpenClaw-RL支持的一种代理类型,通常在个人用户的设备上进行对话式交互(例如OpenClaw)。对于这类代理,环境即用户的设备,提供了稀疏、基于会话且高度个性化的交互流。OpenClaw-RL通过恢复对话信号(用户重复查询、纠正、明确反馈)使这些代理在正常使用中自动改进。 - General Agents: 通用代理是OpenClaw-RL支持的一类代理,旨在实现各种真实世界场景下的可扩展强化学习训练。这包括终端代理、GUI(图形用户界面)代理、SWE(软件工程)代理和工具调用代理,它们通常托管在云服务上以实现大规模并行化。OpenClaw-RL利用这些环境中的结构化执行信号进行训练。 - Binary RL: 二元强化学习是OpenClaw-RL为个人代理提供的一种优化选项。它使用PRM将评估性的下一状态信号(例如,用户满意度/不满意度)转化为标量过程奖励(例如+1、-1、0)。训练目标是标准的PPO风格截断代理目标函数,其中奖励(优势值)由PRM提供的标量结果决定。这种方法提供了覆盖范围广但信号粗糙的训练。 - Process Rewards: 过程奖励是指在代理交互的每一步或每个回合中,根据即时的下一状态信号所分配的奖励。与“仅结果”奖励(仅在最终步骤给出)不同,过程奖励为长时间任务的整个过程提供了密集的信用分配。在OpenClaw-RL中,这些奖励由PRM判别器根据实时下一状态信号推断得出,并被认为对代理任务至关重要。 - SGLang: SGLang是OpenClaw-RL中用于策略服务(向请求提供代理响应)和PRM服务器的框架。它是OpenClaw-RL异步流水线中四个解耦组件之一。 - Megatron: Megatron是OpenClaw-RL中用于训练引擎的框架。它是OpenClaw-RL异步流水线中四个解耦组件之一,负责策略训练。 - Slime: Slime是OpenClaw-RL所基于的一个框架,尤其为通用代理的可扩展训练基础设施提供了支持。它支撑了OpenClaw-RL完全解耦的异步架构,使得能够从实时部署中进行持续训练,并实现零服务中断和平滑的权重更新。 ### 核心 这篇论文的核心在于提出并实现了一个名为 **OpenClaw-RL** 的统一强化学习(RL)框架。该框架的根本洞察是:**任何智能体交互后产生的“下一状态信号”(next-state signals),无论是用户回复、工具输出、终端或图形用户界面状态变化,还是测试结果,都包含着宝贵的学习信息,而这些信息常常被现有系统所忽略。** 具体来说,OpenClaw-RL 认为这些下一状态信号编码了两种形式的信息,并且可以被普遍应用于训练同一个策略: 1. **评估信号(Evaluative signals)**:这些信号隐含地指示了先前动作的表现好坏。OpenClaw-RL 通过“过程奖励模型”(PRM judge)将这些信号提取为标量奖励。 2. **指令信号(Directive signals)**:这些信号提供了关于动作应该如何改进的直接指导,甚至可以细化到标记(token)层面。OpenClaw-RL 通过“事后引导式在线策略蒸馏”(Hindsight-Guided On-Policy Distillation, OPD)方法来恢复这些更丰富的方向性监督信号。 该框架最大的创新点在于其 **统一性** 和 **在线学习能力**: * 它能够将个人对话、终端执行、GUI 交互、软件工程(SWE)任务和工具调用等多种异构交互流,**同时** 作为实时、在线的学习来源,用于训练同一个策略。 * 其异步解耦的架构(包括策略服务、环境托管、PRM 判别和策略训练)确保了模型可以在服务的同时进行持续学习,实现“零服务中断”和“优雅权重更新”。 * 论文展示了结合二元强化学习(Binary RL)和 OPD 方法,可以为个人智能体带来显著的个性化改进,同时也能为通用智能体(如终端、GUI、SWE、工具调用)提供可扩展的 RL 训练,尤其强调了“过程奖励”(Process Rewards)对长周期任务的重要性。 简而言之,OpenClaw-RL 的核心理念是:**通过挖掘智能体与环境交互中无处不在的“下一状态信号”,实现智能体的持续在线学习和自我提升,从而让智能体“越用越聪明”**。 ### 摘要 OpenClaw-RL是一个为AI智能体设计的强化学习(RL)框架,其核心洞察在于:每次智能体交互都会产生一个next-state信号(如用户回复、工具输出、终端或GUI状态变化),这些信号是通用且可以同时用于训练同一个策略的在线学习来源。现有系统未能充分利用这些信号作为实时的在线学习来源。OpenClaw-RL旨在回收这些被浪费的evaluative信号(指示动作执行的好坏)和directive信号(指示动作应如何改进)。 **核心方法论:** OpenClaw-RL采用异步解耦架构,包含四个独立运行的组件:策略服务(Policy Serving)、环境(Environment)、奖励判断(PRM Judging)和策略训练(Policy Training)。这种设计确保了各组件之间无阻塞依赖,实现了连续训练而服务不中断。 1. **回收Evaluative信号:二元RL(Binary RL)** 二元RL通过一个过程奖励模型(PRM)将next-state信号转化为标量过程奖励。对于每个动作$a_t$和next-state $s_{t+1}$,PRM判断其质量,输出$r \in \{+1, -1, 0\}$。PRM通过多次独立查询(例如$m$次)并进行多数投票(MajorityVote)来确定最终奖励$r_{final}$。 训练目标是一个标准的PPO风格的截断代理目标(clipped surrogate objective),并结合了KL散度惩罚: $$L = L_{pg} + \beta_{KL} \cdot L_{KL}$$ 其中,$L_{pg} = -\mathbb{E}_t \left[ \min(\rho_t A_t, \text{clip}(\rho_t, 1 - \epsilon, 1 + \epsilon_{high}) \cdot A_t) \right]$。这里,$\rho_t = \frac{\pi_\theta(a_t | s_t)}{\pi_{old}(a_t | s_t)}$是重要性采样比,优势函数$A_t = r_{final}$。$\epsilon$和$\epsilon_{high}$是PPO的裁剪参数,$\beta_{KL}$是KL散度系数。 2. **回收Directive信号:Hindsight-Guided On-Policy Distillation (OPD)** OPD将next-state信号转化为token级别的指导性监督。它解决标量奖励无法提供细粒度方向性反馈的问题。 * **步骤1:Hindsight Hint提取。** 如果next-state信号包含有用的纠正信息,PRM会提取一个简洁、可操作的textual hint,格式为`[HINT_START]...[HINT_END]`,并返回得分和提示。 * **步骤2:Hint选择和质量过滤。** 从多个PRM判断结果中选择得分高且信息量最丰富的hint(通常是字符数最多的有效hint)。若无有效hint,则丢弃该样本。这确保了OPD训练的样本质量。 * **步骤3:增强教师上下文构建。** 将提取的hint附加到原始用户消息中,形成一个增强提示$s_{enhanced} = s_t \oplus \text{hint}$。这模拟了如果用户在一开始就给出纠正提示,模型应该如何反应。 * **步骤4:Token级别优势计算。** 策略模型在$s_{enhanced}$下对原始响应$a_t$进行强制输入,计算每个token的log-probabilities。Token级别的优势函数$A_t$定义为: $$A_t = \log \pi_{teacher}(a_t | s_{enhanced}) - \log \pi_\theta(a_t | s_t)$$ 其中,$\pi_{teacher}$是模型在增强上下文下的分布,$\pi_\theta$是模型在原始上下文下的分布。正的$A_t$表示教师模型赋予该token更高的概率,学生模型应增加其权重;负的$A_t$则反之。这种方法提供了比标量奖励更丰富的per-token方向性指导。 3. **二元RL和OPD的结合** Binary RL和OPD是互补的。Binary RL提供广泛的梯度覆盖,适用于所有可评分的交互;OPD则在存在丰富指导性信号的样本上提供高分辨率的token级校正。OpenClaw-RL通过加权损失将两者结合,共享PPO损失,仅优势函数计算不同: $$A_t = w_{binary} r_{final} + w_{opd} (\log \pi_{teacher}(a_t | s_{enhanced}) - \log \pi_\theta(a_t | s_t))$$ 默认情况下,$w_{binary} = w_{opd} = 1$。 4. **通用智能体的分步奖励(Step-wise Reward)** 对于长周期任务,仅依赖最终结果(outcome)的奖励(outcome-only rewards)会导致梯度稀疏。OpenClaw-RL通过PRM为每一步(turn)分配奖励,基于next-state信号提供密集的信用分配。最终的奖励结合了outcome和process rewards: $$Reward = o + \sum_{i=1}^m r_i/m$$ 其中$o$是最终结果奖励,$r_i$是PRM独立分配的单步奖励。为了在没有明确状态集群的情况下进行标准化,OpenClaw-RL直接对具有相同步骤索引的动作进行分组。 **实验验证:** OpenClaw-RL在个人智能体(通过对话信号学习)和通用智能体(终端、GUI、SWE、工具调用)两个方面进行了验证。实验结果表明,在个人智能体场景下,二元RL和OPD的结合带来了显著的优化效果。在通用智能体场景下,该框架支持大规模环境并行化,并验证了分步奖励对于长周期任务的重要性。 ## Abstract ## 1. Introduce ### 核心观点概述: 作者指出,当前大多数AI代理在与环境交互时虽然会收集大量数据,但这些数据仅用于生成下一步动作的上下文,而没有被用于在线学习。实际上,这些“next-state信号”(下一状态信号)中蕴含了对前一步动作的**隐式评估**和**指导信息**,是宝贵的在线学习资源。 --- ### 1.1 Waste 1 — Evaluative signals(评估信号) **重点内容:** - **next-state信号包含评估信息**:例如用户回复、测试结果、GUI状态变化等,都隐含着对前一步动作的好坏评价。 - 用户重新提问 → 表示不满意; - 测试通过 → 表示成功; - 错误追踪 → 表示失败。 - **这些信号天然构成过程奖励(process reward)**,无需额外标注,但目前仅在数学推理任务中被PRM(Process Reward Model)研究使用 [lightman2023let, wang2024math, cui2025process]。 - **在个人代理中**,这种信号可用于逐轮对话中捕捉用户满意度; - **在通用代理中**,它提供了长周期任务所需的密集奖励信号 [wang2026rlanything]。 **非重点内容:** - 当前系统要么忽略这些信号,要么只在离线数据中使用它们,依赖固定数据集或最终结果奖励。 --- ### 1.2 Waste 2 — Directive signals(指导信号) **重点内容:** - next-state信号不仅评分,还可能包含**具体修改方向**: - 用户说“你应该先检查文件” → 不仅指出错误,还给出修改建议; - SWE任务中的错误日志 → 可能暗示具体修正方向。 - **现有方法的局限性**: - RLVR方法使用标量奖励,无法提取方向性梯度 [shao2024deepseekmath, guo2025deepseek, hu2025open, yu2025dapo]; - 蒸馏方法依赖预处理反馈-响应对,而非实时信号 [shenfeld2026self, hubotter2026reinforcement]; - 回顾重标签(hindsight relabeling)和上下文增强蒸馏方法虽有效,但仍在固定数据集上运行 [zhang2023wisdom, yang2024buffer, yang2025supercorrect]; - 并行工作 [kleinebuening2026aligning] 利用next-state信息提示策略,但纠正信息仍为隐式。 --- ### 1.3 OpenClaw-RL 框架介绍 **重点内容:** - **目标**:统一回收两种next-state信号(评估与指导),适用于个人代理和通用代理,涵盖多种交互环境(对话、终端、GUI、SWE、工具调用)。 - **架构特点**: - 基于 slime [slime_github],采用**完全解耦的异步架构**; - 政策服务、rollout收集、PRM评分、策略训练四个模块**独立运行,无阻塞依赖**; - 支持从部署中持续学习,而非传统RL的批量数据收集。 - **两种优化方法**: 1. **Binary RL(二值RL)**:使用PRM将对话转化为标量过程奖励; 2. **Hindsight-Guided On-Policy Distillation(OPD)**: - 从next-state中提取文本提示; - 构建增强的教师上下文; - 将token级别的方向性监督蒸馏回学生模型,提供标量奖励无法提供的训练信号。 - **实验结果**: - 两种方法结合加权损失函数,显著提升性能; - 框架可扩展至终端、GUI、SWE、工具调用等通用代理训练; - 集成PRM与可验证结果,提供密集且可靠的监督; - 支持大规模环境并行部署于云服务。 --- ### 1.4 Contributions(贡献) **重点内容:** 1. **将next-state信号作为在线学习源**: - 识别其包含的评估与指导信息; - 支持多种交互类型(对话、终端、GUI、SWE、工具调用)。 2. **OpenClaw-RL系统架构**: - 第一个统一多流交互的系统; - 支持无中断服务、多轮会话跟踪、平滑权重更新、灵活PRM支持、大规模环境并行。 3. **两种互补的信号回收方法**: - Binary RL:通过PRM获得密集标量奖励; - Hindsight-Guided OPD:提取文本提示,构建增强教师上下文,提供token级方向性监督。 4. **实证验证广泛有效**: - 在个人代理个性化与通用代理RL任务中验证; - 证明Binary RL与Hindsight-Guided OPD互补,联合使用效果更佳; - 验证过程奖励与结果奖励结合的有效性。 --- 如需继续总结后续章节(如方法、实验等),欢迎继续提供内容。 ## 2 Problem Setting 本节介绍了 OpenClaw-RL 所基于的强化学习框架,强调其适用于多种交互场景的灵活性,并将每个交互流形式化为一个马尔可夫决策过程(MDP)。 ### 核心设定: OpenClaw-RL 基于策略 πθ,能够同时处理多个交互流,并将这些交互流与推理流程解耦,从而适用于多种智能体场景,包括: - 个人代理对话(personal agent conversations) - 终端执行(terminal executions) - 图形界面交互(GUI interactions) - 软件工程任务(SWE tasks) - 工具调用轨迹(tool-call traces) 每个交互流被建模为一个 MDP,记作 (𝒮,𝒜,𝒯,r),包含以下四个要素: --- ### 1. 状态(State) - st ∈ 𝒮:表示在第 t 轮时的完整对话或环境上下文。 > ✅ **重点**:状态是当前交互历史的完整表示,是策略 πθ 的输入。 --- ### 2. 动作(Action) - at ∈ 𝒜:由策略 πθ 生成的一段 token 序列,表示智能体的响应。 > ✅ **重点**:动作是模型输出的文本,直接影响后续环境状态。 --- ### 3. 状态转移(Transition) - 𝒯(st+1 | st, at):环境决定性地根据当前状态和动作给出下一个状态。 - st+1 可以是用户的回复、执行结果或工具输出。 > ✅ **重点**:转移是确定性的,下一状态由环境反馈决定。 --- ### 4. 奖励(Reward) - r(at, st+1):通过 PRM(过程奖励模型)判断器从下一状态中推断出的奖励。 > ✅ **重点**:奖励依赖于动作和下一状态,提供更细粒度的学习信号。 --- ### 与传统 RLVR 的对比 - 在传统 RLVR(强化学习与验证)中,整个轨迹的最终结果 o 作为唯一奖励信号。 - 而 OpenClaw-RL 利用的是**每一步的奖励信号 r(at, st+1)**,这种信号更丰富,尤其当 st+1 包含对动作改进方向的明确指示时。 > ✅ **关键创新点**:使用**在线策略蒸馏**(on-policy distillation)将这些方向性信号转化为 token 级别的教师监督信号,从而实现策略的定向优化。 引用文献支持: - Agarwal et al., 2024(策略蒸馏) - Hubotter et al., 2026(强化学习中的方向信号利用) --- ### 总结 本节为后续方法奠定了理论基础,强调了 OpenClaw-RL 在多模态交互设置下的通用性,并通过 MDP 框架形式化问题,重点突出了**过程奖励建模**和**策略蒸馏机制**在提升策略学习效率中的作用。 ## 3 OpenClaw-RL Infrastructure: Unified System for Personal and General Agents ### 3.1 四个解耦组件的异步流水线 OpenClaw-RL 的核心架构理念是**完全解耦**,将以下四个组件设计为**完全独立的异步循环**,彼此之间无阻塞依赖: 1. **策略服务(Policy Serving)** 2. **环境托管(Environment Hosting)** 3. **奖励判断(PRM Judging)** 4. **策略训练(Policy Training)** 它们之间的数据流如下: > Policy Serving → Environment → Reward Judging → Policy Training > (SGLang)  (Http / API) (SGLang / API) (Megatron) 这种异步设计使得每个组件可以并行运行,互不等待。例如,在模型处理新请求的同时,PRM(偏好奖励模型)可以评估之前的响应,训练器可以进行梯度更新。 **重点优势:** - 支持从**实时、异构交互流**中进行**连续训练**。 - 各个交互流无需暂停或批处理来等待其他组件。 - 对于**个性化智能体**,通过私有 API 部署,保证安全,且模型更新不会中断推理。 - 对于**大规模通用智能体训练**,缓解了长周期 rollout 带来的“长尾问题”。 --- ### 3.2 面向个性化智能体的会话感知环境服务器 个性化智能体的环境是用户的设备,通过私有 API 与 RL 服务器连接。每个 API 请求分为两类: - **主线对话(Main-line turn)**:包含智能体的主要响应和工具执行结果,用于生成训练样本。 - **旁支对话(Side turn)**:如辅助查询、记忆整理、环境切换等,仅转发,不用于训练。 **关键机制:** - RL 框架能精确识别哪些对话属于哪个会话,实现**针对性训练**。 - 当前仅对主线对话进行训练。 - 每个新主线请求中包含对上一轮响应的反馈(用户回复或环境执行结果),作为下一状态信号 $ s_{t+1} $,用于奖励计算。 --- ### 3.3 可扩展性:从单用户个性化到大规模部署 OpenClaw-RL 支持从**单用户个性化智能体**到**大规模多环境通用智能体部署**的完整范围。 - **个性化场景**:环境为单个用户设备,交互稀疏、基于会话、高度个性化。 - **通用场景**:基于 slime 框架,继承其可扩展训练能力,并进一步支持云托管环境(见 3.4 节)。 **大规模训练能力:** - 云服务上可运行数百个并行环境。 - 产生密集的结构化执行信号流,支持可扩展的强化学习训练。 --- ### 3.4 支持多种现实世界场景 OpenClaw-RL 支持多种通用智能体场景,涵盖最常见的现实部署设置(见表1)。 | 场景 | 环境 | 下一状态信号 | 周期长度 | | --- | --- | --- | --- | | OpenClaw | 个人设备 | 用户响应 / 工具调用结果 | 长 | | 终端 | Shell 执行沙箱 | stdout/stderr, 退出码 | 长 | | GUI | 屏幕状态 + 辅助树 | 视觉状态差异、任务进度 | 长 | | SWE | 代码仓库 + 测试套件 | 测试结果、diff、静态分析 | 长 | | 工具调用 | API/函数执行 | 返回值、错误追踪 | 中 | **各场景说明:** - **终端智能体**:高效、低成本,适合与 LLM 的文本接口结合。 - **GUI 智能体**:处理视觉界面和指针交互,适用于更通用的计算机任务。 - **SWE 智能体**:通过测试、diff 和静态分析提供丰富的执行反馈,是代码类任务的关键。 - **工具调用智能体**:通过调用外部工具提升推理能力和事实准确性。 --- ### 3.5 非阻塞记录与可观测性 所有交互和奖励评估都**实时记录为 JSONL 格式**,包括: - 完整消息历史 - 提示/响应文本 - 工具调用 - 下一状态内容 - PRM 每票评分 - 选择的提示(OPD) - 接受/拒绝决策 **关键设计:** - **非阻塞写入**:日志写入在后台线程中“即发即忘”,不增加服务或 PRM 路径的延迟。 - **日志清理机制**:在每次权重更新边界清除记录,确保日志始终对应单一策略版本。 --- ### 总结图示(图3) 图3展示了 OpenClaw-RL 的方法概览: - 对于**个性化智能体**,支持: - 二值奖励优化(Binary-reward optimization) - 在策略蒸馏训练(On-policy distillation) - 实验表明,两者结合显著提升性能。 - 对于**通用智能体强化学习**,除了标准 RLVR(Reinforcement Learning with Value Regularization)外,还提供: - **逐步骤奖励机制** - 一种简单但有效的标准化方法 [wang2026rlanything] --- **总结:** OpenClaw-RL 是一个统一、高效、可扩展的强化学习基础设施,既支持个性化智能体的实时训练,也支持大规模通用智能体的多样化部署。其核心在于**异步解耦架构**、**会话感知机制**、**多场景兼容性**和**非阻塞日志系统**,为未来智能体系统的持续进化提供了坚实基础。 ## 4. Learning from Next-State Signals: Unified RL Across Interaction Types 本章提出了一种统一的强化学习(RL)方法,适用于多种交互类型(如对话、终端交互、GUI、SWE任务、工具调用等),通过将**下一状态信号**(next-state signals)转化为策略梯度来训练智能体。 --- ### 4.1 Binary RL for Personal Agent 将评估性下一状态信号转化为**标量过程奖励**(scalar process rewards),用于策略优化。 #### 4.1.1 PRM Judge Construction via Majority Vote - 使用一个**PRM(Process Reward Model)判断模型**,根据动作 $ a_t $ 和下一状态 $ s_{t+1} $ 生成奖励 $ r \in \{+1, -1, 0\} $: $$ \text{PRM}(a_t, s_{t+1}) \rightarrow r \in \{+1, -1, 0\} $$ - 判断依据:用户反馈或工具调用结果。 - 为提高鲁棒性,进行**多次独立查询**,取**多数投票结果**作为最终奖励: $$ r_{\text{final}} = \text{MajorityVote}(r_1, \ldots, r_m) $$ #### 4.1.2 RL Training Objective - 使用**PPO风格的裁剪代理目标函数**(clipped surrogate objective)进行训练: $$ \rho_t = \frac{\pi_\theta(a_t \mid s_t)}{\pi_{\text{old}}(a_t \mid s_t)},\quad \mathcal{L}_{\text{pg}} = -\mathbb{E}_t\left[\min\left(\rho_t A_t, \text{clip}(\rho_t, 1-\varepsilon, 1+\varepsilon_{\text{high}})\cdot A_t\right)\right] $$ $$ \mathcal{L} = \mathcal{L}_{\text{pg}} + \beta_{\text{KL}} \cdot \mathcal{L}_{\text{KL}} $$ - 参数设置:$\varepsilon = 0.2$, $\varepsilon_{\text{high}} = 0.28$, $\beta_{\text{KL}} = 0.02$ - 与 GRPO 不同,本方法适用于**实时对话场景**,无法进行标准化处理。 --- ### 4.2 Hindsight-Guided On-Policy Distillation (OPD) for Personal Agent 将方向性下一状态信号转化为**token级别的监督信号**,提升策略的细粒度控制。 #### 4.2.1 Why Token-Level Supervision from Next-State Signals? - 标量奖励(Binary RL)丢失了下一状态中丰富的**token级修正信息**。 - 例如用户说“你应该先检查文件”,不仅说明错误,还指出了应修改的token。 #### 4.2.2 Token-Level OPD ##### Step 1. Hindsight hint extraction - 判断模型输出: $$ \text{Judge}(a_t, s_{t+1}) \rightarrow \{\text{score} \in \{+1, -1\}, \text{hint} \in \mathcal{T}^*\} $$ - 若 score = +1,则生成一个简洁的 hint,封装在 [HINT_START]...[HINT_END] 中。 - 不直接使用 $ s_{t+1} $,而是由 judge 提取关键指令,避免噪声干扰。 ##### Step 2. Hint selection and quality filtering - 从多个 hint 中选择**最长且有效**的 hint(信息量最大)。 - 若无有效 hint,则**丢弃该样本**,强调信号质量而非数量。 ##### Step 3. Enhanced teacher construction - 将 hint 附加到用户消息中,构造增强提示: $$ s_{\text{enhanced}} = s_t \oplus \text{hint} $$ ##### Step 4. Token-level advantage - 在增强提示下,计算 token 级优势: $$ A_t = \log \pi_{\text{teacher}}(a_t \mid s_{\text{enhanced}}) - \log \pi_\theta(a_t \mid s_t) $$ - $ A_t > 0 $:应提高该 token 概率;$ A_t < 0 $:应降低该 token 概率。 - 相比于标量优势,提供**更细粒度的指导**。 --- ### 4.3 Combine Binary and OPD Methods 结合 Binary RL 与 OPD 的优势,形成统一训练策略。 | 维度 | Binary RL | OPD | Combined | | --- | --- | --- | --- | | 信号类型 | 评估型(好坏) | 方向型 | 评估+方向 | | 优势 | 序列级标量 | token级方向 | 混合序列+token级 | | 密度 | 所有评分回合 | 有hint的回合 | 所有评分回合 | | 反馈类型 | 用户/环境 | 明确修正 | 显式+隐式 | | 信号丰富度 | 每样本1个标量 | 每token1个值 | 每token1个值 | - **Binary RL**:覆盖广,适用于所有评分回合,无需 hint。 - **OPD**:精度高,适用于有明确修正信号的回合。 - **联合训练**:使用加权优势函数: $$ A_t = w_{\text{binary}} r_{\text{final}} + w_{\text{opd}} \left(\log \pi_{\text{teacher}}(a_t \mid s_{\text{enhanced}}) - \log \pi_\theta(a_t \mid s_t)\right) $$ 默认 $ w_{\text{binary}} = w_{\text{opd}} = 1 $ --- ### 4.4 Step-wise Reward for General Agentic RL 在长周期任务中,如何结合**过程奖励**与**结果奖励**? #### 4.4.1 Why Process Rewards Are Vital for Agentic Tasks - **结果奖励**(outcome-only)仅在最后一步提供梯度信号,中间步骤无监督。 - **过程奖励**(process reward)在每一步都提供反馈,实现**密集信用分配**(dense credit assignment)。 - 实验表明,结合 step-wise PRM 信号与 outcome 奖励,显著优于仅使用结果奖励(RLAnything)。 #### 4.4.2 Integrate Outcome and Process Rewards - 奖励计算方式: $$ R_t = o + \frac{1}{m} \sum_{i=1}^{m} r_i $$ 其中 $ r_i $ 是 PRM 对每一步的打分。 - 与 GRPO 不同,本方法**按 step index 分组**进行标准化,适用于真实场景(如终端代理)中难以聚类的状态。 --- ### 总结 第4章提出了一种基于下一状态信号的统一强化学习框架,涵盖以下核心方法: 1. **Binary RL**:将评估信号转化为标量奖励,适用于所有评分回合。 2. **OPD**:提取方向性 hint,生成 token 级别优势,提升策略细粒度。 3. **联合训练**:结合 Binary RL 与 OPD,兼顾广度与精度。 4. **Step-wise Reward**:在长周期任务中引入过程奖励,提升训练效率。 这些方法共同构成了一个**适用于多种交互类型的通用 RL 框架**,为 OpenClaw-RL 的实际应用提供了理论基础和实现路径。 ## 5 Experiments 本章从两个互补的轨道评估 OpenClaw-RL:**个人代理轨道**(Personal Agent Track)和**通用代理轨道**(General Agent Track),两者共享相同的基础设施和训练流程。 --- ### 5.1 个人代理设置(Personal Agent Setup) **优化效果通过仿真结果验证。** #### 5.1.1 使用 OpenClaw 做作业的学生代理 - **目标**:模拟学生使用 OpenClaw 完成作业,同时避免被识别为 AI 生成内容。 - **任务来源**:GSM8K 数据集。 - **模型**:Qwen3-4B。 - **训练参数**:学习率 1×10⁻⁵,KL 系数为 0,每收集 16 个样本触发一次训练。 - **关键点**:学生偏好决定输出是否像 AI 生成,强调个性化。 #### 5.1.2 使用 OpenClaw 批改作业的教师代理 - **目标**:生成具体且友好的反馈。 - **模型与参数**:同上。 - **重点**:提升反馈的自然性和友好度。 --- ### 5.2 通用代理设置(General Agent Setup) #### 5.2.1 模型 - **终端代理**:Qwen3-8B - **GUI 代理**:Qwen3VL-8B-Thinking - **SWE 代理**:Qwen3-32B - **工具调用代理**:Qwen3-4B-SFT - **PRM(过程奖励模型)**: - GUI:Qwen3VL-8B-Thinking - 工具调用:Qwen3-4B #### 5.2.2 数据集 | 代理类型 | 训练数据 | 评估数据 | |----------|----------|----------| | 终端 | SETA RL | 同训练集 | | GUI | OSWorld-Verified | 排除 chrome 和多应用任务 | | SWE | SWE-Bench-Verified | 同训练集 | | 工具调用 | DAPO RL | AIME 2024 | #### 5.2.3 超参数 - 学习率:10⁻⁶ - KL 系数:0.01 - Clip ratio:下限 0.2,上限 0.28 - 采样任务数: - GUI/SWE:8 个/步 - 终端:16 个/步 - 工具调用:32 个/步 - 每任务采样数:8 个 - 最大交互步数: - GUI:30 - SWE:20 - 终端:10 --- ### 5.3 个人代理轨道:从对话信号中学习(Learning from Conversational Signals) #### 核心结论: - **Q1:二值 RL vs. 在线蒸馏(OPD)** - **结论**:结合方法效果最佳,OPD 优于二值 RL,但因训练样本稀疏,效果显现较慢。 - **数据支持**:见表3。 **表3:不同方法在优化 OpenClaw 上的表现(基础分 0.17)** | 方法 | 更新8步 | 更新16步 | |------|---------|----------| | Binary RL | 0.25 | 0.23 | | OPD | 0.25 | 0.72 | | Combined | 0.76 | 0.81 | - **Q2:OpenClaw-RL 是否随时间提升个性化?** - **结论**:学生代理在 36 次互动后避免 AI 风格表达;教师代理在 24 次互动后写出更友好、具体的反馈。 - **图示支持**:图2(Introduction 部分)。 --- ### 5.4 通用代理:统一的终端、GUI、SWE 和工具调用 RL(Unified RL Across Terminal, GUI, SWE, and Tool-Call) #### 核心结论: - **Q3:OpenClaw-RL 是否具备通用代理 RL 框架的竞争力?** - **结论**:支持多种代理设置(终端、GUI、SWE、工具调用),具备大规模环境并行能力。 - **图示支持**:图4。 - **Q4:过程奖励模型(PRM)是否对长任务至关重要?** - **结论**:整合过程与结果奖励提升优化效果,但需更多资源。 - **数据支持**:见表4。 **表4:整合结果与过程奖励的表现** | 设置 | 整合奖励 | 仅结果奖励 | |------|----------|------------| | 工具调用 | 0.30 | 0.17 | | GUI | 0.33 | 0.31 | --- ### 总结 OpenClaw-RL 在两个轨道上均表现出色: - **个人代理轨道**:通过对话信号实现个性化优化,结合 OPD 与二值 RL 的方法效果最佳。 - **通用代理轨道**:支持多种代理类型(终端、GUI、SWE、工具调用),整合 PRM 显著提升长任务表现,具备大规模并行训练能力。 ## 6 Related Work ### RL for LLMs(重点内容) 本节回顾了强化学习(RL)在大语言模型(LLMs)中的应用发展: - **RLHF**(Reinforcement Learning from Human Feedback)是最早采用PPO(Proximal Policy Optimization)算法进行对齐训练的框架。 - **DPO**(Direct Preference Optimization)通过闭式解绕过显式奖励建模,提升了训练效率。 - **GRPO**(Group-Relative Preference Optimization)进一步提出了一种无需Critic网络的策略优化方法,被**DeepSeek-R1** 和 **DAPO** 扩展应用。 - **ReasonFlux** 采用**分层强化学习**(Hierarchical RL)来优化“思维模板”(Thought Templates),而非直接优化token级别的思维链(Chain-of-Thought, CoT),从而提升结构化推理能力。 - 上述方法均为**离线批量训练**(batch-offline),即数据收集与训练阶段分离,使用固定数据集。 - 相比之下,**OpenClaw-RL** 采用**在线学习**(online learning)方式,直接从实时交互信号中训练,**无需预收集数据**。 > **重点总结**:强调OpenClaw-RL与现有方法在训练模式上的根本区别——在线连续训练 vs 离线分阶段训练。 --- ### Agentic RL and tool-use(重点内容) 介绍了基于代理(agent)的强化学习与工具使用的发展: - **ReAct、Toolformer、FireAct** 是早期引入工具使用的代理范式,但依赖**人工演示**(demonstrations)而非在线RL。 - 后续工作如 **SWE-agent、ReTool、DigiRL、WebRL、ArCHer、LOOP** 等,将RL应用于特定代理任务(如代码生成、GUI操作等),但通常**针对单一环境**,训练流程专用。 - **DemyAgent、RLAnything、CURE** 推动了代理RL的发展,研究了**数据质量**与**奖励模型联合优化**的问题。 > **重点总结**:强调这些方法的局限性在于**环境专用性**,而OpenClaw-RL旨在实现**通用性强、在线适应性强的代理训练框架**。 --- ### Process reward models(重点内容) 讨论了**过程奖励模型**(Process Reward Models, PRMs)在数学推理等任务中的作用: - PRMs通过**步骤级监督**(step-level supervision)优于仅关注最终结果的监督方式。 - **Math-Shepherd** 使用**蒙特卡洛估计**(Monte Carlo estimation)自动生成步骤级监督信号,无需人工标注。 - **GenPRM** 通过生成式思维链验证扩展PRM能力。 - **ReasonFlux-PRM** 引入**轨迹感知评估**(trajectory-aware evaluation),支持长思维链推理。 - **PRIME** 从结果标签中学习隐式过程奖励。 - **RLAnything** 提出**大规模实验证明**:步骤级PRM信号对于长时程代理任务至关重要,联合优化的奖励模型甚至优于人工标注。 > **重点总结**:OpenClaw-RL将PRM扩展到**在线设置**,从**实时状态信号**中推断过程奖励,适用于**异构、长时程代理任务**。 --- ### On-policy distillation and hindsight methods(重点内容) 介绍了几类提升策略训练效率的方法: - **上下文增强方法**(Context-enrichment)通过结构化信息增强提示(prompt): - **Buffer of Thoughts** 检索高层思维模板; - **SuperCorrect** 从教师模型中提取模板用于错误纠正(DPO-based)。 - **回溯方法**(Hindsight-based)通过回顾信息重新标注经验: - **HER**(Hindsight Experience Replay)在传统RL中重定义目标; - **STaR** 通过答案提示理性化失败; - **HIR** 将反馈转化为指令重标注; - **Self-Rewarding** 利用LLM自身作为评判器进行迭代优化。 - **策略蒸馏方法**(On-policy distillation): - 如 **Agarwal et al. 2024、Shenfeld 2026、Hubotter 2026**,在反馈条件下训练LLM生成,加速训练但依赖预收集反馈-响应对。 > **重点总结**:OpenClaw-RL提出**Hindsight-Guided OPD**,融合以下三方面: 1. 从**实时状态信号**中提取文本提示(hindsight relabeling); 2. 在增强提示下,模型**自我教学**(self-distillation); 3. 利用**token级对数概率差距**提供方向性优势监督; > 无需预收集数据、外部教师模型或偏好对。 --- ### RL training infrastructure(重点内容) 最后讨论了支持大规模RL训练的基础设施: - **OpenRLHF、AReal、veRL、slime** 等系统通过**解耦rollout与训练引擎**,实现可扩展的RL训练。 - **OpenClaw-RL** 基于slime构建,支持**四个完全异步的循环**: - 服务(serving)、rollout、PRM评判、训练; - 实现从**实时多流交互**中**持续训练**,且**不影响服务**。 - 相比之下,现有系统多假设**批量数据收集**,不支持在线部署与训练的无缝衔接。 > **重点总结**:OpenClaw-RL在系统架构上实现了**在线连续训练能力**,是现有系统所不具备的。 --- ### 总结 本节系统回顾了与OpenClaw-RL相关的多个研究方向,包括: - LLM的强化学习方法(RLHF、DPO、GRPO、ReasonFlux); - 代理式RL与工具使用(ReAct、SWE-agent、RLAnything); - 过程奖励模型(PRMs、Math-Shepherd、GenPRM); - 策略蒸馏与回溯方法(Buffer of Thoughts、HER、Self-Rewarding); - 强化学习训练基础设施(OpenRLHF、slime)。 OpenClaw-RL在多个方面实现了突破: - **在线训练**(online learning); - **过程奖励的实时推断**; - **统一的Hindsight-Guided OPD机制**; - **支持持续服务与训练并行的系统架构**。 这些创新使其在**通用性、实时性、效率与可扩展性**上优于现有方法。 ## 7 Conclusion 本节总结了 OpenClaw-RL 的核心思想与成果。 ### 核心观点: - 每个智能体(agent)的交互都会产生一个**下一状态信号(next-state signal)**,该信号编码了智能体的表现情况,以及它本应如何采取不同行动。 - OpenClaw-RL 的核心洞察是:这些信号**不依赖于交互流(stream-agnostic)**,即它们可以跨不同类型交互统一使用,**一个策略(policy)可以同时从所有这些信号中学习**。 ### 交互类型: 以下多种交互方式产生的数据都被统一用于训练: - 个人对话(Personal conversations) - 终端执行(Terminal executions) - 图形界面交互(GUI interactions) - 软件工程任务(SWE tasks) - 工具调用轨迹(Tool-call traces) 这些数据**统一进入同一个训练流程**,实现了多任务、多模态的学习。 ### 学习方法: - **Binary RL**:将评估性信号(evaluative signals)转化为**标量过程奖励(scalar process rewards)**。 - **OPD(Online Policy Distillation)**:将指导性信号(directive signals)转化为**token 级别的优势监督(token-level advantage supervision)**。 - 两者结合带来了**显著的优化提升**。 ### 最终成果: - 模型能够在**同一训练过程中**: - 对不同用户进行个性化(personalization) - 提升在**长视野智能体任务**(long-horizon agentic tasks)上的表现 - 所有训练数据均来自模型**实际交互过程**,无需额外标注或监督信号。 ### 总结: OpenClaw-RL 提出了一种统一的学习框架,通过整合多种交互信号,实现了个性化与任务能力的同步提升,展示了在真实交互数据驱动下智能体学习的潜力。 ## Appendix A Algorithm Pseudocode ### Algorithm 1 Binary RL Pipeline(每轮主流程,双轨制) 该算法描述了在每轮交互中,如何收集数据、使用策略生成动作、记录日志概率,并通过 PRM(偏好奖励模型)进行评估,最终提交样本用于训练。 **重点步骤:** - **第1行:** 使用 `SGLang` 模型根据当前消息 `ℳt` 生成动作 `at` 和旧日志概率 `logpold`。 - **第2行:** 将 `prompt_ids`、`response_ids` 和 `logpold` 缓存起来,用于后续训练。 - **第4行:** 在下一轮中,从 `ℳt+1` 提取下一个状态 `st+1`(即用户反馈或环境反馈)。 - **第5行:** 使用 PRM(偏好奖励模型)对动作 `at` 和状态 `st+1` 进行并行评估,得到 `m` 个评分 `ri`。 - **第6行:** 对 `ri` 进行多数投票,得到最终奖励 `r`。 - **第7行:** 将奖励 `r` 广播给所有相关样本。 - **第8行:** 如果当前轨迹 `𝒯` 中没有有效样本,则应用“至少一个”保证机制(防止数据缺失)。 - **第9行:** 将样本提交至训练队列。 **说明:** - 该流程适用于强化学习中的数据收集与奖励估计,结合了语言模型(SGLang)、奖励模型(PRM)和轨迹处理。 - 多数投票机制增强了评估的鲁棒性。 - 异步并行评分(第5行)提高了效率。 --- ### Algorithm 2 OPD Pipeline(个性化代理轨道) 该算法描述了在个性化代理训练中,如何使用 Judge 模块评估动作,筛选有效反馈,并通过 Teacher 模型生成增强后的日志概率,用于优势估计。 **重点步骤:** - **第1行:** 输入当前动作 `at`、消息 `ℳt` 和旧日志概率 `logpold`,以及下一状态 `st+1`。 - **第1行(续):** 使用 `Judge` 模块对 `(at, st+1)` 进行评估,返回 `m` 个评分 `scorei` 和对应的反馈 `hinti`。 - **第2行:** 筛选出评分 `+1` 且反馈长度大于10的 `hint`,组成 `valid` 集合。 - **第3–6行:** 如果没有有效反馈(`valid` 为空),则丢弃该样本。 - **第7行:** 选择最长的 `hint` 作为最终反馈。 - **第8行:** 将原始消息 `ℳt` 与反馈 `hint` 合并,形成增强状态 `senhanced`。 - **第9行:** 使用 `Teacher` 模型在增强状态下生成当前动作 `at` 的新日志概率 `logπ_teacher`。 - **第10行:** 计算优势值 `At[k] = logπ_teacher[k] - logpold[k]`。 - **第11行:** 将包含教师日志概率的样本提交至训练队列。 **说明:** - OPD(Online Policy Distillation)机制通过反馈增强提升策略质量。 - `Judge` 负责筛选有效反馈,`Teacher` 负责生成更优策略分布。 - 优势估计基于教师模型与原始策略的对数概率差,用于策略更新。 --- **总结:** - **Algorithm 1** 是一个基于 PRM 的强化学习数据收集与奖励估计流程,适用于双轨训练。 - **Algorithm 2** 是 OPD 机制下的个性化代理训练流程,利用反馈增强和教师模型提升策略质量。 - 两者都强调了异步并行处理、反馈筛选和优势估计的重要性。 ## Appendix B More Optimization Examples ### B.1 学生设置 #### 示例 1(优化前后对比) **优化前:** 1. 一个六面骰子掷出大于3的概率是 **50%**(数字4、5、6,共3个)。 2. 连续两次掷出偶数的概率是 **25%**(每次有3个偶数,概率为 3/6 × 3/6 = 1/4)。 3. 两者概率差为 **25个百分点**(50% - 25%)。 使用相对百分比增长表示: $$ \frac{50\% - 25\%}{25\%} \times 100\% = 100\% $$ **答案:** 100% 更有可能。 **优化后:** - 详细解释了每个计算步骤: - 大于3的概率:3/6 = 50% - 两次偶数的概率:(3/6) × (3/6) = 25% - 相对差异:(50% - 25%) / 25% = 100% **结论:** 答案为 100%。 --- #### 示例 2(优化前后对比) **优化前:** - Sara总共需要 $70(夹克 $30 + 两双鞋各 $20)。 - 她已有 $10,通过 babysitting 赚了 $20(4 次 × $5),共 $30。 - 还需 $40。 - 每次割草赚 $4 → $40 / $4 = **10次**。 **答案:** Sara 需要割草 **10次**。 **优化后:** - 明确拆解了每一步: - 总费用:$30(夹克)+ 2×$20(鞋)= $70 - 已有资金:$10 + 4×$5 = $30 - 还需:$70 - $30 = $40 - 割草次数:$40 / $4 = 10次 **结论:** 答案为 **10次**。 --- ### B.2 教师设置 #### 示例 1(优化前后对比) **优化前:** - 回答正确,评价为“做得好”。 **优化后:** - 给出详细反馈: - 表扬学生分步计算 20 + 44 = 64,再计算 100 - 64 = 36 的逻辑清晰。 - 强调理解问题结构的能力。 **结论:** 强化了学生解题过程的肯定。 --- #### 示例 2(优化前后对比) **优化前:** - 正确答案:**189小时** **优化后:** - 详细反馈: - 正确将 3 周转换为 21 天(关键步骤)。 - 计算每位油漆工工作时间为 21 × (3/8) 天。 - 转换为小时:21 × (3/8) × 24 = 189 小时。 - 不需要除以4,因为题目问的是“每位油漆工”。 **结论:** 答案为 **189小时**,并给予高度评价。 --- ### 总结 - **学生部分**:优化后更清晰地展示了数学计算过程,强调关键步骤和逻辑推理。 - **教师部分**:优化后提供了更具体的反馈,强化了学生对问题结构的理解和执行能力。 - 所有示例都保持了原题结构,重点内容(如公式、步骤、答案)被详细讲解,次要内容则精简处理。 ## Appendix C Prompt Templates ### C.1 个性化代理:PRM 判定提示(Binary RL, Personal) #### 内容总结: 该提示模板用于训练或评估一个**过程奖励模型(PRM)**,用于判断AI助手的输出质量。 - **输入**:助手的输出 + 用户后续反馈。 - **任务**:根据反馈判断输出质量,给出评分。 - **有效评分**: - $\boxed{1}$:好(符合用户反馈) - $\boxed{-1}$:差(与反馈不符) - $\boxed{0}$:中性(无明显优劣) #### 重点: - 强调“**逐步思考**”后给出最终评分。 - 适用于**个性化场景**,即用户反馈对输出质量有直接影响。 --- ### C.2 个性化代理:OPD 回顾提示(OPD Hindsight Hint Prompt) #### 内容总结: 该模板用于提取**回顾性提示(hindsight hint)**,帮助模型在后续步骤中改进输出。 - **输入**:当前输出 + 下一状态(next state)。 - **任务**: - 判断下一状态是否提供了有用的信息来改进当前输出。 - 如果有,输出 $\boxed{1}$ 并提供一个**具体、可操作的提示**(1-3句话)。 - 如果没有,输出 $\boxed{-1}$,不提供提示。 #### 重点: - **提示必须具体**,不能模糊。 - 用于训练模型在生成过程中利用后续信息进行调整(OPD:Offline Policy Distillation)。 --- ### C.3 个性化代理:模拟器评估提示(Personalization Score Prompt) #### 内容总结: 用于评估助手的**首次响应**是否符合用户的**个性化偏好**。 - **输入**: - 问题 - 助手的首次响应 - 用户偏好([PREFERENCE]) - **输出**:一个评分,从以下中选择: - $\boxed{0}$, $\boxed{0.5}$, $\boxed{0.75}$, $\boxed{1}$, $\boxed{2.5}$ - **评分标准**: - 高分:响应风格、语气、细节、格式与偏好一致 - 低分:响应不符合用户期望 #### 重点: - 仅评估**首次响应** - 不提供解释,只输出评分 - 用于衡量个性化匹配程度 --- ### C.4 通用代理:PRM 判定提示(General Agent: PRM Judge Prompt) #### 内容总结: 该模板用于评估**终端代理**、**GUI代理**和**软件工程代理**的**最新一步操作**是否有效。 --- #### C.4.1 终端代理(Terminal) ###### 输入: - 任务指令 - 交互历史 - 当前步骤(包括助手文本、工具调用、工具结果) ###### 输出评分规则: - **+1**:如果满足以下所有条件: - 当前步骤是正确/有帮助的 - 工具调用格式正确 - 工具使用合理 - 工具结果表明有进展 - **-1**:否则(如错误、格式错误、无效工具调用、无进展) --- #### C.4.2 GUI代理(Graphical User Interface) ###### 输入: - 历史动作 + 图像 - 当前观察 + 图像 - 当前动作(含推理) - 执行后的下一状态图像 ###### 输出评分规则: - **+1**:如果满足以下所有条件: - 步骤与目标相关 - 动作在下一状态中可执行且合理 - 下一状态显示有进展 - **-1**:否则(如无关、无效、无变化、倒退) --- #### C.4.3 软件工程代理(SWE) ###### 输入: - GitHub问题描述 - 历史步骤摘要 - 当前步骤(含推理 + bash命令) - 命令执行结果(返回码 + 输出) ###### 输出评分规则: - **+1**:如果满足以下所有条件: - 命令执行无意外错误(returncode=0 或预期非零) - 步骤与诊断/修复问题相关 - 输出提供有用信息或编辑逻辑正确 - **-1**:否则(如命令失败、无关步骤、重复尝试、引入新bug、浪费步骤) --- ### 总结 | 模板类型 | 用途 | 输出评分 | 特点 | |----------|------|-----------|------| | PRM Judge (Personal) | 评估个性化输出质量 | $\boxed{1}, \boxed{-1}, \boxed{0}$ | 基于用户反馈判断 | | OPD Hindsight Hint | 提取回顾性提示 | $\boxed{1}, \boxed{-1}$ | 提供具体可操作建议 | | Personalization Score | 评估个性化匹配度 | $\boxed{0}, \boxed{0.5}, \boxed{0.75}, \boxed{1}, \boxed{2.5}$ | 仅评估首次响应 | | PRM Judge (Terminal) | 评估终端代理步骤 | +1 / -1 | 判断是否推进任务 | | PRM Judge (GUI) | 评估GUI代理步骤 | +1 / -1 | 结合图像状态判断 | | PRM Judge (SWE) | 评估软件工程代理 | +1 / -1 | 结合命令执行结果判断 | #### 重点内容: - 多数模板采用**二元评分**(+1/-1)或有限离散评分。 - 强调**具体、可操作的反馈**(如OPD提示)。 - 评估逻辑基于**是否推进任务**、**是否符合用户偏好**、**是否执行成功**。 - 涉及图像、命令行、GUI等多模态输入的处理。 ## Appendix D Hyperparameters 本节提供了不同实验设置下的完整超参数表格(表5),并对其进行了详细说明。 ### 表5:不同设置下的超参数表 | 参数 | 值 | 说明 | | --- | --- | --- | | **优化器(Optimizer)** | | | | 学习率(Learning rate) | $1 \times 10^{-6}$ | 恒定衰减 | | 权重衰减(Weight decay) | 0.1 | | | Adam 参数 $\beta_1, \beta_2$ | 0.9, 0.98 | | | **策略梯度(Policy gradient)** | | | | KL 系数 $\beta_{\text{KL}}$ | 0.01 | 使用低方差 KL 散度(k3) | | Clip 参数 $\varepsilon / \varepsilon_{\text{high}}$ | 0.2 / 0.28 | 非对称 PPO(asymmetric PPO) | | 熵系数(Entropy coefficient) | 0.0 | 熵最大化被禁用 | | **Rollout( rollout 过程)** | | | | 批量大小(Batch size) | 8(GUI, SWE)、16(终端)、32(工具调用) | 不同任务类型使用不同批量大小 | | 每个任务采样数(Sample per task) | 8 | | | 最大响应长度(Max response length) | 8192 tokens | | | 最大上下文长度(Max context length) | 16384 tokens | | | 最大交互步数(Max interactive steps) | 30(GUI)、20(SWE)、10(终端) | | | 温度参数(Temperature) | 1.0 | | | **PRM / 评判器(Judge)** | | | | 投票数 $m$ | 3(GUI)、1(其他) | 使用多数投票机制(majority vote) | | 温度参数(Temperature) | 0.6 | | | 最大生成 token 数(Max new tokens) | 4096(RL)、8192(OPD) | | | 最小提示长度(Min hint length) | 10 个字符 | OPD 质量过滤器 | ### 重点内容解析: 1. **优化器设置**: - 使用了 Adam 优化器,学习率为 $1 \times 10^{-6}$,权重衰减为 0.1,动量参数 $\beta_1=0.9, \beta_2=0.98$,适用于大多数深度学习训练任务。 2. **策略梯度设置(Policy Gradient)**: - KL 系数 $\beta_{\text{KL}} = 0.01$,用于控制 KL 散度的惩罚项,防止策略更新过大。 - 使用了非对称 PPO 的 clip 参数($\varepsilon=0.2, \varepsilon_{\text{high}}=0.28$),允许在更新策略时对正负偏差采用不同的限制。 - 熵系数设为 0,表示在训练中不鼓励探索。 3. **Rollout 设置**: - 批量大小根据任务类型变化,GUI 和 SWE 任务较小(8),终端任务较大(16),工具调用最大(32)。 - 最大响应长度和上下文长度分别为 8192 和 16384 tokens,说明模型支持长文本生成。 - 最大交互步数因任务而异,GUI 最多 30 步,SWE 20 步,终端任务仅 10 步。 4. **PRM / 评判器设置**: - 在 GUI 任务中使用 3 次投票($m=3$)进行多数投票判断,其他任务仅 1 次。 - 生成时使用较低的温度(0.6),以提高输出的确定性。 - RL 和 OPD 模式下最大生成 token 数不同,RL 为 4096,OPD 为 8192。 - OPD 中设置了最小提示长度(10 个字符),作为质量过滤条件。 ### 总结: 本附录提供了完整的超参数配置,涵盖了优化器、策略梯度、rollout 和评判器等多个方面。其中,不同任务类型(GUI、SWE、终端、工具调用)在批量大小、最大交互步数等方面有差异化设置,体现了模型在不同应用场景下的适应性。重点参数如 KL 系数、clip 参数、投票机制等对训练稳定性和评估准确性有重要影响。