AgentFlow 智能体优化框架
用 Flow-GRPO 在线训练规划器,提升多工具长程推理的规划与调用可靠性。
按维度查看评分与理由
证据显示:仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有信任相关标准均未得到支持,因此得分为0。
证据显示:README和测试脚本在工具测试和LLM引擎测试方面提供了部分一致性,但未提供全面的错误处理或故障消息。依赖项在pyproject.toml中列出,但未验证可用性。因此,自一致性、依赖可用性和故障消息均得分为1。
证据显示:README明确了目标受众(研究人员和开发者)和场景(搜索、数学、科学),但能力边界未明确说明。触发精度(工具选择)在示例中有所体现,但未详细说明。环境适配(Python版本、API密钥)有说明,但未提供完整的配置细节。因此,受众和场景得分为2,其余为1。
证据显示:README提供了清晰的安装说明、示例和基准测试信息,但缺少已知限制、版本变更日志和明确的维护责任。许可证为MIT,但未提供版本控制或变更日志。因此,信息架构、安装说明、示例和许可证得分为2,命名稳定性、维护责任得分为1,已知限制和版本变更日志得分为0。
证据显示:输出格式(JSON、日志)在基准测试脚本中有说明,但未提供详细的输出规范。边际价值在README中通过基准测试结果得到支持,但成本效益未详细说明。因此,输出可用性和边际价值得分为2,成本效益得分为1。
证据显示:README中的声明(如基准测试结果)未提供可追溯的详细数据,但提供了论文和项目页面的链接。跨来源验证有限,事实与推断的分离不明确。因此,所有标准得分为1。
- 仓库未提供权限管理、数据流透明或敏感数据处理的相关文档,使用前需自行评估安全风险。
- 依赖项未进行安全审计,且未提供版本锁定或漏洞缓解措施。
- README中的性能声明缺乏可复现的详细数据,建议参考论文和项目页面进行验证。
这个 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。
- 研究团队希望在 Natural Questions 风格检索任务和数学推理任务上训练一个会规划工具调用的规划器。
- 评测工程师需要通过 Bamboogle 等任务脚本,保存逐题日志、JSON 输出和最终评分。
- 拥有 Google Search API 凭据的开发者,希望让多模块系统为事实问题执行搜索、核验和回答生成。
- 需要将训练好的 7B 规划器通过 vLLM 提供服务,并替换基准脚本中的规划模型配置的团队。
- 想比较模块化 Planner、Executor、Verifier、Generator 协作方式与单一模型交错推理和工具调用方式的研究者。
这个 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?
推荐运行环境为 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 与同类方案有什么区别?
项目将自身与 Search-R1 对比:README 将 Search-R1 描述为训练单一 LLM 在推理步骤间交错工具调用,而 AgentFlow 采用四模块系统,并以 Flow-GRPO 在线优化 Planner。
常见问题
首次运行至少需要哪些凭据?
GOOGLE_API_KEY;README 将 OPENAI_API_KEY 标注为用于评判。若使用相应引擎,还可配置 DashScope 或 Together 的密钥。能否使用自己的模型?
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 评分。