← 回總覽

【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (2)--- On-Policy Distillation

📅 2026-05-27 20:53 罗西的思考 人工智能 2 分鐘 1747 字 評分: 87
强化学习 On-Policy Distillation OpenClaw-RL 知识蒸馏 RLHF
📌 一句话摘要 本文深入剖析了 OpenClaw-RL 框架中的 On-Policy Distillation (OPD) 机制,详细阐述了其原理、数学形式、与 PPO/DPO/KD 的区别,以及 Hindsight-Guided OPD 的具体实现。 📝 详细摘要 本文是 OpenClaw-RL 源码阅读笔记系列的第二篇,聚焦于其核心设计——On-Policy Distillation (OPD)。文章首先从解决传统 RL 稀疏奖励和离线 KD 分布偏移的两难困境出发,阐述了 OPD 的核心定位:让学生模型在自身生成的轨迹上学习,同时获得教师模型提供的逐步骤密集监督信号。随后,文章深入讲

📌 一句话摘要

本文深入剖析了 OpenClaw-RL 框架中的 On-Policy Distillation (OPD) 机制,详细阐述了其原理、数学形式、与 PPO/DPO/KD 的区别,以及 Hindsight-Guided OPD 的具体实现。

📝 详细摘要

本文是 OpenClaw-RL 源码阅读笔记系列的第二篇,聚焦于其核心设计——On-Policy Distillation (OPD)。文章首先从解决传统 RL 稀疏奖励和离线 KD 分布偏移的两难困境出发,阐述了 OPD 的核心定位:让学生模型在自身生成的轨迹上学习,同时获得教师模型提供的逐步骤密集监督信号。随后,文章深入讲解了 OPD 的核心原理、数学形式(反向 KL 散度)以及关键技术变体(G-OPD, OPCD, SDPO)。文章重点分析了 OpenClaw-RL 中特有的 Hindsight-Guided OPD,详细说明了如何从环境反馈的 next-state signal 中提取 Hint,构建增强上下文,并计算 Token 级优势值。最后,文章对比了标准 OPD 与 OpenClaw OPD 在 Teacher 构建、数据来源、KL 方向等方面的差异,并深入辨析了正向 KL 与反向 KL 在蒸馏中的不同行为。

💡 主要观点

- OPD 通过结合 On-Policy 采样与密集监督,解决了传统 RL 和离线 KD 的固有缺陷。 传统 RL 依赖稀疏奖励,训练效率低;离线 KD 存在分布偏移,泛化性差。OPD 让学生模型在自身生成的轨迹上学习,同时接收教师模型的逐 token 监督,兼顾了分布对齐与高效学习。

OpenClaw-RL 的 Hindsight-Guided OPD 利用环境反馈的 next-state signal 构建 Teacher。 通过从用户反馈或工具执行结果中提取简洁的 Hint,并将其拼接到原始上下文中,同一模型在增强上下文下的输出分布可作为 Teacher 分布,从而无需额外的大模型作为 Teacher。
OPD 使用反向 KL 散度,倾向于让学生模型产生精准、不瞎说的输出。 反向 KL 散度惩罚学生模型在 Teacher 不认可的区域产生高概率,因此训练后的模型倾向于集中在一个模式上,输出更确定,避免了正向 KL 可能导致的输出模糊问题。

💬 文章金句

- On-Policy Distillation(策略内蒸馏 / 同策略蒸馏) 是强化学习(RL)与知识蒸馏(KD)融合的训练范式,核心是让学生模型在自身生成的轨迹(On-Policy)上学习,同时获得教师模型提供的逐步骤密集监督信号。

  • OPD 本质是带密集隐式奖励的 KL 正则化 RL。
  • OpenClaw-RL 的核心观察是:它们其实天然包含了对上一步动作的监督,而且这种监督几乎是'免费'的,因为 agent 本来就在持续收到这些信号。
  • 反向 KL - '不要瞎说' (Mode-Seeking / Zero-Avoiding): 惩罚: Q(x) 高但 P(x) 低的地方 → student 不能在 teacher 不认可的地方有高概率。

📊 文章信息

AI 初评:87

来源:罗西的思考

作者:罗西的思考

分类:人工智能

语言:中文

阅读时间:54 分钟

字数:13298

标签: 强化学习, On-Policy Distillation, OpenClaw-RL, 知识蒸馏, RLHF

阅读完整文章

查看原文 → 發佈: 2026-05-27 20:53:00 收錄: 2026-05-28 02:00:26

🤖 問 AI

針對這篇文章提問,AI 會根據文章內容回答。按 Ctrl+Enter 送出。