Agent Lightning:使用强化学习训练任意AI智能体

发表
Xufang LuoXufang Luo 提交
作者: Xufang Luo, Yuge ZhangYuge Zhang, Zhiyuan HeZhiyuan He, Zilong Wang, SiyunSiyun Zhao, Dongsheng Li, Luna QiuLuna K. Qiu, Yuqing Yang

摘要

我们提出了 Agent Lightning,这是一个灵活且可扩展的框架,支持基于强化学习(RL)对任何 AI 代理的大型语言模型(LLM)进行训练。与现有将 RL 训练与代理紧密耦合或依赖于带有掩码的序列连接的方法不同,Agent Lightning 实现了代理执行和训练的完全解耦,允许与通过不同方式(例如,使用 LangChain、OpenAI Agents SDK、AutoGen 等框架,以及从头构建)开发的现有代理无缝集成,几乎无需修改代码。通过将代理执行公式化为马尔可夫决策过程,我们定义了一个统一的数据接口,并提出了一个分层 RL 算法 LightningRL,其中包含一个信用分配模块,使我们能够将任何代理生成的轨迹分解为训练转换。这使得 RL 能够处理复杂的交互逻辑,例如多代理场景和动态工作流。在系统设计方面,我们引入了训练-代理分离架构,并将代理可观察性框架引入代理运行时,提供标准化的代理微调接口。在 text-to-SQL、检索增强生成和数学工具使用任务上的实验表明,其具有稳定、持续的改进,展示了该框架在实际代理训练和部署中的潜力。
查看 arXiv 页面查看 PDF

评论

Xufang LuoXufang Luo
论文提交者
Agent Lightning: 一个灵活且可扩展的框架,可实现任何代理的无缝代理优化

GitHub 仓库

arXiv 论文

Reddit 讨论(实现细节)

额外实验(未在论文中)


Agent Lightning 是一个将代理与RL训练完全解耦的框架,实现了灵活可扩展的代理学习。这种解耦允许:

🔌 即插即用,支持多样代理
  • 支持各种代理实现(例如,LangChainOpenAI Agents SDKAutoGenCrewAI 等);甚至无需代理框架(Python OpenAI)。应有尽有!

  • 代理端几乎无需代码改动

🤖 多代理训练
  • 同时训练多个代理

  • 自由选择要训练的代理

🛠️ 额外优化
  • 支持提示微调。更多算法即将推出!

🔧 完全解耦设计

为了使框架真正解耦,我们引入了以下关键组件:

1. 统一数据接口(基于Agent MDP)
  • 适用于任何代理的通用接口

  • 数据以转换级别组织

  • 单轮模型更新前完成信用分配

  • 不会跨轮次累积上下文 → 无需掩码

  • 高度灵活的上下文(例如,提示、指令、摘要)

2. 训练-代理分离架构
  • 实现服务器-客户端架构

  • 运行时使用OpenTelemetry等可观测性工具

  • 实现实时监控和错误处理


✅ 案例研究

我们将Agent Lightning应用于以下场景,所有场景均显示出稳定的奖励提升

  1. 通过LangChain进行文本到SQL

  2. 通过OpenAI Agents SDK进行检索增强生成

  3. 通过AutoGen进行带工具使用的数学问答


我们希望Agent Lightning能够成为代理训练生态系统中跨领域的桥梁