rLLM:大语言模型智能体强化学习框架
统一的智能体强化学习框架,支持任意 harness、任意沙箱,一键切换训练后端。
- Star 数
- ★ 5.9k
- 最近更新
- 10 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 0/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 研究者希望在大规模 GPU 集群上训练自己的大语言模型,使用 GRPO 等方法进行强化学习。
- 不适合
- 没有多卡 GPU 资源、只想在笔记本上做 RL 训练的个人开发者
- 只想做简单提示词调用、不想学习 Episode/Trajectory 与 @rllm.rollout 装饰器 API 的用户
这个 Agent 能做什么,适合哪些场景?
rLLM 是一个开源框架,用于训练语言智能体(Agent)的强化学习。它提供统一的 API,让你可以在任意 harness(如 Claude Code、Codex 等)上运行,在 Docker、Daytona、Modal 等沙箱中执行,并支持 verl、tinker、fireworks 等多种训练后端,只需一个标志即可切换。框架内置了 60 多个基准测试(如 Terminal-Bench 2.0、SWE-bench、AIME 等),支持 GRPO、REINFORCE、RLOO 等多种训练方法,并通过模型网关捕获 token ID 和 logprobs,实现评估和训练使用同一份智能体代码。rLLM 已用于训练 DeepScaleR-1.5B、DeepCoder-14B 等开源模型,并被多个学术和工业团队采用。
rLLM 的运行流程是:运行你的智能体 → 收集轨迹(traces)→ 计算奖励 → 更新模型。它通过 @rllm.rollout 装饰器接入你的智能体代码(可以是 OpenAI API、LangGraph 等),通过 @rllm.evaluator 定义奖励函数。在训练时,模型网关(Model Gateway)会透明地捕获 LLM 调用的 token ID 和 logprobs,将数据组织成 Episode(一个任务)、Trajectory(一次智能体运行)和 Step(一次 LLM 调用)。训练后端可以是 verl(分布式多 GPU)、tinker(单机)或 fireworks(Fireworks 平台)。CLI 提供了 rllm eval <benchmark> 和 rllm train <benchmark> 命令,支持快速评估和训练。
- 研究者希望在大规模 GPU 集群上训练自己的大语言模型,使用 GRPO 等方法进行强化学习。
- 团队想要在多个基准测试(如 SWE-bench、MATH-500)上评估智能体,而无需为每个基准编写单独的代码。
- 开发者有自己的智能体程序(如基于 OpenAI API 或 LangGraph),想快速接入强化学习训练而无需修改代码。
- 需要灵活切换训练后端(如从单机 tinker 到分布式 verl)以适应不同资源条件的团队。
- 希望在隔离的沙箱环境(如 Docker、Modal)中运行智能体,以保证安全性和可重复性。
如何安装或部署这个 Agent?
安装 rLLM 需要 Python >= 3.11。推荐使用 uv 包管理器:
# 安装核心 CLI(tinker 后端)
uv pip install "rllm @ git+https://github.com/rllm-org/rllm.git"
# 如需分布式多 GPU 训练(verl + vLLM/SGLang)
uv pip install "rllm[verl] @ git+https://github.com/rllm-org/rllm.git"
# 如需 Fireworks 训练平台
uv pip install "rllm[fireworks] @ git+https://github.com/rllm-org/rllm.git"也可以从源码构建或使用 Docker,详见官方文档:https://docs.rllm-project.com/installation
如何使用这个 Agent?
安装完成后,可以通过 CLI 或 Python API 使用。
CLI 快速上手:
# 配置模型提供商
rllm model setup
# 在基准上评估(例如 gsm8k)
rllm eval gsm8k
# 在基准上训练
rllm train gsm8kPython API 示例:
- 定义 rollout(智能体)和 evaluator(奖励函数)
- 创建 AgentTrainer 并调用 train 方法
更多示例见 cookbooks 目录。
这个 Agent 有哪些优点和局限?
- 支持 10+ 种 CLI harness 和 Harbor 兼容任务目录,也允许自定义智能体(LangGraph、OpenAI Agents SDK 等)
- 兼容多种沙箱(Docker、Daytona、Modal),并提供快照和热池加速,降低训练成本
- 训练后端可切换(verl、tinker、fireworks),且评估和训练用同一份智能体代码
- 内置 60+ 基准测试,包含数学、代码、问答、搜索、VLM 等,便于全面评估
- 提供多种 RL 算法(GRPO、REINFORCE、RLOO、SFT、on-policy distillation)
- 有成功先例,如 DeepScaleR、DeepCoder、DeepSWE 等模型
- 需要 Python 3.11 或更高版本,可能限制了旧环境的使用
- 分布式训练依赖 verl 和 vLLM/SGLang,可能需要额外的 GPU 资源和配置
- CLI 的基准测试可能需要自动拉取数据集,依赖网络连接
- 对于非标准智能体程序,需要学习
@rllm.rollout和@rllm.evaluator的接口设计 - Fireworks 后端是特定平台,可能引入供应商锁定
这个 Agent 与同类方案有什么区别?
rLLM 作为一个通用框架,与特定 harness(如 Claude Code)或训练库(如 verl)对比,它提供了统一的抽象层,允许用户在不同的 harness 和后端之间切换。但 README 未提及具体的替代产品。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| rLLM:大语言模型智能体强化学习框架 当前 | 0 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 5.9k | 10 天前 | Python | OpenAI API |
| AgentsMeetRL——智能体强化学习资源大全 | 29 · 缺口较多 | Agent 插件 / 技能免费 | ★ 1.9k | 5 天前 | HTML | — |
| HUD | 63 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 314 | 3 天前 | Python | OpenAI API · Claude API |
| MARTI:多智能体强化学习训练与推理框架 | 36 · 缺口较多 | 命令行工具免费 | ★ 570 | 1 个月前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据不足:仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的明确信息。所有标准均未得到支持,因此评分为0。
证据不足:未提供自洽性、依赖可用性或失败消息的明确证据。所有标准均未得到支持,因此评分为0。
证据不足:未提供受众与场景、能力边界、触发精度或环境适配的明确证据。所有标准均未得到支持,因此评分为0。
证据不足:未提供信息架构、安装说明、命名稳定性、示例与FAQ、已知限制、许可证、版本变更日志或维护责任的明确证据。所有标准均未得到支持,因此评分为0。
证据不足:未提供输出可用性、边际价值或成本效益的明确证据。所有标准均未得到支持,因此评分为0。
证据不足:未提供声明可追溯性、跨来源佐证或事实与推断分离的明确证据。所有标准均未得到支持,因此评分为0。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 静态审查仅基于提供的文件,未执行任何运行或独立验证。
- 仓库未提供AGENTS.md清单,且发布者身份未经验证,应视为未知。
- 所有标准均因证据不足而评分为0,不代表存在缺陷,而是缺乏可评估的证据。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.3.0-pre rLLM: v0.3.0-pre
发布说明摘录
What's Changed * [feature] add support for on policy distillation by @kylemontgomery1 in https://github.com/rllm-org/rllm/pull/356 * [Bugfix] Make sure the tracking logger is now explicitly finished by trainers by @listar2000 in https://github.com/rllm-org/rllm/pull/358 * Add Geo3K Tinker training example with VLM support by @BrianChen26 in https://github.com/rllm-org/rllm/pull/357 * Support custom metric for SDK by @thwu1 in https://github.com/rllm-org/rllm/pull/362 * fix: typo in bibtex by @tongyx361 in https://github.com/rllm-org/rllm/pull/363 …在 GitHub 查看 ↗ -
v0.2.1.post1 rLLM: v0.2.1.post1
发布说明摘录
What's Changed * update docs & add curves by @thwu1 in https://github.com/rllm-org/rllm/pull/343 * Fix import for colorful_print in agent_sdk_engine.py and agent_sdk_trainer.py by @wht0703 in https://github.com/rllm-org/rllm/pull/345 * Unblock sdk installation by overriding dependices by @wht0703 in https://github.com/rllm-org/rllm/pull/348 * [Doc] Update README and fix a few installation related issues by @listar2000 in https://github.com/rllm-org/rllm/pull/347 * fix: keyerror completion_ids by @kxfan2002 in https://github.com/rllm-org/rllm/pull/353 …在 GitHub 查看 ↗ -
v0.2.1 rLLM: v0.2.1
发布说明摘录
rLLM v0.2.1: Tinker backend, VLM training, Eval Protocol, and SDK (preview) We are excited to release rLLM v0.2.1. This new version comes with the following exciting features: - rLLM SDK (preview): The rLLM SDK enables you to transform agents written in frameworks such as LangGraph, SmolAgent, or Strands into trainable workflows. Check out this [LangGraph RAG example](https://rllm-project.readthedocs.io/en/latest/examples/sdk_langgraph_rag/), which builds a RAG agent and trains it with the rLLM SDK. …在 GitHub 查看 ↗
常见问题
rLLM 是否支持我现有的基于 OpenAI API 的智能体?
@rllm.rollout 装饰器包装任何智能体代码,只要它调用 LLM API。在训练时,rLLM 的模型网关会拦截请求并捕获 token ID 和 logprobs。训练需要什么硬件资源?
如何添加自定义基准测试?
rllm eval 运行,或参考 Harbor 兼容任务目录来添加自定义任务。