AgentFlow(lupantech/AgentFlow)正好切入这个空白。它的主张很明确:别只训练 agent,训练 agentic system 本身。论文称之为 “In-the-Flow Agentic System Optimization”——把多轮、多模块的交互流整体视为一条策略轨迹,端到端优化。
graph TD
A[用户查询] --> B[Planner<br/>拆解子目标并选择工具]
B --> C[Executor<br/>发起工具调用并解析观测]
C --> D[Verifier<br/>判断信息是否充分]
D -->|"未收敛"| B
D -->|"已收敛"| E[Generator<br/>合成最终答案]
E --> F[可验证结果奖励]
F --> G[Flow-GRPO<br/>组内优势广播到每一步]
G --> H[共享策略参数更新]
H -->|"新策略重采样轨迹"| B
[2025.10.13] 📸 Excited to have a tutorial video for AgentFlow covered by Discover AI on YouTube!
[2025.10.10] 🚀 Our X post received 1K+ likes! Feel free to check out the post and join the discussion! 💬
[2025.10.08] 🔥 We are honored to be featured as 🤗 HuggingFace Daily Paper #2.
🌟 Why AgentFlow?
AgentFlow is a trainable, tool-integrated agentic framework designed to overcome the scalability and generalization limits of today’s tool-augmented reasoning approaches.
Unlike prevailing approaches such as Search-R1 which train a single LLM to interleave reasoning steps with tool calls, AgentFlow introduces a modular agentic system with four specialized modules: 🧭 Planner, 🛠 Executor, ✅ Verifier, and ✍️ Generator.
For effective planning and tool use, the framework directly optimizes planner agent within the system in an online fashion using Flow-based Group Refined Policy Optimization (Flow-GRPO), achieving superior performance across diverse domains with improved tool-calling reliability and long-horizon reasoning capabilities.
📺 YouTube Tutorial
Excited to have a tutorial video for AgentFlow covered by Discover AI on YouTube!
🚀 Key Features
🧩 Modular Agentic System – Four specialized agent modules (Planner, Executor, Verifier, Generator) that coordinate via evolving memory and integrated tools across multiple turns.
🔗 Multi-Tool Integration – Seamlessly connect with diverse tool ecosystems, including base_generator, python_coder, google_search, wikipedia_search, web_search, and more.
🎯 Flow-GRPO Algorithm – Enables in-the-flow agent optimization for long-horizon reasoning tasks with sparse rewards.
📈 Proven Results – AgentFlow (7B Backbone) beats top baselines on 10 benchmarks, with +14.9% search, +14.0% agentic, +14.5% math, +4.1% science, even outperforming ~200B-parameter GPT-4o.
Copy the .env.template file from agentflow/.env.template and rename it to .env, then place it in the agentflow/ folder. Update the following variables with your own API keys:
OPENAI_API_KEY (for judging reasponse)
GOOGLE_API_KEY (for Google Search tool)
DASHSCOPE_API_KEY ([optional] for calling Qwen-2.5-7B-Instruct as engine for agents and tools)
TOGETHER_API_KEY ([optional] alternative for calling Qwen-2.5-7B-Instruct as engine for agents and tools - recommended for international users)
More ways: serve Qwen2.5-7B-instruct model with vLLM (details refer to serve_vllm_local.md).
Please check API Key Setup Guide for detailed instructions on how to obtain these keys.
cp agentflow/.env.template agentflow/.env
# Then edit agentflow/.env with your API keys
🔍 Check Before You Run (Recommended)
Before running inference or training, we recommend verifying that your API keys and environment are properly configured.
🛠️ Test Tools
Run the following command to test all integrated tools:
cd agentflow/agentflow
bash ./tools/test_all_tools.sh
Example output:
Testing all tools...
✅ base_generator passed
✅ google_search passed
✅ python_coder passed
✅ wikipedia_search passed
...
✅ All tests passed
🧠 Test LLM Engines
Verify that your LLM engines (OpenAI, DashScope, Gemini, etc.) are correctly initialized and responding:
AgentFlow provides a modular agentic system with four specialized modules (planner, executor, verifier, generator) that coordinate through evolving memory and a toolkit over multiple turns to solve complex reasoning tasks.
To quickly experience the system in action, run the command below (don’t forget to set up your API key):
python quick_start.py
Example output of python quick_start.py:
==> Initializing agentflow...
==> Setting up tools...
==> 🎯 Reasoning Steps from AgentFlow (Deep Thinking...)
==> 🔍 Step 0: Query Analysis
==> 🎯 Step 1: Action Prediction (Google_Search_Tool)
==> 🛠️ Step 1: Command Execution (Google_Search_Tool)
...
**Answer:** The capital of France is Paris.
==> ✅ Query Solved!
**Process Summary:**
1. **Query Analysis:** Identified as a factual question about the capital of France.
2. **Tool Selection:** Used Google Search for accurate information.
3. **Execution:** Confirmed Paris as the capital.
4. **Verification:** Cross-referenced sources for reliability.
**Answer:** The capital of France is Paris.
💥 Quick Start on AgentFlow Flow-GRPO Training
For effective planning and tool use, the framework directly optimizes the planner agent within the system in an online fashion using Flow-GRPO. Below is a quick start for training.
(Optional) Test Your Environment
Before diving in, we recommend verifying that AgentFlow’s tools, LLM engines, and network configuration are properly set up. See test_env.md for detailed testing instructions.
Start agentflow training using Flow-GRPO with tmux:
# Create tmux session and start agentflow service (Window 0)
tmux new-session -s agentflow
bash train/serve_with_logs.sh
# Create new window (Ctrl+B then C) and start training (Window 1)
bash train/train_with_logs.sh
Configuration:
All training hyperparameters are in train/config.yaml (model settings, tools, RL parameters, resources, etc.)
Logging:
We provide a comprehensive logging to monitor training. See logs.md for more details.
cd test
# Run Bamboogle benchmark
bash bamboogle/run.sh
After running, each task folder (e.g., test/bamboogle/) will contain:
data/: Contains the evaluation dataset (e.g., data.json).
logs/: Contains detailed execution logs for each problem index (organized by model label).
results/: Contains the model’s generated answers (output_i.json) and final evaluation scores (finalscore_*.log).
You can find more benchmarking details in benchmark.md.
🧩 Use Your Own Model in AgentFlow
AgentFlow supports different LLM engines for each agent module. See llm_engine.md for supported models and factory.py for the corresponding model_string configuration:
Planner Agent:
Modify the llm_engine_name parameter in the corresponding run.sh script (e.g., test/bamboogle/run.sh)
Other Agents (Executor, Verifier, Generator):
By default, these agents use a fixed LLM engine (Qwen-2.5-7B-Instruct via DashScope)
We are truly looking forward to open-source contributions to AgentFlow! If you’re interested in contributing, collaborating, or reporting issues, please feel free to open an issue or submit a pull request (PR). You can also reach us at [email protected], [email protected], [email protected] or join our Slack community: AgentFlow.
We are also looking forward to your feedback and suggestions!
📚 Citation
@inproceedings{li2026flow,
title = {In-the-Flow Agentic System Optimization for Effective Planning and Tool Use},
author = {Li, Zhuofeng and Zhang, Haoxiang and Han, Seungju and Liu, Sheng and Xie, Jianwen and Zhang, Yu and Choi, Yejin and Zou, James and Lu, Pan},
booktitle = {International Conference on Learning Representations (ICLR)},
year = {2026}
}
评论