进阶 📋 6 个步骤 第 326 / 470 篇

微软 Agent Lightning v1.0 上手:用真实 Harness 做强化学习训练,6000 条样本让编程 Agent 的 SWE-bench 从 41.8% 涨到 56.4%

8 月 24 日微软开源 Agent Lightning v1.0(GitHub 1.76 万星):不改一行 Agent 代码,用部署时的真实 Harness 做强化学习训练,Qwen3.5-9B 编程工作流 SWE-bench Verified 从 41.8% 提升到 56.4%;原生支持 Kubernetes Job 跑训练,v1.0.1 新增 Agent Lightning Skill,让 Claude Code 等编程智能体帮你优化其他 Agent 的提示词、工具与工作流。

2026.08.25· 15 分钟阅读· 约 1546 字

模型在 benchmark 上跑分很高,一塞进 Agent 工作流就拉胯——这是很多团队的共同困境。问题往往不在模型,而在训练环境和部署环境根本不是一回事:你用简化仿真环境训练,上线却用真实的工具调用链。微软本周开源(8 月 24 日发布 v1.0,GitHub 已 1.76 万星)的 Agent Lightning,就是冲着这个痛点来的。

⚡ 本教程适合:已经跑通过 Agent 工作流、想让模型在真实执行环境里「越用越强」的开发者。需要一点 Python 基础和 RL 概念,但不需要你写训练代码——框架已经封装好了。

先搞懂:Agent Lightning 到底训练什么?

一句话理解:它用「部署时的真实 Agent Harness」做强化学习训练。Agent 通过框架代理与模型交互,工具、上下文、控制流、环境全部保持在环内,模型学到的是「在真实工具链里如何决策」,而不是「在简化环境里如何得分」。微软官方给了一个极具说服力的实战示例:

指标训练前训练后(6000 条样本)
Qwen3.5-9B 编程工作流 SWE-bench Verified41.8%56.4%(+14.6 个百分点)
需要改 Agent 代码—完全不需要
框架代码量—约 3500 行(v1.0 重构后)

这套打法和「提示词调优」完全不同:调提示词是在推理时改指令,Agent Lightning 是在训练时改权重——后者能学会更复杂的工具编排策略,但需要 GPU 训练资源,适合团队级投入。

Step 1:拉代码、装环境

1 环境准备:Python + 依赖

Agent Lightning 对运行环境的要求很克制,一个 Python 环境加一张训练卡就能跑起来:

git clone https://github.com/microsoft/agent-lightning
cd agent-lightning
pip install -e .          # 安装框架本体(v1.0 / v1.0.1)
# 需要 GPU 训练环境:CUDA 12.x + PyTorch 2.x
nvidia-smi                # 确认显卡可见
💡 不想先装环境?官方仓库里有完整的容器镜像和示例配置,按 README 里的 quickstart 走即可。训练脚本、数据清洗脚本全部开源。

Step 2:准备训练数据(含数据清洗)

2 6000 条样本够吗?够,但质量要先洗

官方示例只用 6000 条样本就拿到 +14.6 个百分点的提升,秘诀在数据质量。框架提供配套的数据清洗脚本,帮你做三件事:

1. 过滤「答非所问」样本:模型输出与任务无关的样本直接丢弃
2. 过滤「提示词泄露」样本:把答案写进提示词的作弊样本剔除
3. 防 reward hacking:标注出「看似高分实则走捷径」的轨迹,
   训练时给这类样本降权,防止模型学会钻空子

reward hacking 是 RL 训练的头号敌人:模型可能学会「输出无害但无用的内容来骗奖励」。Agent Lightning 把防 hacking 机制内置,但你喂数据时仍要人工抽检,坏数据进得越多,模型越歪。

Step 3:一条命令跑训练

3 训练循环已经封装好

你不需要手写 RL 循环。框架用「框架代理」连接模型,训练时工具与上下文全在环内:

# 以 Qwen3.5-9B 为例,跑通官方示例
agent-lightning train \
  --model Qwen/Qwen3.5-9B \
  --data ./data/swebench_cleaned.jsonl \
  --harness ./configs/qwen_coder_harness.yaml \
  --output ./runs/exp1
🚀 训练过程中可以实时看轨迹回放:模型每一步调了哪个工具、花了多少 token、最终任务是否完成——这就是「用真实 Harness 训练」带来的可观测性优势。

Step 4:评估对比,验证提升

4 用同一套基准测前后差异

框架自带评估入口,跑完训练直接对拍:

agent-lightning eval \
  --model runs/exp1/checkpoint \
  --benchmark swebench-verified

# 官方示例结果:41.8% → 56.4%(+14.6 个百分点)
# token 消耗同步下降:模型更少走弯路
💡 注意评估要用和训练不同的样本子集,避免「背题」。Agent Lightning 的默认配置已经帮你做了样本切分。

Step 5:Kubernetes Job 生产化跑训练

5 从单机到集群

v1.0 原生支持以 Kubernetes Job 方式运行 Agent 与训练,适合想把它纳入 CI 流水线的团队:

# 官方提供 k8s 示例清单:提交一个训练 Job 即可
kubectl apply -f examples/k8s/train-job.yaml

# Job 里可配置:GPU 配额、数据卷、训练超时、失败重试
# 训练产物(checkpoint + 轨迹)落到持久卷,供评估与发布

成本提醒:RL 训练比推理贵一个数量级。建议先用小模型(如 9B)跑通流程,确认收益后再上大模型,可参考本中心《Agent 经济学》教程先算清时薪与成本。

Step 6:Agent Lightning Skill——让编程 Agent 优化 Agent

6 用 Claude Code / Codex 帮你调参

v1.0.1 推出的 Agent Lightning Skill 是另一个亮点:它让 Claude Code、Codex、GitHub Copilot 这类编程智能体具备「系统性优化其他 Agent」的能力——分析提示词、工具定义与工作流,并给出可落地的改进建议:

1. 在 Claude Code 中启用 Agent Lightning Skill
2. 指向你的 Agent 项目(提示词文件 + 工具清单 + 工作流配置)
3. Skill 会输出:问题诊断、优化建议、预期收益
4. 结合 Step 2-3 的训练循环,把建议变成训练样本改进

典型产出:提示词冗余导致 token 浪费 → 精简指令;
工具描述含糊导致调用错乱 → 补充输入输出 schema
🎉 到这里,你已经走通「数据清洗 → 真实 Harness 训练 → 评估 → 集群化 → 持续优化」的完整闭环。这套方法适合任何想让 Agent 在真实业务里越用越强的团队。

常见问题速查

你遇到的现象大概率原因 & 解决
训练后 benchmark 反而下降数据清洗没做透,混入了坏样本;重新跑 Step 2 清洗管线
GPU 显存不够换小模型起步(如 9B/4B),或用官方容器镜像 + 梯度累积
模型学会「钻空子」reward hacking 防护权重太低,调高防 hack 系数并人工抽检轨迹
K8s Job 训练中断检查持久卷挂载与 GPU 配额;官方清单自带断点续训,配好 PVC 即可恢复
← 返回教程中心