← RL 知识库RL / 7 OF 8Agent RL:在执行框架中训练策略
让环境、工具与成功标准可复现。
学习指南与本课目录
LEARNING CONTRACT理解 → 实现 → 研究
目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。
- 理解层:写明假设、形状/单位和一个反例。
- 实现层:复算数值例子并检查边界。
- 研究层:在匹配预算下比较一个替代方法。
理解机制
执行框架控制观察、工具、预算、重试与终止,改变任一项都可能改变策略实际环境。区分模型训练、工具实现与评测编排。面对延迟任务奖励,应保留轨迹和动作结果,单个最终成功位通常不足以解释失败。
机制图与逐步推导
原创机制示意图,按从上到下顺序阅读。 SVG ↓- 为每个工具写转移约定:输入输出 schema、超时行为、副作用与幂等性,从而无需语言模型也能测试闭环。
- 需要两次调用的任务无法在一次硬预算中完成。查询后应记录 budget_exhausted,而不是编造验证证据。
- 写操作超时意味着提交状态未知。下一步应检查状态或幂等重试,不能假定未执行。
实验检查点区分 mock 控制流测试与真实策略评测,可读轨迹不证明外部任务完成。
原创练习与分析
在有边界 agent 模拟器中加入失败工具,只改变行动预算,记录每次停止原因。后续真实训练固定工具 schema、任务种子与环境版本,并在第二种执行框架上评估接口过拟合。
本地状态机模拟不是 RL 训练。必须具备采样轨迹、奖励信号与参数更新,才能声称策略学习。
训练过的 agent 为什么可能在工具改名后失败?
策略可能依赖训练环境中的接口 token 或 schema 模式,需要通过受控接口变化检验语义泛化。
下一章 → RL 是否真正提升了能力?MATHEMATICAL REVIEW · 2026-10-26假设、参考实现与验收
工具预算为非负整数。执行前检查白名单,预算耗尽即停止。确定性 mock 测试编排逻辑,不代表 LLM 规划能力。
已复核公式条件、单位及算例。实现隔离一个数值机制,不训练完整策略,也不控制真实硬件。
运行前:预测一个边界情况
第三个动作不得执行。这里测试预算关卡,不是学习型 Agent。
提示:隔离假设
固定基线输入,只改变一个参数或边界;同时比较数值与声明单位。单例通过仅验证该样例。
最小可运行算例
将算例及所链接模块保存在同一目录。使用 Node.js 22 或更高版本,然后运行 node agent-rl.mjs. 无需第三方运行依赖。
const solve=()=>{
const costs=[1,2,4], budget=3;let spent=0,steps=0;
for(const cost of costs){if(spent+cost>budget)break;spent+=cost;steps++}return [spent,steps];
};
const actual=solve();
const expected=[3,2];
if(JSON.stringify(actual)===JSON.stringify(expected)){console.log('PASS',actual)}else{
const a=[actual].flat(), b=[expected].flat();
if(a.length!==b.length||a.some((v,i)=>!Number.isFinite(v)||Math.abs(v-b[i])>1e-10))throw Error('Numerical mismatch');
console.log('PASS within 1e-10',actual);
}
参考输出——先预测再展开
[
3,
2
]
测试与迁移
第三个动作不得执行。这里测试预算关卡,不是学习型 Agent。
在下方笔记记录输入、代码版本、期望值和实测值;再构造违反上述假设的反例,解释原结论为何不再成立。
下载完整代码包(.tar.gz) · 完整参考代码与回归检查预测、检验与证据记录
展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。
打开记录/导出/清除 →数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围