⏶61
Agent Lightning:使用强化学习训练任意AI智能体
发表
由
Xufang Luo 提交
作者: Xufang Luo,
Yuge Zhang,
Zhiyuan He, Zilong Wang,
Siyun Zhao, Dongsheng Li,
Luna K. Qiu, Yuqing Yang

摘要
我们提出了 Agent Lightning,这是一个灵活且可扩展的框架,支持基于强化学习(RL)对任何 AI 代理的大型语言模型(LLM)进行训练。与现有将 RL 训练与代理紧密耦合或依赖于带有掩码的序列连接的方法不同,Agent Lightning 实现了代理执行和训练的完全解耦,允许与通过不同方式(例如,使用 LangChain、OpenAI Agents SDK、AutoGen 等框架,以及从头构建)开发的现有代理无缝集成,几乎无需修改代码。通过将代理执行公式化为马尔可夫决策过程,我们定义了一个统一的数据接口,并提出了一个分层 RL 算法 LightningRL,其中包含一个信用分配模块,使我们能够将任何代理生成的轨迹分解为训练转换。这使得 RL 能够处理复杂的交互逻辑,例如多代理场景和动态工作流。在系统设计方面,我们引入了训练-代理分离架构,并将代理可观察性框架引入代理运行时,提供标准化的代理微调接口。在 text-to-SQL、检索增强生成和数学工具使用任务上的实验表明,其具有稳定、持续的改进,展示了该框架在实际代理训练和部署中的潜力。
GitHub 仓库
arXiv 论文
Reddit 讨论(实现细节)
额外实验(未在论文中)
Agent Lightning 是一个将代理与RL训练完全解耦的框架,实现了灵活可扩展的代理学习。这种解耦允许:
支持各种代理实现(例如,LangChain、OpenAI Agents SDK、AutoGen、CrewAI 等);甚至无需代理框架(Python OpenAI)。应有尽有!
代理端几乎无需代码改动
同时训练多个代理
自由选择要训练的代理
为了使框架真正解耦,我们引入了以下关键组件:
适用于任何代理的通用接口
数据以转换级别组织
在单轮模型更新前完成信用分配
不会跨轮次累积上下文 → 无需掩码
高度灵活的上下文(例如,提示、指令、摘要)
实现服务器-客户端架构
运行时使用OpenTelemetry等可观测性工具
实现实时监控和错误处理
我们将Agent Lightning应用于以下场景,所有场景均显示出稳定的奖励提升:
通过LangChain进行文本到SQL
通过OpenAI Agents SDK进行检索增强生成
通过AutoGen进行带工具使用的数学问答
我们希望Agent Lightning能够成为代理训练生态系统中跨领域的桥梁。