AI智能体训练完整指南:Agent Lightning 用 6000 条数据让编码智能体提升 14.6 个点
【免费下载链接】agent-lightningThe absolute trainer to light up AI agents.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-lightning
你给智能体写了十几版提示词,它还是会在同一类任务上反复犯同样的错——输出漏了格式、多轮调用后上下文跑偏。这就是 Agent Lightning 要解决的 AI 智能体训练问题:不改智能体代码,直接用强化学习把模型权重训好,让它把任务做对。
一个真实的问题
手动调提示词的循环大家都熟悉:改一版 prompt,跑几个测试样例,发现有的题对了、有的题格式错了,再改一版。每轮修改只能覆盖你眼前那几十个样例,而且改好一个 case 经常把另一个 case 改坏,效果很快停在某个水平上不再涨。
换成 Agent Lightning 之后,智能体带着真实的工具、上下文和控制流完整跑任务,框架把每一步模型请求和最终得分都记下来,trainer 据此更新模型参数。优化前后最大的差别是:知识沉淀到了权重里,不再依赖某一句提示词措辞。仓库给出的编码智能体例子可以佐证这一点——只用 6K 训练样本,Qwen3.5-9B 在 SWE-bench Verified 上从 41.8% 提到 56.4%,涨了 14.6 个百分点。
先跑一遍
环境要求是一台带 A100 的机器(Calc-X 示例单卡即可)和 CUDA 12.9/13.0,先装好uv:
git clone https://gitcode.com/GitHub_Trending/ag/agent-lightning cd agent-lightning uv sync然后用官方脚本装 verl 的 GPU 依赖(verl 0.8.0 + vLLM + flash-attn,会本地编译,需要 10~30 分钟):
bash scripts/setup_verl.sh 0.8.0 cu130之后按 docs/8-example-calc-x.md 把 Calc-X 数据集放进examples/calc_x/data/,装好示例的 Python 依赖,执行examples/calc_x/run_local.sh。这一个脚本会依次拉起 Ray/verl/vLLM 后端、agl-server(端口 8181)、本地 controller,然后启动训练,过程曲线在 W&B 里看。
它为什么比手动调强
把整个过程拆开,其实是四步,跟手动改 prompt 有本质区别:
- 智能体原样跑任务:智能体只把模型端点指向网关的 rollout URL,工具调用、控制流、环境全部保持不变,零代码改动接入。
- 网关自动记录轨迹:每次模型请求的 prompt token、响应 token 和 logprob 都被网关记成
model_request事件,跟哪次执行一一对应。 - 按 rollout 组算优势:同一道题可以跑多次,trainer 拿到多份执行和各自 reward,用 GRPO 在 rollout 级别比较、算 advantage,好行为被加强。
- 更新的是权重不是文案:每步训练后策略模型参数直接更新。prompt 调不好是因为知识没进模型,训练把知识写进了权重,所以改进是稳定的,不会被某次措辞改动推翻。
迁移到你自己的任务上
第一步,把端点切到网关:你现有的智能体只改一行——模型 API 地址换成 rollout 对应的网关 URL。请求开始被记录成训练数据,智能体逻辑一行不用动。
第二步,写死你的 reward:智能体每跑完一轮都要报一个得分,这个得分决定学什么。数学题用精确匹配,代码任务用单元测试通过率。得分函数要防取巧,官方编码智能体例子里就专门放了防 reward-hacking 的数据清洗环节,可参考 examples/swe_smith/。
第三步,选运行模式起训:先在单卡上用examples/calc_x/做模板本地跑通;智能体依赖重、要并发时,把 controller 换成 K8s 模式,每次 rollout 变成一个独立 Job,模板见 agentlightning/controller/。trainer 侧的配置见 docs/4-trainer-configuration.md。
3个容易踩的坑
坑一:手动装 verl 和 vLLM。这两个版本和 torch 强耦合,flash-attn 还要本地编译,装错版本会在训练中途才炸。只用scripts/setup_verl.sh,且它跑 10~30 分钟,别中途 Ctrl+C 打断。
坑二:reward 函数写得松。得分靠表面模式而不是真实完成任务,模型会很快学会钻空子——训练奖励一路涨,真实指标不涨甚至掉。reward 必须来自任务本身的校验,比如测试用例结果,而不是"回答看起来像对的"。
坑三:Ctrl+C 连按想快速停训。脚本退出时要逐个清理 server、controller 和子进程,需要等一会儿。连按会留下挂掉的进程,下一次起服务时端口 8181 被占用。
收尾
Agent Lightning 的整个框架核心 Python 代码约 3500 行,API 网关、Rollout 控制器、trainer 三个组件各司其职,没有黑盒。想验证它值不值得用,从单卡示例跑一遍最省事:打开 docs/2-quick-start.md 跟着做,再对照examples/calc_x/把端点和 reward 换成你自己的任务。
【免费下载链接】agent-lightningThe absolute trainer to light up AI agents.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-lightning
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考