AgentFlow 智能体优化框架

用 Flow-GRPO 在线训练规划器,提升多工具长程推理的规划与调用可靠性。

Star 数
★ 2.1k
最近更新
9 个月前
License
MIT
主语言
Python

30 秒速览

运行形态
命令行工具自托管服务
可在哪里用
通用 · 跨平台OpenAI API
费用
软件免费,模型调用费用自付
上手难度
高 · 需要较重的基础设施
开始前需要
Python 3.11tmuxvLLMShell / 命令行网络访问本地文件系统
典型场景
研究团队希望在 Natural Questions 风格检索任务和数学推理任务上训练一个会规划工具调用的规划器。
不适合
  • 只想开箱即用、不愿配置 tmux、服务脚本与数据准备的轻量用户
  • 没有 GPU 或合适算力资源、无法承担完整 Flow-GRPO 训练的用户

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

AgentFlow 是一个可训练、集成工具的模块化推理系统,围绕规划器的在线优化而构建。系统由 Planner、Executor、Verifier 和 Generator 四个模块组成,通过持续演化的记忆和工具集在多轮中协作。它可在推理时调用搜索、百科和 Python 编程等工具,并输出答案、过程摘要与执行日志。训练流程使用 Flow-based Group Refined Policy Optimization(Flow-GRPO)直接优化 Planner,示例训练数据混合 Natural Questions 与 DeepMath-103K。项目提供本地 Python 命令行运行、tmux 训练服务、vLLM 模型服务和基准测试脚本,而不是托管式聊天产品。

运行 python quick_start.py 后,系统初始化 AgentFlow 与工具集,由 Planner 分析查询并预测行动,Executor 执行例如 Google_Search_Tool 的调用,Verifier 交叉核验,Generator 产出最终回答和过程摘要。训练时,data/get_train_data.py 与 data/aime24_data.py 准备数据;train/serve_with_logs.sh 启动服务,train/train_with_logs.sh 执行 Flow-GRPO 训练。评测可先用 scripts/serve_vllm.sh 部署训练后的规划器,再进入 test 目录运行例如 bash bamboogle/run.sh 的任务脚本;结果写入各任务目录的 logs/、results/output_i.json 和 finalscore_*.log。

  1. 研究团队希望在 Natural Questions 风格检索任务和数学推理任务上训练一个会规划工具调用的规划器。
  2. 评测工程师需要通过 Bamboogle 等任务脚本,保存逐题日志、JSON 输出和最终评分。
  3. 拥有 Google Search API 凭据的开发者,希望让多模块系统为事实问题执行搜索、核验和回答生成。
  4. 需要将训练好的 7B 规划器通过 vLLM 提供服务,并替换基准脚本中的规划模型配置的团队。
  5. 想比较模块化 Planner、Executor、Verifier、Generator 协作方式与单一模型交错推理和工具调用方式的研究者。

如何安装或部署这个 Agent?

推荐运行环境为 Python 3.11。执行:

bash setup.sh
source .venv/bin/activate

将 agentflow/.env.template 复制为 agentflow/.env,并按所用功能配置 OPENAI_API_KEY(评判)、GOOGLE_API_KEY(Google Search);可选配置 DASHSCOPE_API_KEY 或 TOGETHER_API_KEY 以调用 Qwen-2.5-7B-Instruct。基准并行运行可选安装 GNU parallel:sudo apt-get update 后执行 sudo apt-get install parallel。

如何使用这个 Agent?

先在 agentflow/agentflow 运行 bash ./tools/test_all_tools.sh,并用 python agentflow/scripts/test_llm_engine.py 检查可用引擎。完成密钥配置后,运行 python quick_start.py 进行首次推理。训练时,在 tmux 的一个窗口执行 bash train/serve_with_logs.sh,另一个窗口执行 bash train/train_with_logs.sh;训练参数位于 train/config.yaml。要运行基准,先执行 bash scripts/serve_vllm.sh,再进入 test 并运行目标任务脚本。

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

优点
  • 把规划、执行、验证和生成拆为四个明确模块,并以演化记忆和工具集协调多轮执行。
  • Flow-GRPO 在系统运行过程中直接优化 Planner,目标针对稀疏奖励下的长程规划与工具使用。
  • 提供从工具与引擎自测、训练日志到 vLLM 服务和基准输出的可执行流程。
  • 文档列出多种引擎路径,包括 OpenAI、DashScope、Gemini、DeepSeek、Together 及本地 vLLM 部署。
局限
  • 要运行搜索和评判功能需自行配置 API 密钥;项目未给出这些服务的费用说明。
  • 默认 Executor、Verifier 和 Generator 使用经 DashScope 调用的 Qwen-2.5-7B-Instruct;改用其他模型需要修改代码配置。
  • 完整训练依赖 tmux、服务脚本、训练数据准备和相应计算资源,部署复杂度高于单次推理。
  • 仓库展示的部署方式是本地脚本、环境变量和 vLLM,未说明托管 API、Web UI 或 MCP 集成。

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

项目将自身与 Search-R1 对比:README 将 Search-R1 描述为训练单一 LLM 在推理步骤间交错工具调用,而 AgentFlow 采用四模块系统,并以 Flow-GRPO 在线优化 Planner。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
AgentFlow 智能体优化框架 当前 31 · 缺口较多 命令行工具免费 + 模型费 ★ 2.1k 9 个月前 Python OpenAI API
AReaL 异步强化学习平台 证据不足 命令行工具免费 ★ 5.9k 今天 Python —
LatentMAS 42 · 缺口较多 命令行工具免费 ★ 1.2k 4 个月前 Python —
Agent Lightning 40 · 缺口较多 命令行工具免费 + 模型费 ★ 19k 1 天前 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
31/ 100 五分制 1.6 / 5
信任安全 0/29
可靠稳定 5/14
适用触发 8/18
规范维护 8/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

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

可靠稳定5 / 14 · 1.8/5

证据显示:README和测试脚本在工具测试和LLM引擎测试方面提供了部分一致性,但未提供全面的错误处理或故障消息。依赖项在pyproject.toml中列出,但未验证可用性。因此,自一致性、依赖可用性和故障消息均得分为1。

适用触发8 / 18 · 2.2/5

证据显示:README明确了目标受众(研究人员和开发者)和场景(搜索、数学、科学),但能力边界未明确说明。触发精度(工具选择)在示例中有所体现,但未详细说明。环境适配(Python版本、API密钥)有说明,但未提供完整的配置细节。因此,受众和场景得分为2,其余为1。

规范维护8 / 18 · 2.2/5

证据显示:README提供了清晰的安装说明、示例和基准测试信息,但缺少已知限制、版本变更日志和明确的维护责任。许可证为MIT,但未提供版本控制或变更日志。因此,信息架构、安装说明、示例和许可证得分为2,命名稳定性、维护责任得分为1,已知限制和版本变更日志得分为0。

有效结果7 / 13 · 2.7/5

证据显示:输出格式(JSON、日志)在基准测试脚本中有说明,但未提供详细的输出规范。边际价值在README中通过基准测试结果得到支持,但成本效益未详细说明。因此,输出可用性和边际价值得分为2,成本效益得分为1。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明(如基准测试结果)未提供可追溯的详细数据,但提供了论文和项目页面的链接。跨来源验证有限,事实与推断的分离不明确。因此,所有标准得分为1。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 仓库未提供权限管理、数据流透明或敏感数据处理的相关文档,使用前需自行评估安全风险。
  • 依赖项未进行安全审计,且未提供版本锁定或漏洞缓解措施。
  • README中的性能声明缺乏可复现的详细数据,建议参考论文和项目页面进行验证。
证据充分度:低 评估于 2026年8月9日 审查版本 b94006436b87
查看完整评分方法 →

常见问题

首次运行至少需要哪些凭据?
Google Search 工具需要 GOOGLE_API_KEY;README 将 OPENAI_API_KEY 标注为用于评判。若使用相应引擎,还可配置 DashScope 或 Together 的密钥。
能否使用自己的模型?
可以。项目说明 Planner 可在对应 run.sh 中修改 llm_engine_name;其他模块可通过 planner.py 和 solver.py 的配置改用其他引擎。
如何在训练前发现环境或凭据问题?
可运行 bash ./tools/test_all_tools.sh 测试集成工具,并运行 python agentflow/scripts/test_llm_engine.py 测试 LLM 引擎初始化与响应。
训练和评测会产出什么?
训练由服务脚本和训练脚本运行;基准任务会保存逐题执行日志、output_i.json 生成答案及 finalscore_*.log 评分。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents