强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (7)--- Policy Serving
0x00 概要本系列的目的是借着对 OpenClaw-RL 源码的学习来梳理强化学习的一些相关概念和思想。所以会有一些基础知识、扩展和发散OpenClaw-RL 只是一个切入点。而且因为整篇系列是一个整体所以有些概念的解读/学习会在不同的文章中出现还请大家谅解。OpenClaw-RL 是一个用于在线强化学习Online RL的框架专门针对智能体工具使用场景。它通过从环境反馈中提取过程奖励信号来训练语言模型支持三种主要模式openclaw-rl基于二元奖励的强化学习Binary RL / GRPOopenclaw-opd基于后见之明提示的在线策略蒸馏On-Policy Distillation, OPDopenclaw-combine联合方法在同一 PPO 更新中同时利用 RL reward 和 OPD teacher signalframeworkOpenClawAPIServer是OpenClaw-RL系统中的核心组件它充当OpenClaw环境与 SGLang推理服务之间的代理服务器负责收集训练数据、计算奖励并提交样本给强化学习训练流程。当然也可以认为OpenClawAPIServer即是 Proxy Server也是 Policy Serving。0x01 基础1.1 架构我们回顾 OpenClaw-RL 的系统架构图如下整体架构1.2 OpenClawAPIServer 的定位OpenClawAPIServer 这个名字其实不准确更准确的命名应该是OpenClawProxyServer 或OpenClawTrainingPipeline—它是连接Policy Serving、Reward Judging 和Policy Training 三个功能层的协调器Orchestrator而非其中任何一层的实现体。职责以 OpenClawAPIServer 为例它独自承担了几个职责职责 属于哪个组件 具体代码HTTP 代理转发用户请求 Policy Serving接口层 httpx.post(sglang_chat_url)拦截 response logprobs Policy Serving数据采集 _extract_logprobs_from_chat_response()PRM 评分 Reward Judging _fire_prm_scoring() / _opd_evaluate()构造训练 Sample 训练数据管道 _submit_turn_sample()开关控制503 训练-服务调度 submission_enabled.is_set()类比OpenClawAPIServer “前台服务员数据记录员不是“厨房Policy本身。类比 对应组件餐厅服务员接单、传菜 OpenClawAPIServer厨房真正做菜 SGLang GPU 4-5Policy 推理食品检验员给菜打分 SGLang GPU 6-7PRM/Judge餐厅管理系统记录点单数据 output_queue → Slime1.3 继承关系 方法覆盖OpenClawAPIServer、OpenClawOPDAPIServer 和 OpenClawCombineAPIServer 的关系如下OpenClawAPIServer (Binary RL 基类, 独立)├─ _submit_turn_sample() score-loss_mask, at-least-one├─ _maybe_submit_ready_samples() 检查 PRM task done└─ _fire_prm_scoring() 触发 PRM 异步OpenClawOPDAPIServer (独立类, 不继承 OpenClawAPIServer)├─ _submit_turn_sample() 独立实现├─ _maybe_submit_ready_samples() 改用 opd_evaluate task├─ _opd_evaluate() hint judge teacher lp 计算├─ _fire_opd_task() 触发 OPD 异步评估└─ _compute_teacher_log_probs() / _compute_teacher_topk_logprobs()OpenClawCombineAPIServer extends OpenClawOPDAPIServer├─ _submit_turn_sample() ← 覆盖: OPD/OPDRL 路径├─ _submit_rl_turn_sample() ← 新增: RL-only 路径 (teacherrollout)└─ _maybe_submit_ready_samples() ← 覆盖: 3路分发逻辑1.4 真实策略服务器OpenClawAPIServer 的技术栈FastAPIWeb框架异步UvicornASGI 服务器基于uvloop高并发httpx/aiohttp异步 HTTP 客户端调用 SGLang和PRM真正的Policy Server是SGLangGPU4-5PolicyQwen3-4B模型权重 (注: RL server 默认 SERVED_MODEL_NAME“qwen3-8b”, OPD server 默认“qwen3-4b”, 实际部署可通过环境变量覆盖)Policy ServerSGLang推理引擎监听sglang_router_ip:sglang_router_portOpenClawAPIServer不运行模型推理它只是SGLang前面的一层拦截代理。用户 → OpenClawAPIServerFastAPI, Proxy → SGLangGPU4-5← 真正的Policy Server↓ 拦截SGLang PRM (GPU 6-7) ← Reward Judge评分↓output_queue↓Slime ← Policy Training的数据入口请求处理调用链HTTP 入口chat_completions()回合判断_handle_main_turn()/_handle_side_turn()SGLang 转发forward_to_sglang()PRM 触发_fire_prm_scoring() →_prm_evaluate()样本提交maybe_submit_ready_samples()→output_queue.put()样本构建调用数据缓冲_buffer_record()→存入_pending_records状态刷新flush_pending_record()→添加下一状态样本构建_submit_turn_sample()→创建Sample 对象FastAPI Proxy 如何转发到 SGLangOpenClawAPIServer 通过 FastAPI Proxy 实现了对外的入口内部通过 SlimeRouter 路由到实际的 SGLang 推理引擎, 实现了接入层与推理层的解耦。完整端口与中间层架构如下图所示。7-中间层架构端口关系总结 (run_qwen3_4b_openclaw_rl.sh 配置):PORT30000- FastAPI Proxy 监听端口 (外部可见, OpenClaw App 连接此处)args.sglang_router_ip/port- Slime 自动分配, 传给 API Server 作为 sglang_chat_url 的目标- 指向 SlimeRouter (内部负载均衡层)args.prm_router_ip/port- PRM Engine 的 /generate 地址 (GPU 6-7)- API Server 用于发送评分请求1.5 对比标准 RL Policy Serving:rollout时SGLang只服务训练系统内部批量生成→批量打分→批量训练无外部访问架构[训练系统 ⇆ [SGLang] 内部通信OpenClaw Policy Serving:rollout 时SGLang同时服务实用户通过OpenClawAppPRM评分内部调用Teacher forward passOPD 时架构[用户手机] → [FastAPI Proxy] → [SGLang] 外部流量[PRM judge] → [SGLang] 内部调用[训练系统] ← [Proxy] 数据管道工程挑战这导致了独特的工程挑战标准 RL 不需要处理的问题 OpenClaw 需要处理───────────────────── ────────────────────────❌ API 认证 ✅ SGLANG_API_KEY❌ 并发控制 ✅ semaphore❌ 503 暂停 ✅ submission_enabled❌ session 管理 ✅ X-Session-Id❌ 流式传输 ✅ SSE streaming❌ 用户体验 ✅ 低延迟响应❌ 数据筛选 ✅ main vs side turn❌ 超时处理 ✅ session timeout总结OpenClaw 的根本范式转变标准 RL 训练系统是 “主人” → 它决定问什么、答几次、怎么评分OpenClaw 训练系统是 “寄生者” → 它寄生在真实对话上被动收集数据这导致OpenClaw-RL Serving 如下特点Rollout 被动等待不是主动生成Environment 真实用户不是模拟器PRM 即用即评不是预训练 RMPolicy 对外服务不是内部推理一切设计选择都源于这个范式转变。0x02 详细功能梳理OpenClawAPIServer 本质上是一个智能代理它不仅转发请求还负责收集强化学习所需的训练数据通过PRM评估助手响应质量并将高质量的数据提交给训练流程。OpenClawOPDAPIServer 则是OPD模式的专用API服务器。2.1 OpenClawAPIServer

相关新闻

找网站建设公司,三种公司千万别碰!

找网站建设公司,三种公司千万别碰!

找网站建设公司,三种公司千万别碰!第一,不给源码的,直接pass,前期的投入,后期一换服务商全都打水漂!第二类要选十年以上的网站建设公司,网站建设属于轻资产行业,时间越长…

2026/10/13 23:21:47 阅读更多 →
企业级AI模型接入的协议适配与安全合规选型指南

企业级AI模型接入的协议适配与安全合规选型指南

背景:2026年国内团队调用海外大模型的现实瓶颈 进入2026年下半年,以Claude Sonnet 5.1、Opus 4.8为代表的海外大模型,在复杂逻辑推演、超长上下文理解及代码生成领域的优势依然显著。然而,国内开发者在实际生产环境接入时&#xf…

2026/10/2 11:29:06 阅读更多 →
GLM与Kimi Code技术协同:AI编程助手API集成实战指南

GLM与Kimi Code技术协同:AI编程助手API集成实战指南

最近在AI编程助手领域,一个值得关注的现象是:智谱GLM团队的技术专家们开始频繁为Kimi Code功能"打Call"。这不仅仅是简单的商业互吹,而是标志着国产AI编程工具正在进入一个全新的发展阶段。 如果你还在纠结"豆包跟Kimi哪个好…

2026/10/14 0:17:25 阅读更多 →

最新新闻

MATLAB实现配电网二阶锥松弛最优潮流计算

MATLAB实现配电网二阶锥松弛最优潮流计算

1. 项目背景与核心价值配电网最优潮流(OPF)问题是电力系统运行中的经典优化命题。传统交流最优潮流模型由于非凸非线性特性,求解难度大且难以保证全局最优性。二阶锥松弛(Second-Order Cone Relaxation, SOCP)技术通过…

2026/10/14 0:17:46 阅读更多 →
tcpreplay 安装依赖全解析:libpcap、静态编译与版本冲突排查

tcpreplay 安装依赖全解析:libpcap、静态编译与版本冲突排查

简介:该资源是面向Linux运维及网络测试开发人员的离线安装工具包,解决内网或无外网环境下部署tcpreplay时依赖库难以获取的问题。压缩包共4个文件,其中包含gcc编译工具链的gz压缩包、libpcap源码tar包,以及一键安装脚本sh文件。整…

2026/10/14 0:17:46 阅读更多 →
阻塞矩阵预处理:面向硬件加速的大规模线性求解实战指南

阻塞矩阵预处理:面向硬件加速的大规模线性求解实战指南

1. 这不是数学课,而是一场数值计算的“交通疏导”实战很多人第一次看到“阻塞矩阵预处理”这个词,下意识会皱眉——又一个带着浓重学术味的术语,像高等代数课本里突然跳出来的冷峻公式。但如果你正在调试一个求解大规模线性方程组的程序&…

2026/10/14 0:17:46 阅读更多 →
Obtainium Emulation Pack应用清单全览:6大分类40+款模拟器,哪款最适合你?

Obtainium Emulation Pack应用清单全览:6大分类40+款模拟器,哪款最适合你?

【免费下载链接】Obtainium-Emulation-Pack An Obtainium import file containing an Android emulation pack 项目地址: https://gitcode.com/gh_mirrors/ob/Obtainium-Emulation-Pack 点击查看 免费下载 Obtainium Emulation Pack 是一个 Obtainium 导入文件&am…

2026/10/14 0:17:46 阅读更多 →
Decepticon Telemetry 深度指南:红队工具匿名遥测的取舍、分层架构与隐私边界

Decepticon Telemetry 深度指南:红队工具匿名遥测的取舍、分层架构与隐私边界

【免费下载链接】Decepticon Autonomous Hacking Agent for Red Team 项目地址: https://gitcode.com/gh_mirrors/de/Decepticon 点击查看 免费下载 本指南以仓库根目录的 TELEMETRY.md 为骨架,结合 telemetry-gateway/README.md、设计文档 与 packages…

2026/10/14 0:17:46 阅读更多 →
如何让手机访问Symfony WebServerBundle本地服务器:0.0.0.0绑定与局域网暴露完整指南

如何让手机访问Symfony WebServerBundle本地服务器:0.0.0.0绑定与局域网暴露完整指南

【免费下载链接】web-server-bundle Provides commands for running applications using the PHP built-in web server 项目地址: https://gitcode.com/gh_mirrors/we/web-server-bundle 点击查看 免费下载 想让手机直接打开你电脑上跑的 Symfony 应用吗&#xff1…

2026/10/14 0:16:46 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →