202509
ai-systems

DeepResearch 中的分层代理规划:多跳 RAG 与工具调用工程实践

工程视角下 Tongyi DeepResearch 的分层代理,支持多跳 RAG 检索与动态工具调用,实现复杂任务自动化规划。

在复杂研究任务的自动化执行中,分层代理规划已成为提升 AI 系统效率的关键技术。Tongyi DeepResearch 通过分层结构,将高层规划器与低层执行器分离,实现任务分解、多跳 RAG 检索和工具调用的无缝集成。这种设计不仅降低了单模型的认知负担,还通过动态决策循环确保了任务的鲁棒性和可扩展性。本文聚焦工程实现,提供参数配置和落地清单,帮助开发者构建高效的代理系统。

分层代理的核心观点:从任务分解到执行优化

分层代理规划的核心在于将复杂问题拆解为可管理的子模块。高层规划器(Planner)负责整体策略制定,生成任务树或子任务序列;低层执行器(Executor)则针对每个子任务调用具体工具,如 RAG 检索或计算器。这种架构避免了单层模型在长时程任务中的状态膨胀问题,支持并行执行和迭代反馈。

在 Tongyi DeepResearch 中,这一设计源于其对长时程信息搜索的优化需求。规划器使用 LLM(如 30B 参数模型)分析用户查询,输出结构化的任务计划,例如将“分析市场趋势”分解为“检索历史数据”“调用分析工具”“合成报告”。执行器则在每个节点上激活工具链,实现多跳 RAG:第一跳检索初始关键词,第二跳基于结果精炼查询,避免信息碎片化。证据显示,这种分层方法在 BrowserComp 基准上提升了 43.4% 的准确率,证明了其在多源交叉验证中的效能。

动态决策循环进一步强化了分层结构。通过 ReAct 范式(Reasoning + Acting),代理在执行后评估结果,若偏差超过阈值(如相关性分数 < 0.7),则触发规划器重规划。这种循环使用 Group Relative Policy Optimization(GRPO)框架的 token-level 梯度,确保在非平稳环境中稳定训练。实际工程中,这意味着代理能自主处理不确定性,如网络延迟或数据噪声,而非简单线性执行。

多跳 RAG 检索与工具调用的集成证据

多跳 RAG 是分层代理的检索骨干,支持从浅层事实到深层推理的递进。传统单跳 RAG 易受初始查询偏差影响,而 DeepResearch 的多跳机制允许代理迭代检索:第一跳使用嵌入式向量数据库(如 FAISS)匹配语义相似文档;后续跳数基于前一跳输出动态调整查询向量。例如,在处理法律案例时,第一跳检索法条,第二跳调用 Google Scholar API 补充判例,第三跳合成交叉分析。

工具调用集成是另一关键证据。DeepResearch 支持插件式工具层,包括搜索引擎、Python 解释器和文件解析器。调用流程:执行器生成 JSON 格式的工具请求,如 {"name": "web_search", "parameters": {"query": "2022 房产销售记录"}},然后解析响应注入上下文。官方基准显示,这种集成在 WebWalkerQA 上实现了 51.5% 的 SOTA 性能,远超纯 LLM 的 10% 左右。

工程参数配置至关重要。对于多跳 RAG,推荐设置最大跳数为 3–5,避免无限循环;检索阈值设为 cosine 相似度 > 0.8,确保召回质量。工具调用时,API 超时阈值为 30 秒,失败重试次数为 3 次,使用指数退避策略(初始延迟 1s,倍增至 8s)。在动态决策中,评估模块可采用 ROUGE 分数或自定义相关性提示,阈值 0.75 触发反思。

动态决策循环的工程实现

动态决策循环通过反馈机制闭环优化分层代理。规划器输出任务树后,执行器并行处理叶节点;每个节点结束时,代理使用 LLM 评估器检查输出一致性,若不符(如事实冲突),则回溯至规划器调整树结构。这种循环借鉴 IterResearch 的 'Heavy' 模式,在测试时扩展推理深度,解锁模型上限。

证据来自 DeepResearch 的 RL 训练:采用 on-policy GRPO,结合 leave-one-out 优势估计和负样本过滤,稳定了多代理交互。实际部署中,这表现为代理在 HLE 基准上的 32.9% 得分,超越 OpenAI 的 26.6%。工程上,循环迭代上限设为 10 次,总 token 预算控制在 128K 内;监控点包括循环深度(警报 >5)和工具调用成功率(目标 >95%)。

可落地参数包括:规划器提示模板强调“生成 5–7 个子任务,每个包含工具建议”;执行器绑定工具 API 密钥,确保安全沙箱执行 Python 代码。风险缓解:集成日志系统记录每跳检索来源,回滚策略为若总时长 > 5 分钟,则切换至简易模式(单跳 RAG)。

落地清单:构建与监控

  1. 环境准备:Python 3.10,安装 requirements.txt(包含 transformers、faiss-cpu)。下载模型至本地路径,避免 API 依赖。

  2. 代理配置:在 run_react_infer.sh 中设置 MODEL_PATH="huggingface.co/Alibaba-NLP/Tongyi-DeepResearch-30B-A3B",DATASET="eval_data/example.jsonl",启用工具如 RETRIEVAL_API_KEY。

  3. 多跳 RAG 实现:使用 LangChain 或自定义链,参数:chunk_size=512,overlap=50;向量嵌入用 sentence-transformers/all-MiniLM-L6-v2。

  4. 工具集成:定义工具函数,如 def web_search(query): return tavily_search(query, max_results=5)。集成动态调用,监控调用频率 < 10/min。

  5. 决策循环:实现 ReAct 循环,评估函数:prompt="评估此输出与查询的相关性(0-1)",阈值 0.7 以下重试。

  6. 监控与回滚:使用 Prometheus 追踪指标(检索延迟、成功率);异常时,回滚至 base LLM 模式。测试数据集置于 eval_data/,运行基准评估。

  7. 优化参数:激活参数 3.3B,上下文 128K;批处理大小 1(单代理),GPU 内存 >40GB。

通过这些工程实践,分层代理规划使 DeepResearch 适用于真实场景,如市场研究或法律分析。开发者可从 GitHub 仓库起步,逐步扩展工具链,实现高效自动化。(字数:1028)