Skip to content

54. 如何设计一个 Deep Research 系统? ​

难度 P0 必背 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min

👔面试官:如何设计一个 Deep Research 系统?

🙋‍♂️我:查询规划、多源检索、报告生成。

👔面试官:对,但要更完整:查询规划器、检索执行器、信息融合层、迭代控制器、报告生成器。而且重点是规划质量、引用质量、可信度、过程可回放。你能展开吗?

TL;DR 速记 ​

  • 是什么:Deep Research 是「规划 → 检索 → 融合 → 迭代 → 报告」的研究型 Agent。
  • 关键点:不是搜得多就好,而是规划质量、引用质量、冲突处理、可信度和可回放。
  • 怎么答:用显式 Workflow 管住状态、预算和停止条件,最终输出可验证的带引用报告。

图解 ​

Deep Research 五步闭环 ​

💡 简要回答 ​

五模块设计:

模块职责
查询规划器把复杂问题拆成子问题
检索执行器多源检索(搜索、数据库、知识库)
信息融合层去重、冲突检测、证据对齐、可信度加权
迭代控制器证据不足时继续补检
报告生成器输出摘要、正文、引用、时间戳

设计重点:

  • 不只是召回率,是规划质量、引用质量、可信度、可回放性
  • 倾向于用 Workflow/LangGraph 显式编排,不是黑盒对话

常见踩坑与反例 ​

  • 踩坑 1:把 Deep Research 说成“多搜几次”。错误点是只强调搜索量;正确做法是强调查询规划、证据融合和迭代判断。
  • 踩坑 2:只生成报告,不保留证据链。没有引用、时间戳和来源快照,结论无法复核;应让每个关键结论都能追到证据。
  • 踩坑 3:不处理信息冲突。多来源结果不一致时不能直接拼接;要做来源可信度、时效性和冲突标注。
  • 踩坑 4:完全交给黑盒 Agent 自由跑。生产系统要有 Workflow、预算、超时、停止条件和日志回放。

面试官可能继续追问 ​

  • 追问 1:怎么评估 Deep Research 质量? 看问题覆盖率、引用可验证率、冲突处理率、事实错误率和人工复核通过率。
  • 追问 2:如何控制成本和延迟? 设置轮次预算、置信度停止、分层检索、结果缓存和并行检索。
  • 追问 3:证据不足时怎么办? 明确标注不确定性,触发补检或转人工,而不是强行生成结论。
  • 追问 4:为什么适合用 LangGraph/Workflow? 因为研究任务有状态、分支、重试和可回放需求,显式编排更可控。

📝 详细解析 ​

五模块实现细节 ​

查询规划器:接收复杂问题,用 LLM 生成研究提纲和子问题清单。关键:子问题要具体可检索(「2024年英伟达GPU出货量是多少」),而不是模糊抽象(「了解AI芯片市场」)。规划质量决定整体研究质量。

检索执行器:并行执行多类检索:

  • 网络搜索(Bing/Google API)获取最新信息
  • 内部知识库检索已有文档
  • 结构化数据库查询统计数据
  • 学术数据库检索研究论文

信息融合层:核心难点在于:

  • 去重:不同来源报道同一事实,合并为一条
  • 冲突检测:同一问题的数字或结论不一致时,标注冲突,按来源可信度和时效性排序
  • 引用管理:每条信息都要关联来源 URL、标题、发布时间

迭代控制器:每轮检索后,LLM 评估「当前信息是否足以回答原问题」:

  • 信息充足 → 进入报告生成
  • 信息不足 → 生成新的检索查询,回到检索步骤
  • 设置最大轮次(如 5 轮)防止无限循环

报告生成器:输出结构化报告(摘要、各章节正文、引用列表)。关键:每个关键结论都要有对应引用,确保可验证。

为什么用显式 Workflow 而不是 ReAct ​

ReAct 让模型自由决策下一步,适合探索性任务。Deep Research 有清晰的阶段划分(规划→检索→融合→迭代→报告),用 LangGraph 显式编排:每个阶段有明确的输入输出、状态检查点、预算控制,更可控、可观测、易于调试和回放。

🎯 面试总结 ​

五模块:规划→检索→融合→迭代→报告。重点是研究过程可拆解、证据可求证。


章节首页 · ← Q53 · Q55 →

最后更新2026-05-01
难度P0
频率medium
阅读5 min
主题llm
觉得有帮助?把这个链接转给正在求职的朋友 · 用 Ctrl + K 全站搜索其它题