ART 智能体强化训练器
用 GRPO 从实际任务经验中持续训练多步智能体。
- 源仓库
- OpenPipe/ART
- Star 数
- ★ 11k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 34/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API(部分支持)
- 费用
- 有免费版,另有付费云服务
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 已有 Python 智能体应用的团队,希望加入基于任务 reward 的 GRPO 训练,而不自行实现完整训练循环。
- 不适合
- 没有 GPU 硬件、希望零基础设施投入的团队
- 需要推理在训练期间持续可用、不能中断的服务
- 不愿使用 W&B 托管服务或提供其 API 密钥的团队
这个 Agent 能做什么,适合哪些场景?
ART 是一个开源强化学习框架,用于通过实际任务轨迹提高多步智能体的可靠性。它由 Python 客户端和独立训练服务器组成:客户端接入现有应用并提供 OpenAI 兼容接口,服务器负责模型推理、GRPO 训练、检查点管理和 LoRA 加载。应用执行智能体工作流时,ART 将 system、user 和 assistant 消息保存为 Trajectory,并由应用为每条轨迹分配 reward。服务器使用这些轨迹训练模型,把新的 LoRA 保存到本地目录,再加载至 vLLM 供下一轮推理使用。团队既可在自有 GPU 上运行服务器,也可使用需要 W&B API 密钥的 W&B Training 托管基础设施。
应用通过 ART 客户端向当前模型发送补全请求,并可并行执行多次 rollout。服务器在 vLLM 中运行最新 LoRA;客户端将每次执行产生的 system、user 和 assistant 消息记录到 Trajectory,任务代码随后为该 Trajectory 设置 reward。所有 rollout 完成后,轨迹被分组发送给服务器,服务器暂停推理并使用 GRPO 从最新检查点训练模型;首次迭代则从空 LoRA 开始。训练完成后,服务器将 LoRA 写入本地目录、加载到 vLLM,并恢复下一轮推理。除强化学习外,提供的示例还涵盖数据集 SFT、先 SFT 后 RL、LangGraph 智能体、MCP 工具使用、邮件检索以及游戏任务。
- 已有 Python 智能体应用的团队,希望加入基于任务 reward 的 GRPO 训练,而不自行实现完整训练循环。
- 研究人员需要并行采集多步 rollout,并用完整对话轨迹训练 Qwen 等因果语言模型。
- 基础设施团队希望在本地 GPU 上控制训练服务器、检查点和 vLLM 推理。
- 不想维护 GPU 集群的团队,可使用 W&B Training 管理训练和推理基础设施,并让检查点通过 W&B Inference 使用。
- LangGraph 开发者希望使用强化学习改善多步推理和工具调用。
- 模型团队希望实验文本到 SQL 蒸馏、文档摘要的 SFT 加 RL,或从文件数据集微调 Qwen 模型。
如何安装或部署这个 Agent?
在能够运行 Python 的客户端机器上,将 ART 安装到现有项目:
pip install openpipe-art来源没有注明最低 Python 版本、操作系统要求或完整的本地服务器安装命令。自托管训练服务器需要带 GPU 的机器;使用 W&B Training 时还需要有效的 W&B API 密钥和网络连接。
如何使用这个 Agent?
下面是来源给出的 W&B Training 注册示例。它配置 Qwen/Qwen3.6-27B,创建 ServerlessBackend,然后把后端注册到 art.TrainableModel:
from art.serverless.backend import ServerlessBackend
model = art.TrainableModel(
project="voice-agent",
name="agent-001",
run_name="agent-001",
base_model="Qwen/Qwen3.6-27B"
)
backend = ServerlessBackend(
api_key="your_wandb_api_key"
)
model.register(backend)将占位符替换为 W&B API 密钥。该片段假定 art 已在周边代码中导入;来源没有展示这一导入语句,也没有给出完整的首个 rollout、Trajectory reward 设置或训练启动代码。可运行的入门材料以 Colab notebooks 形式提供,包括 2048、ART·E、LangGraph、MCP·RL、井字棋、Codenames 和 SFT 示例。
这个 Agent 有哪些优点和局限?
- 客户端与服务器分离,可从普通 Python 客户端驱动远端 GPU 训练,也可在本地 GPU 上运行服务器。
- 将轨迹记录、reward、GRPO、LoRA 检查点和 vLLM 推理组织为明确的迭代训练循环。
- 可嵌入已有 Python 应用,并提供 OpenAI 兼容的客户端接口。
- 同时提供托管的 W&B Training 路径和自托管路径;托管模式会自动管理训练与推理基础设施。
- 示例覆盖邮件检索、LangGraph、MCP、游戏、文本到 SQL、摘要以及 SFT 与 RL 组合流程。
- 每轮训练期间推理会被阻塞,对持续在线服务可能造成可用性或吞吐影响。
- 自托管服务器需要 GPU,并要求团队自行处理相应运行环境;来源没有提供完整的部署命令。
- W&B Training 路径依赖 W&B API 密钥和托管服务,来源没有给出价格或权限配置细节。
- Gemma 3 被明确标注为目前似乎不受支持;其他模型也只表述为应当兼容,而非逐一验证。
- 模型可移植性受 vLLM、HuggingFace Transformers 或 Unsloth 兼容范围约束。
这个 Agent 与同类方案有什么区别?
与本地 GPU 部署相比,W&B Training 会自动管理训练和推理基础设施,并让每个检查点立即可供 W&B Inference 使用;本地部署则保留自有服务器边界,但需要 GPU 和运维投入。来源宣称托管方案借助共享生产级推理集群可降低 40% 成本、将训练加快 28%,并扩展到 2,000 个以上并发请求,但未提供定价表或独立验证。ART 还建立在 Unsloth、vLLM、TRL 和 torchtune 等项目的工作之上;来源没有提供与这些项目逐项对比的功能表。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| ART 智能体强化训练器 当前 | 34 · 缺口较多 | 代码库 / SDK免费版 + 付费版 | ★ 11k | 今天 | Python | — |
| AReaL 异步强化学习平台 | 证据不足 | 命令行工具免费 | ★ 5.9k | 1 天前 | Python | — |
| Agent Lightning | 40 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 19k | 1 天前 | Python | OpenAI API |
| Relax 全模态强化学习引擎 | 64 · 存在缺口 | 命令行工具免费 | ★ 670 | 1 天前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属的说明。所有信任相关标准均未得到满足,因此得分为0。
证据显示:README和测试文件在描述训练循环和步骤跳过行为时保持一致,但未提供失败消息或错误处理的详细说明。依赖项在pyproject.toml中列出,但未提供可用性保证。因此,自我一致性得2分,依赖可用性和失败消息各得1分。
证据显示:README描述了多种使用场景(如2048、邮件代理、MCP),但未明确说明能力边界或触发条件。环境适配方面,提供了安装说明和依赖项,但未详细说明不同环境的配置。因此,受众和场景得2分,能力边界和触发精度各得1分,环境适配得2分。
证据显示:README提供了安装说明、示例和许可证信息,但未提供变更日志或版本历史。命名稳定性未明确说明。已知限制部分提及了Gemma 3不支持,但未全面列出。因此,信息架构、安装说明、示例和许可证各得2分,命名稳定性、已知限制、版本控制和维护责任各得1分。
证据显示:README展示了多个示例和基准测试,表明输出可用性较高。边际价值方面,提供了与现有框架的集成和性能提升的声明,但未提供成本效益分析。因此,输出可用性和边际价值各得2分,成本效益得1分。
证据显示:README中的性能声明(如40%成本降低、28%训练加速)未提供具体数据或引用来源。基准测试图表存在,但未提供原始数据或复现方法。因此,声明可追溯性、跨来源验证和事实推断分离各得1分。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 性能声明(如40%成本降低、28%训练加速)缺乏具体数据或引用,需谨慎对待。
- 未提供权限模型或用户确认机制,使用时应自行评估安全风险。
- 依赖项版本固定较严格,可能影响环境兼容性。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Release Highlights - Weave 0.54.0 or later is now required. Weave 0.53.9 and earlier fail in weave.init() with AttributeError: 'OTLPSpanExporter' object has no attribute '_session' once opentelemetry-exporter-otlp-proto-http 1.45 is installed. Installing ART now upgrades an older Weave instead of keeping it. …在 GitHub 查看 ↗ -
发布说明摘录
Release Highlights - Model.delete_checkpoints works with polars 2.x. It averaged every history.jsonl column per step, and polars 2 raises on the string recorded_at column (InvalidOperationError: mean operation not supported for dtype str). It now averages only the checkpoint metric ([#1150](https://github.com/OpenPipe/ART/pull/1150)). What's Changed - fix: average only the metric in delete_checkpoints ([#1150](https://github.com/OpenPipe/ART/pull/1150)) Full Changelog: https://github.com/OpenPipe/ART/compare/v0.5.22...v0.5.23在 GitHub 查看 ↗ -
发布说明摘录
Release Highlights - Model metrics now log to the model's W&B entity. In 0.5.21, a model created with an explicit entity that differed from the API key's default entity logged model.log() metrics to a run under the default entity instead ([#1134](https://github.com/OpenPipe/ART/pull/1134)). What's Changed - feat: support opt-in multi-adapter MoE LoRA waves ([#1139](https://github.com/OpenPipe/ART/pull/1139)) - fix: bound context-parallel admission and memory accounting ([#1138](https://github.com/OpenPipe/ART/pull/1138)) …在 GitHub 查看 ↗