数据与分析 reinforcement-learningllm-trainingvision-language-modelsmulti-turn-rolloutsgigpoalfworldwebshopvllm

veRL Agent RL 训练框架

面向长程 LLM/VLM 交互任务的多轮强化学习训练扩展。

FollowAgents 评估 · FARS-2.1
不推荐
32/ 100 五分制 1.6 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全0 / 29 · 0.0/5

证据显示仓库未提供权限管理、用户确认、数据流透明性、敏感数据处理、依赖安全、外部影响、回滚或来源归属的明确机制。所有信任相关标准均未得到支持,因此评分为0。

2可靠稳定3 / 14 · 1.1/5

自洽性:README声称支持多种模型和环境,但requirements.txt中transformers版本固定为4.51.1,而README安装指南中未明确指定,存在轻微不一致。依赖可用性:requirements.txt列出了依赖,但未提供锁定版本或校验和,且部分依赖(如flash-attn)需要特定构建,可能影响可复现性。失败消息:未提供错误处理或诊断信息,评分为0。

3适用触发10 / 18 · 2.8/5

受众与场景:README明确面向LLM/VLM agent训练的研究人员和开发者,提供了多种环境和算法示例。能力边界:README列出了支持的功能和限制,但未详细说明不支持的场景。触发精度:提供了运行脚本,但未明确说明触发条件或参数。环境适配:提供了多种环境的安装指南,但未说明硬件要求或兼容性细节。

4规范维护9 / 18 · 2.5/5

信息架构:README结构清晰,包含目录、功能、安装、示例等。安装说明:提供了详细的安装步骤,但部分依赖版本未固定。命名稳定性:项目名称和版本号在README中一致,但未提供版本历史。示例与FAQ:提供了多个示例和FAQ,但未提供常见问题解答。已知限制:README提到部分环境为实验性,但未全面列出限制。许可证:提供了Apache-2.0许可证。版本与变更日志:README有新闻更新,但未提供正式变更日志。维护责任:未明确维护者或贡献指南。

5有效结果6 / 13 · 2.3/5

输出可用性:提供了训练脚本和模型,但未提供输出格式或评估指标。边际价值:提供了新的算法GiGPO和多种环境,具有研究价值。成本效益:未提供性能基准或资源需求,难以评估成本效益。

6证据核验4 / 8 · 2.5/5

声明可追溯性:README引用了论文和HuggingFace模型,但未提供详细实验配置。跨来源佐证:提供了W&B链接和第三方支持,但未独立验证。事实与推断分离:README区分了结果和推断,但未明确标注。

证据充分度: 评估于 2026年8月9日 审查版本 20bd331bdbc9
源码中未见的安全控制:最小权限约束、执行前用户确认、数据流向说明、敏感信息处理、依赖安全审查、外部影响披露、回滚或恢复路径、来源归属可核验
使用前请注意
  • 依赖版本未锁定,可能影响可复现性。
  • 未提供安全审计或权限管理机制。
  • 部分环境安装依赖外部服务(如Google Drive),可能不稳定。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

verl-agent 是构建在 veRL 之上的强化学习训练框架扩展,目标是训练能与环境多轮交互的 LLM 和视觉语言模型。它以逐步构造输入的 rollout 方式运行,而不是必须拼接完整交互历史;内存模块和每一步输入内容可由开发者自定义。框架提供并行 Gym 风格环境与组环境,后者可让同组环境在 reset() 时共享初始状态,以支持需要同状态多次 rollout 的训练。仓库提供 GiGPO、GRPO、PPO、DAPO、GSPO、RLOO 和 REINFORCE++ 等训练路径,以及 ALFWorld、WebShop、Search、Sokoban、Gym Cards 和实验性的 AppWorld 环境。训练通过 examples/ 下的 shell 脚本启动,模型端列出了 Qwen 与 LLaMA 系列支持,并提供一个基于 GPT-4o 的提示式代理示例。

训练过程通过 examples/ 中的脚本启动,例如 run_alfworld.sh 会在指定环境中执行 GiGPO 训练。环境经 env.step() 返回反馈,rollout_loop.py 使用 envs.reset(kwargs=gen_batch.non_tensor_batch.pop('env_kwargs', None)) 将任务参数传入环境;代理据此在每一步生成动作。env_manager.py 的 build_text_obs() 会构造当前步骤观察,默认 SimpleMemory 位于 agent_system/memory/memory.py,可替换为选择最近步骤、关键事件、摘要或外部知识的记忆策略。环境提示词可在 agent_system/environments/prompts 中修改;WebShop 示例要求模型将推理放在 <think> 标签中、将可执行动作放在 <action> 标签中。Search 实验还可启动本地 e5 检索服务,并使用处理后的 Search-R1 数据集进行任务 rollout。

  1. 研究长程文本代理强化学习的团队,可在 ALFWorld 中用 GiGPO、GRPO、PPO、RLOO 或 DAPO 运行多步训练。
  2. 需要训练电商网页交互代理的研究者,可安装独立的 WebShop 环境并运行对应的 GiGPO、GRPO、PPO、RLOO 或 DAPO 示例。
  3. 开发视觉语言代理的团队,可在 Sokoban、Gym Cards 等视觉任务中使用 Qwen2.5-VL、Qwen3-VL 等已列出的模型支持。
  4. 研究检索增强式搜索代理的工程师,可处理 Search-R1 数据、下载本地索引并运行本地 retrieval server 后训练 Search 环境代理。
  5. 希望比较不同记忆管理策略的开发者,可替换 SimpleMemory,并在每个环境步骤中控制历史、摘要与当前观察的组合方式。

这个 Agent 有哪些优点和局限?

优点
  • 逐步构造输入并允许自定义历史管理,适合不希望完整历史随轮次不断膨胀的长程交互训练。
  • 组环境在 reset() 时可共享初始状态,直接服务于 GRPO、DAPO 等需要同状态多条轨迹的训练方式。
  • 同时覆盖文本与图文任务,且列出了 ALFWorld、WebShop、Search、Sokoban、Gym Cards 和 AppWorld 等多种交互环境。
  • 除 GiGPO 外还提供 GRPO、PPO、DAPO、GSPO、RLOO 和 REINFORCE++,便于在同一框架内比较多种 RL 算法。
  • 提供 LoRA 路径;文档称 7B 模型训练可使用 2 张 H100 GPU。
局限
  • 安装并非单一环境:WebShop 要求 Python 3.10 或更低,而核心安装示例使用 Python 3.12;文档建议每个环境使用独立 Conda 环境。
  • Search 需要单独部署本地检索服务、下载索引,并会在每张 GPU 上额外使用约 6GB 显存。
  • AppWorld 被明确标记为实验性,兼容性与稳定性风险需要自行验证。
  • GPT-4o 提示式代理虽有运行脚本,但未给出 API 凭据、环境变量或具体配置步骤。
  • 文档说明 2025-06-03 重大更新后 GiGPO 表现略有变化;复现论文原始结果需使用该更新前的版本。

如何安装或部署这个 Agent?

在仓库根目录创建核心训练环境:

conda create -n verl-agent python==3.12 -y
conda activate verl-agent
pip3 install vllm==0.11.0
pip3 install flash-attn==2.7.4.post1 --no-build-isolation --no-cache-dir

pip install -e .

首次运行 ALFWorld 前安装环境依赖:

pip3 install gymnasium==0.29.1
pip3 install stable-baselines3==2.6.0
pip install alfworld
alfworld-download -f

然后可执行:

bash examples/gigpo_trainer/run_alfworld.sh

不同环境有独立依赖:WebShop 要求 Python 3.10 或更低,Search 需要独立 retriever 环境、faiss-gpu 和本地索引。仓库提供 GPT-4o 提示式代理脚本,但未说明所需 OpenAI 凭据或其配置方法。

如何使用这个 Agent?

完成目标环境安装后,从仓库根目录选择训练脚本执行。GiGPO 的示例包括 bash examples/gigpo_trainer/run_alfworld.sh、run_webshop.sh、run_search.sh 和 run_sokoban.sh;LoRA 示例为 bash examples/gigpo_trainer/run_alfworld_lora.sh。需要同一初始状态的多次 rollout 时,在 verl/trainer/config/ppo_trainer.yaml 中配置 env.rollout.n。若要接入新环境,创建 Gym 风格且支持多进程执行的环境包,添加 prompts 文件,并按 EnvironmentManagerBase 的结构在 env_manager.py 注册。

这个 Agent 与同类方案有什么区别?

相对 veRL,verl-agent 将重点扩展到多轮代理—环境交互与代理 RL 训练。README 将其逐步输入机制与 RAGEN、Search-R1 所述的完整历史拼接方式对比:前者允许每一步自行组织观察和记忆,后者会让上下文随交互轮次增长。

常见问题

训练 7B 模型需要多少 GPU?
文档称,使用 LoRA 时可用 2 张 H100 GPU 训练 7B 模型;其他模型、算法和环境的资源需求未给出统一数值。
Search 环境为什么需要额外配置?
它需要单独的 Python 3.10 retriever 环境、faiss-gpu、本地 e5 索引与 retrieval server;文档提示该服务每张 GPU 约占用 6GB 显存。
能否控制代理保留哪些历史?
可以。默认 SimpleMemory 可扩展,且 build_text_obs() 在每一步构造观察;可保留最近步骤、关键事件、摘要或外部知识。
如何加入自定义环境?
创建具备 Gym 风格接口和多进程执行能力的环境包,新增提示词文件,并按 EnvironmentManagerBase 的结构在 env_manager.py 注册。

相关 Agents