OpenAI/Google 的 Deep Research 产品火了之后,LangChain 在 2024-11 开了这个仓库做开源复刻,迭代了大半年成为社区里被引用最多的参考实现之一(12,678 stars)。它不绑定单一模型:summarization/research/compression/final report 四个环节各自可配模型(默认全家桶是 gpt-4.1 系),搜索默认 Tavily,也支持 Anthropic/OpenAI 原生 web search 和任意 MCP server。
这个项目的特殊价值在于它公开保留了三代架构的演化痕迹:最早的 plan-and-execute workflow(legacy/graph.py)、失败的"每个 sub-agent 各写一节报告"多 agent 版(legacy/multi_agent.py)、以及当前的"多 agent 只收集材料、最后 one-shot 写全文"版本。作者 Lance Martin 专门写了一篇 bitter lesson 博客复盘为什么前两版被淘汰,是难得的架构决策一手资料。
2026-08 仓库已 archived,LangChain 把后续投入转到了 deepagents(通用 deep agent 框架)。作为"活项目"它结束了,但作为参考架构读依然是同类里最清楚的。

三段式主图:Scope → Research → Write
顶层 LangGraph 只有 4 个节点:clarify_with_user(必要时反问用户澄清需求)→ write_research_brief(把对话压成一份 research brief)→ research_supervisor 子图 → final_report_generation。关键设计是把"写报告"从研究阶段彻底剥离:研究阶段只产出压缩后的 findings,最后由一个模型拿着全部材料一次性写完整报告,避免了并行写作导致的章节脱节。

supervisor-researcher 双层子图
supervisor 子图是 supervisor ↔ supervisor_tools 的循环:supervisor 通过调用 ConductResearch 工具把子课题派发给 researcher 子图(可并发多个),调用 ResearchComplete 结束研究;researcher 子图又是 researcher ↔ researcher_tools 的循环(真正调 search/MCP 工具),结束前经过 compress_research 节点用单独的模型把搜索原文压缩成 findings 再交回 supervisor。上下文管理是分层的:搜索结果先由便宜的 summarization 模型(默认 gpt-4.1-mini)摘要,researcher 结束时再整体 compress,supervisor 层只见压缩产物。
整个核心实现就 5 个文件(deep_researcher.py 约 30KB + configuration/prompts/state/utils),没有用高层 agent 抽象,只用 LangGraph 的 nodes/edges——作者明确说这是为了让"结构"容易被拆掉。
被淘汰的两代架构(bitter lesson 复盘)
v1 是 orchestrator-worker workflow:先把请求拆成报告章节列表,workers 并行研究并各写一节。当年避免 tool calling 是因为 2023-2024 初模型工具调用不可靠——几个月后这个假设失效,固定的章节拆分也太僵硬。v2 改成多 agent 但仍让每个 sub-agent 写自己的章节,结果和 Cognition 的 Walden Yan 批评的一样:sub-agent 之间互相看不见,报告照样脱节。当前版的教训总结成一句:多 agent 适合并行"收集上下文",不适合并行"做决策/写作"。
if is_token_limit_exceeded(e, ...) or True: —— or True 恒真,任何异常(429 限流、网络抖动、单个 researcher 失败)都会静默终止整个研究阶段,然后照常花 token 生成一份残缺报告,质量骤降但无报错。issue #283(仍 open)进一步指出 supervisor_tools 会把子任务异常当成研究成功完成。作为参考架构读没问题,直接拿去生产要先自己修错误处理。做 autoresearch 方向的同学把这个仓库当"深度调研 agent 的标准参考架构"读最合适:代码量小(核心 5 个文件)、每个设计决策有博客复盘背书、且踩过的坑(并行写作脱节、固定章节拆分僵化、异常静默吞掉)都是我们自己搭 research agent 时大概率会重蹈的。"多 agent 只并行收集上下文、决策和写作收敛到单点"这条结论,与 Cognition 的 Don't Build Multi-Agents 一文互为印证,值得当默认设计原则。
Deep Research Bench 的评测管线也可以直接借用:它展示了怎么用 LangSmith 跑批量实验、导出 JSONL 提交第三方榜单,以及 research model 单项消融(gpt-4.1 vs Sonnet 4 vs GPT-5)带来 0.43→0.49 的差距和 3-4 倍成本差——做同类系统选型时这是现成的成本-质量数据点。
or True bug 修复是否进了归档前的最后版本,拿来用之前要自己 grep 一下。