聚焦Agent强化学习中的训练-部署脱节问题,提供更贴合平台工程工作流的Agent能力。
我们很高兴你在这里。你可以期待所有 TNS 最佳内容将在周一至周五送达,让你随时掌握最新资讯并保持最佳状态。
查收你的收件箱,收到确认邮件后可以调整偏好设置,甚至加入其他群组。
在你喜欢的社交媒体平台上关注 TNS。
在 LinkedIn 上成为 TNS 关注者。
在等待第一封 TNS 通讯时,查看最新的精选和热门报道。
Agent 强化学习一直存在一种脱节、脱耦和表达不当的问题。这种极性源于训练引擎如何处理资源管理,与训练后生产 Harness 如何运作之间的差异。
微软希望确保从一开始就有生产 Harness 参与进来,在初始训练和后续强化学习过程中监督基础设施服务和 Agent 交互。
微软研究院 Redmond 分部于 2025 年 8 月首次推出 Agent Lightning 框架,作为一个基础设施概念,用于解决后训练 LLM Agent 进入强化学习流程时的结构性问题。微软随后于 8 月 16 日在 GitHub 上提交发布了 Agent Lightning v1.0。
在微软所称的"适度算力" 6K 训练样本上使用 Agent Lightning v1.0,强化学习将 Qwen3.5-9B 在 OpenAI 的 SWE-bench Verified 基准上的表现从 41.8% 提升至 56.4%,绝对提升 14.6 个百分点。
"在'适度算力' 6K 训练样本上使用 Agent Lightning v1.0,强化学习将 Qwen3.5-9B 在 OpenAI 的 SWE-bench Verified 基准上的表现从 41.8% 提升至 56.4%,绝对提升 14.6 个百分点。"
谁拥有交互循环?
在传统的 Agent 强化学习中,训练引擎拥有交互循环,即包括观察环境、根据策略选择动作、执行动作、接收数值奖励、存储和更新策略……等步骤。
在 Harness 化的 Agent 强化学习中,Harness 拥有上下文构建、工具执行和 Agent-环境循环。训练引擎只通过服务边界观察一系列 LLM 请求-响应对。因此,开发人员不需要在训练环境中重新实现 Agent 循环。
据微软的一组软件工程师称,由于 AI 模型 Harness 在 Harness 化的 Agent 强化学习期间拥有控制基础设施访问和操作程序的循环,它"引入了挑战",包括重标记化(在主动训练期间将文本重新分段为新 token)、样本合并、优势计算、损失归一化和训练后端调度。
所有这些,如果得不到解决,可能导致训练无效或不稳定。
Agent Lightning v1.0 如何扭转局面
"[在 Agent Lightning v1.0 中] Harness 而非训练器拥有上下文构建、工具执行和 Agent-环境交互循环,而训练系统则通过服务边界观察并优化由此产生的模型调用。这种表述保留了 Harness 的部署时上下文策略、工具协议和执行语义,无需将其 Agent 循环在 RL 框架内重新实现,"Redmond 团队解释道。
对于编码 Agent,团队表示现有强化学习框架提供的支持有限,包括缺乏数据和完整的训练脚本,以及对大规模计算资源的依赖。为弥补这一差距,通过 Agent Lightning v1.0,微软提供了一条"完整的数据清理流水线"和基于开源数据集和模型的可复现训练脚本。
这是训练时间责任的最后终结吗?
对于微软环境内的用户来说,这可能是个好消息。机器学习专家和平台工程师可能有一个好的 Harness 或一套好的强化学习工具;但很少两者兼有。
与其每次想训练 Agent 在强化学习流程中调用外部服务时都要硬编码重标记化、优势计算和奖励塑造,他们可以将现有的 Agent 架构作为资产保留,而不是将其视为训练时间的负担。
总部位于 Nebraska 的软件工程研究员 Md Rashedul "Rashed" Hasan 告诉 The New Stack,通过真实生产 Harness 进行训练很重要,但这不仅仅是因为其效率和基准提升。
通过真实 Harness 训练保持语义完整
"它减少了训练-服务不匹配,"Hasan 表示。"如果你在一个简化的训练器循环内训练,然后在不同的 Harness 中部署,工具协议、上下文策略和恢复行为都可能漂移。通过真实 Harness 训练可以保持这些语义完整,因此收益更有可能转移到生产行为,而不仅仅是实验室环境。"
Hasan 认为微软明确命名了这个范式,保持了核心框架小巧,并发布了他所定义的带有开放数据和脚本的"具体编码 Agent 流水线"。
"就谁会对它感兴趣而言,它是那些已经拥有生产 Agent Harness(如编码助手或支持分流 Agent)的应用和平台工程师,他们希望通过强化学习改进底层模型,而无需重写部署逻辑以适应训练框架。强化学习和机器学习平台团队也会在需要轻量级、可复现的 Harness 化 Agent 强化学习测试环境时使用它,"Hasan 澄清道。
他认同,仅用 6K 示例在 SWE-bench Verified 上取得的提升是"有用的证明",证明 Harness 强化学习可以推动硬编码基准,而无需团队在训练器内重新实现 Agent 栈。
"编码 Agent 的环境设置、奖励设计、评估保真度,以及重标记化、样本合并、优势计算和损失归一化细节仍然容易出错。采纳还将取决于团队能否将这个代理模式集成到现有的编排、可观测性和安全控制中,"Hasan 提醒道。
"编码 Agent 的环境设置、奖励设计、评估保真度,以及重标记化、样本合并、优势、损失归一化细节仍然容易出错。采纳还将取决于团队能否将这个代理模式集成到现有的编排、可观测性和安全控制中。"
消灭训练-服务偏斜,这是机器学习中最古老且代价最高的 bug
总部位于 Colorado 的数据科学专家 Priyank Jain 告诉 The New Stack,通过生产 Harness 进行训练以剥离框架,这实际上都是为了"消灭训练-服务偏斜",这是应用机器学习中最古老且代价最高的 bug。
"模型很少因为数学错误而在生产中崩溃,"Jain 表示。"它们崩溃是因为训练设置悄悄地对它们撒了关于生产实际模样的谎。通过服务于 Agent 的相同 Harness 进行训练是正确的直觉,老实说这也早该如此。准确率提升是好事,但真正的胜利是你优化的东西终于和你发布的东西一致了。"
Jain 认为微软在这方面做对的是,它表明 Redmond 想要"在开发者已经所在的地方与他们相遇",即允许用户通过强化学习改进现有 Agent,而无需仅仅为了讨好训练框架而重写他们的部署。
"这是一个真正好的决策,让没有强化学习专业知识的人也能使用它。我担心的是它也降低了人们运行他们不完全理解的强化学习的门槛。最难的部分从来不是接上循环;它设计一个奖励,使其在面对积极寻找最小阻力路径的模型时能够存活。把那部分做得太容易,你就会让更多人更快地优化错误的东西,"Jain 建议道。
"3500 行代码足够小,以至于基础设施工程师在实际信任它之前可以真正读懂它……这是一件好事。"
仅 3500 行核心 Python 代码
该框架以"简单性为第一原则"构建,整个框架由约 3500 行核心 Python 代码组成。
基础设施工程开发者和 Tooldex(一个在 LLM Agent 间自动发现 MCP 服务器的平台)创始人开发者 Ria Banerjee 告诉 The New Stack,这里的简单性元素是一个积极因素,即 3500 行代码足够小,以至于"基础设施工程师在实际信任它之前可以真正读懂它",这是一件好事。
"但就谁会真正使用这个工具而言,坦诚的答案是比框架所暗示的更少的团队,"Banerjee 说。"现实地看,你需要控制一个 GPU 集群和一个 Kubernetes 集群。在 LangChain 上构建支持分流 Agent 的应用开发者不会运行它。所以真正的受众是已经雇佣了基础设施工程师的平台团队。"
"因为 Harness 是行为真正存在的地方,但现在你正在将 Harness 的特性烘焙到模型权重中……所以下个季度你改变了重试逻辑,你就悄然改变了模型所训练的内容。所以现在你必须对你的 Harness 进行版本管理,"位于 Albuquerque 的 Banerjee 补充道。
微软已在 MIT 许可证下在 GitHub 上发布了完整的工作流和训练脚本,以促进 Agent Lightning v1.0 中可复现的 Harness 化 Agent RL,包括数据清理和奖励黑客防范。