本书中文版译自英文版。英文版是唯一的规范版本,代码、运行输出与图均与英文版完全相同。本书讲解如何用强化学习训练语言模型智能体:让模型调用工具、读取结果,并根据多轮交互的最终结果改进策略。验证器(verifier)负责给结果打分。全书从策略梯度(policy gradient)的定义出发,最终搭建出一套完整、经过测试的小型编程智能体训练栈。沿途会讨论后训练团队每天都要做的设计决策:如何在变长的工具轨迹上聚合损失,何时值得为 critic(价值模型)付出额外开销,如何保持推理引擎与训练器一致,如何在奖励投机(reward hacking)进入评测之前发现它,以及如何读懂一个正在出问题的训练监控面板。
本书的组织方式
本书逐章搭建同一个系统:- BugFix gym(第 4 章)是一组小型 Python 修复任务。智能体使用
read、test、edit和submit这几个工具来修复它们。测试会执行真实代码,隐藏测试用于检查公开用例之外的修复效果,而一个漏洞利用(exploit)操作让奖励投机真实地发生。 - TinyAgent(第 3 章)是一个小型 transformer 策略,在 CPU 上用强化学习训练约一分钟即可完成。它能复现大规模训练中出现的现象:格式学习、熵坍缩、长度效应、跨轮次的回报归因以及奖励投机。
- 真实模型实验在模型特定行为起作用的地方使用真实的 Qwen3-0.6B 分词器和模型,例如对话模板、工具调用 token、重分词漂移,以及推理引擎与训练器之间的对数概率不一致。
#@save 并收集进 agentrl 包,因此后续章节直接调用 arl.ppo_policy_loss(...),而不必重复实现。到了综合实战(capstone)一章,读者已经亲手写过训练栈的每一个部分。
每章都以实践中的设计问题收尾。这一节选取工程师真实遇到的问题,对每个问题给出症状、原因、可选方案和推荐的默认做法。之后每章还有小结和练习。附录 B 收录了开放式的设计评审问题,并附参考答案。
目录
运行代码
每个 Python 代码块都可以运行。检查器按顺序执行各章,从前面章节的#@save 块重新构建 agentrl,并将每个代码块的标准输出与记录的输出进行比较: