跳转到主要内容
本书中文版译自英文版。英文版是唯一的规范版本,代码、运行输出与图均与英文版完全相同。
本书讲解如何用强化学习训练语言模型智能体:让模型调用工具、读取结果,并根据多轮交互的最终结果改进策略。验证器(verifier)负责给结果打分。全书从策略梯度(policy gradient)的定义出发,最终搭建出一套完整、经过测试的小型编程智能体训练栈。沿途会讨论后训练团队每天都要做的设计决策:如何在变长的工具轨迹上聚合损失,何时值得为 critic(价值模型)付出额外开销,如何保持推理引擎与训练器一致,如何在奖励投机(reward hacking)进入评测之前发现它,以及如何读懂一个正在出问题的训练监控面板。

本书的组织方式

本书逐章搭建同一个系统:
  • BugFix gym(第 4 章)是一组小型 Python 修复任务。智能体使用 read、test、edit 和 submit 这几个工具来修复它们。测试会执行真实代码,隐藏测试用于检查公开用例之外的修复效果,而一个漏洞利用(exploit)操作让奖励投机真实地发生。
  • TinyAgent(第 3 章)是一个小型 transformer 策略,在 CPU 上用强化学习训练约一分钟即可完成。它能复现大规模训练中出现的现象:格式学习、熵坍缩、长度效应、跨轮次的回报归因以及奖励投机。
  • 真实模型实验在模型特定行为起作用的地方使用真实的 Qwen3-0.6B 分词器和模型,例如对话模板、工具调用 token、重分词漂移,以及推理引擎与训练器之间的对数概率不一致。
每个机制都先推导,再在一个短代码块中从零实现,然后运行。其打印输出直接出现在代码下方。仿照 D2L 的做法,某一章构建的函数会标记为 #@save 并收集进 agentrl 包,因此后续章节直接调用 arl.ppo_policy_loss(...),而不必重复实现。到了综合实战(capstone)一章,读者已经亲手写过训练栈的每一个部分。 每章都以实践中的设计问题收尾。这一节选取工程师真实遇到的问题,对每个问题给出症状、原因、可选方案和推荐的默认做法。之后每章还有小结和练习。附录 B 收录了开放式的设计评审问题,并附参考答案。

目录

运行代码

每个 Python 代码块都可以运行。检查器按顺序执行各章,从前面章节的 #@save 块重新构建 agentrl,并将每个代码块的标准输出与记录的输出进行比较:
真实模型实验在一块 H200 上用 BugFix gym 训练 Qwen3-0.6B,第 19 章报告了其实测结果。 编辑指南规定了本书的写作约定,来源台账记录了每一个外部来源、其查验日期以及查验范围。

实验能说明什么,不能说明什么

TinyAgent 实验均实际运行过,但模型和任务集都很小。它们用来解释机制、复现故障,不能作为大模型性能的基准证据。论文报告的结果会标注为文献报告并注明日期。建议会标注为本书的建议。环境只执行为本书编写的可信代码;第 4 章解释了真实的模型生成代码所需要的隔离。