现代AI代理面临一个核心挑战:如何在复杂、动态的环境中自主完成需要多步骤工具调用和长期规划的任务?传统代理框架通常依赖于预定义的工作流程,限制了其在大规模工具集和长视野任务中的表现。DeepAgent通过将整个代理循环整合到单一连贯的推理过程中,实现了自主思考、按需工具发现和动作执行的统一,为通用AI代理设定了新标准。

为何需要DeepAgent:超越传统代理框架的局限

传统代理框架(如ReAct、CodeAct和Plan-and-Solve)主要遵循”推理-行动-观察”的预定义循环。这种方法在简单任务上表现良好,但在面对三个关键挑战时往往失效:(1)当工具集规模庞大时;(2)当任务需要长时间交互时;(3)当代理需要在推理过程中改变策略时。DeepAgent正是为了解决这些局限而设计,它将整个代理循环整合到一个连贯的推理流程中,使模型能够保持对任务的全局视角。

DeepAgent的关键创新在于它打破了传统代理的刚性结构,允许大型推理模型(LRM)在单一思考流中自主决策何时搜索工具、何时调用工具、何时折叠记忆,从而释放了模型的全部自主潜力。这不仅仅是一个技术改进,而是代理设计范式的根本转变。

DeepAgent的核心架构:三位一体的创新

统一的代理推理流程

DeepAgent最显著的特点是其统一的推理流程。与传统代理框架不同,DeepAgent允许模型在单一连贯的思考过程中直接输出四种动作类型:内部思考(internal thought)、工具搜索(tool search)、工具调用(tool call)和记忆折叠(memory fold)。

当代理决定搜索工具时,它会查询包含工具描述的密集索引(例如16,000多个RapidAPI工具和3,912个ToolHop工具),然后只在上下文中接收排名靠前的工具。这种动态工具访问机制使代理不受限于预加载的工具列表,能够适应真实环境中不断变化的工具集。

场景示例:在组织电影节时,用户需要查找Vimeo上与”纪录片”相关的视频,获取”电影”类别中的相关人员信息,以及提供特定YouTube视频的流媒体链接。DeepAgent会自主判断需要哪些工具,搜索并调用相应的API,最终整合所有信息提供完整答案。

自主记忆折叠:应对长视野任务

在长序列的工具调用、网页结果和代码响应中,上下文很容易溢出。DeepAgent通过自主记忆折叠机制解决这一问题。当模型发出折叠标记时,辅助LLM会将完整历史压缩为三种记忆:

  1. 情景记忆(Episodic Memory):记录任务事件,如关键决策点、子任务完成情况
  2. 工作记忆(Working Memory):记录当前子目标、近期遇到的挑战和计划
  3. 工具记忆(Tool Memory):记录工具名称、参数、结果和使用经验

这些记忆以结构化JSON格式反馈,使代理能够从一个紧凑但信息丰富的状态继续推理,避免陷入错误的探索路径。

技术细节

  • 情景记忆格式:{"task_description": "...", "key_events": [...], "current_progress": "..."}
  • 工作记忆格式:{"immediate_goal": "...", "current_challenges": "...", "next_actions": [...]}
  • 工具记忆格式:{"tools_used": [...], "derived_rules": [...]}

这种脑启发的记忆架构使DeepAgent能够在长时间交互中保持稳定性,特别是在ALFWorld和GAIA等长视野任务上表现出明显优势。

ToolPO:面向工具使用的端到端强化学习

监督学习轨迹在教授鲁棒工具使用方面存在不足,因为正确的工具调用往往只是长序列生成中的少数几个token。ToolPO(Tool Policy Optimization)通过两个关键创新解决这一问题:

  1. LLM模拟API:使用辅助LLM模拟真实世界API的响应,使训练过程更稳定、高效且低成本
  2. 工具调用优势归因:将奖励精确归因于工具调用token,提供更细粒度的学习信号

ToolPO使用裁剪的PPO风格目标函数进行优化,同时考虑任务成功奖励和动作级奖励,使代理不仅能达到最终答案,还能学习何时搜索工具、何时折叠记忆。

作者反思:在开发过程中,我们发现使用真实API进行训练会导致训练不稳定、延迟高且成本昂贵。LLM模拟API这一工程选择不仅解决了这些问题,还使我们能够生成更丰富多样的训练数据,极大地提升了模型在真实场景中的泛化能力。

性能验证:超越现有方法的实证结果

DeepAgent在9个基准测试集上进行了广泛评估,分为两类任务:通用工具使用任务和下游应用任务。

通用工具使用基准

方法 ToolBench API-Bank TMDB Spotify ToolHop
ReAct (QwQ-32B) 44.0 20.0 18.0 22.8 27.1
CodeAct (QwQ-32B) 48.0 16.0 31.0 24.6 29.0
DeepAgent-32B-RL 64.0 24.0 55.0 50.9 40.6

在开放集工具检索场景中,DeepAgent-32B-RL在ToolBench上达到了64.0%的成功率,在ToolHop上达到了40.6%,远超现有最佳工作流基线(分别为55.0%和36.2%)。这证明了端到端代理架构在大规模工具集场景中的优势。

下游应用任务表现

在ALFWorld(文本环境中的具身AI任务)、WebShop(在线购物)、GAIA(通用AI助手)和HLE(人类最后的考试)等复杂环境中,DeepAgent同样表现出色。特别是在ALFWorld上,DeepAgent-32B-RL达到了91.8%的成功率,远超其他32B规模模型。

这些结果表明,DeepAgent不仅在工具使用方面表现出色,在需要复杂推理和长期规划的实际应用中也具有显著优势。特别是在开放集场景(工具需要动态发现)中,DeepAgent的性能优势更为明显。

部署DeepAgent:从安装到运行

要将DeepAgent部署到您自己的环境中,以下是详细的技术步骤:

环境设置

# 创建conda环境
conda create -n deepagent python=3.10
conda activate deepagent

# 安装依赖
cd DeepAgent-main
pip install -r requirements.txt

模型服务配置

在运行DeepAgent前,需要使用vLLM部署推理模型和辅助模型。推荐的主推理模型包括:

模型 大小 类型 获取链接
Qwen3-4B-Thinking 4B Thinking HuggingFace
Qwen3-30B-A3B-Thinking 30B Thinking HuggingFace
QwQ-32B 32B Thinking HuggingFace
Qwen3-235B-A22B-Thinking 235B Thinking HuggingFace

辅助模型推荐使用Qwen2.5-Instruct或Qwen3-Instruct系列,参数规模与主推理模型相当,但无需thinking能力以获得更快的推理速度。

配置文件设置

所有配置都在./config/base_config.yaml中,需要修改以下关键部分:

  1. API配置

    • ToolBench:需要RapidAPI密钥
    • 深度研究:需要Google Serper API密钥
    • TMDB & Spotify:需要各自的API密钥
    • WebShop:需要服务URL
  2. 模型配置

    # 主推理模型
    model_name: "QwQ-32B"
    base_url: "http://0.0.0.0:8080/v1"
    api_key: "empty"
    tokenizer_path: "./models/QwQ-32B"
    
    # 辅助模型
    aux_model_name: "Qwen2.5-32B-Instruct"
    aux_base_url: "http://0.0.0.0:8081/v1"
    aux_api_key: "empty"
    aux_tokenizer_path: "./models/Qwen2.5-32B-Instruct"
    
  3. 工具检索器配置

    # 预部署工具检索服务
    python src/run_tool_search_server.py \
        --base_config_path ./config/base_config.yaml \
        --datasets toolbench,toolhop,tmdb,spotify,api_bank \
        --host 0.0.0.0 \
        --port 8001
    

运行DeepAgent

在工具搜索模式下运行:

python src/run_deep_agent.py \
    --config_path ./config/base_config.yaml \
    --dataset_name toolbench \
    --enable_tool_search \
    --eval

在封闭集模式下运行(仅使用任务提供的工具):

python src/run_deep_agent.py \
    --config_path ./config/base_config.yaml \
    --dataset_name gaia \
    --eval

参数说明

  • --enable_tool_search:允许代理搜索工具
  • --enable_thought_folding:启用记忆折叠机制
  • --max_action_limit:每个问题的最大动作数
  • --max_fold_limit:每个问题的最大记忆折叠次数
  • --top_k:工具搜索返回的最大工具数
  • --eval:生成后运行评估

作者反思:在配置过程中,我发现工具检索器的预服务部署对系统性能有显著影响。虽然初始设置需要更多步骤,但长期来看,这种架构设计使系统在处理大规模工具集时更加稳定和高效,特别是在高并发场景中。

实际应用案例:DeepAgent如何解决真实问题

案例1:多功能工具协调的电影节策划

用户查询:我正在组织一个电影节,需要帮助寻找最佳影片。请在Vimeo上搜索与”纪录片”相关的视频。此外,获取”电影”类别的相关人员,邀请他们作为嘉宾演讲者。最后,为ID为’UxxajLWwzqY’的YouTube视频提供流媒体链接。

DeepAgent处理流程

  1. 首先分析任务包含三个子任务:Vimeo纪录片搜索、电影类别人员获取、YouTube链接生成
  2. 搜索Vimeo视频搜索工具,调用搜索纪录片
  3. 由于没有直接搜索人员的工具,转而搜索”电影”标签的视频并获取创作者信息
  4. 搜索YouTube工具验证视频ID,构建流媒体链接
  5. 整合所有信息提供最终答案

结果:成功获取了纪录片列表、潜在嘉宾信息(如John Doe、Jane Smith)和YouTube流媒体链接。

案例2:复杂环境导航(ALFWorld)

在ALFWorld环境中,DeepAgent需要在一个文本描述的家庭环境中导航,完成如”把苹果放入冰箱”等任务。代理需要理解环境状态,规划移动路径,与物体交互,并在复杂场景中使用记忆折叠机制避免陷入循环。

DeepAgent在ALFWorld上达到91.8%的成功率,证明了其在具身AI任务中的强大能力,特别是在长序列决策和环境理解方面。

案例3:深度研究助手

作为研究助手,DeepAgent配备专门工具进行网络搜索、页面浏览、代码执行、视觉问答和文件处理。在GAIA基准测试中,它需要回答需要多步骤研究和信息整合的复杂问题,例如:”分析XYZ公司过去五年的财务趋势,并预测其明年股价”。

DeepAgent的统一推理流程允许它自主决定何时搜索信息、何时运行代码分析数据、何时调用视觉工具理解图表,最终提供全面、结构化的答案。

深度思考:技术发展与人机协作的未来

在开发DeepAgent的过程中,一个关键见解逐渐清晰:代理架构的设计不应该限制大型推理模型的能力,而应该释放其全部潜力。将整个代理循环整合到单一推理流中,不仅提高了性能,更重要的是改变了我们思考AI代理的方式。

传统的工作流框架将代理能力分割为独立的模块,而DeepAgent证明了统一架构的价值。这种转变类似于从分阶段编译器到即时编译器的演进 – 通过保留全局视角,系统可以做出更优化的决策。

作者反思:当我第一次看到DeepAgent在工具发现任务上超越人为预选工具的方法时,我意识到我们可能低估了大型模型自主决策的能力。通过提供正确的架构和训练方法,这些模型能够展现出惊人的工具发现和使用能力,甚至在某些情况下超越人类专家的选择。这不仅是技术进步,更是对AI与人类协作方式的重新思考。

此外,自主记忆折叠机制的设计灵感来源于人类认知。就像人类在复杂问题中会暂停、反思、重新规划一样,代理也需要这样的”喘息”机会。结构化记忆的引入不仅解决了上下文长度问题,还赋予了代理更高层次的自我调节能力。

结论:迈向通用AI代理的新时代

DeepAgent代表了AI代理发展的一个重要里程碑。通过将思考、工具发现和行动执行统一到单一推理过程中,它打破了传统代理框架的局限,为处理复杂、动态的现实世界任务提供了新范式。

其核心创新 – 统一推理流程、自主记忆折叠和ToolPO训练方法 – 共同解决了大规模工具使用和长视野交互的关键挑战。基准测试结果证明,这种架构在通用工具使用和下游应用任务上都具有显著优势,特别是在需要动态工具发现的开放集场景中。

随着模型能力的不断提升,DeepAgent这样的架构将变得越来越重要。它不仅是一个技术解决方案,更是通向更通用、更自主AI代理的关键一步。未来的工作将进一步优化记忆机制、工具交互和训练方法,使代理能够处理更复杂、更开放的任务。

一页速览:DeepAgent核心要点

  • 架构创新:将思考、工具发现和执行整合到单一推理流中
  • 动态工具使用:通过密集检索从16,000+工具中按需发现和调用工具
  • 记忆管理:自主记忆折叠机制将历史压缩为结构化记忆(情景、工作、工具)
  • 训练方法:ToolPO使用LLM模拟API和细粒度优势归因为工具调用提供精确学习信号
  • 性能优势:在9个基准测试中超越现有方法,特别是在开放集工具检索场景
  • 部署要求:需要vLLM服务的推理模型和辅助模型,配置API密钥和服务端点
  • 应用场景:通用任务处理、具身AI、深度研究、复杂环境导航

常见问题解答(FAQ)

Q1: DeepAgent与传统代理如ReAct有什么区别?
A1: DeepAgent将整个代理循环整合到单一连贯的推理过程中,而ReAct等传统方法遵循预定义的”推理-行动-观察”循环。DeepAgent能够动态发现工具而非依赖预注入的工具集,并能在推理过程中自主决定何时折叠记忆。

Q2: DeepAgent如何处理大量工具?
A2: 通过密集检索机制,DeepAgent从大规模工具注册表(如16,000+ RapidAPI工具)中动态检索相关工具,只将最相关的工具返回给模型,实现按需工具发现。

Q3: 记忆折叠机制如何工作?
A3: 当代理发出特殊折叠标记时,辅助LLM将完整交互历史压缩为三种结构化记忆:情景记忆(任务事件)、工作记忆(当前目标)和工具记忆(工具使用经验),以JSON格式返回,使代理能从紧凑状态继续推理。

Q4: ToolPO训练需要真实API吗?
A4: 不需要。ToolPO使用LLM模拟API响应,这使训练更稳定、高效且低成本,同时通过工具调用优势归因为正确工具调用提供精确学习信号。

Q5: 如何部署DeepAgent?
A5: 需要使用vLLM部署主推理模型和辅助模型,配置API密钥和服务端点,预服务工具检索器,然后通过命令行运行代理系统。

Q6: DeepAgent在哪些任务上表现最好?
A6: 在需要动态工具发现的开放集场景中表现最佳,如ToolBench和ToolHop基准测试。在长视野任务如ALFWorld和GAIA上也显示出明显优势,特别是结合记忆折叠机制时。

Q7: 可以用较小模型运行DeepAgent吗?
A7: 是的,DeepAgent支持多种规模模型,从Qwen3-4B到Qwen3-235B。性能随模型规模增加而提高,但即使是较小模型也能从统一架构中受益。

Q8: DeepAgent开源吗?
A8: 是的,代码和演示可在GitHub获取,遵循MIT许可。项目由中国人民大学和小红书联合开发,详细信息和最新更新可在官方仓库找到。