← 返回资料站  /  AutoResearch
项目 深度调研

LangChain Open Deep Research

LangChain 官方开源深度调研 agent
一句话LangChain 官方的开源 deep research agent:Scope→Research→Write 三段式 + supervisor-researcher 多 agent 架构,核心实现只有 5 个 Python 文件;在 Deep Research Bench 上 RACE 0.4344 排第 6(换 GPT-5 做 research model 可到 0.4943),12.7k stars,2026-08 仓库归档、由 deepagents 接棒。

这是什么

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 brief)→ Research 阶段(Research Supervisor 向多个 Research Sub-agents 派发 topics、回收 findings)→ Write 阶段(拿全部 findings 一次性 one-shot 生成报告)。注意写作不在研究阶段并行发生,这是它与两代旧架构的核心区别。
三段式架构总览:Scope 阶段(向用户澄清 + 生成 research brief)→ Research 阶段(Research Supervisor 向多个 Research Sub-agents 派发 topics、回收 findings)→ Write 阶段(拿全部 findings 一次性 one-shot 生成报告)。注意写作不在研究阶段并行发生,这是它与两代旧架构的核心区别。

机制与做法

三段式主图:Scope → Research → Write

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

LangGraph Studio 里的实际执行图:顶层 clarify_with_user → write_research_brief → research_supervisor 子图(supervisor ↔ supervisor_tools 循环)→ final_report_generation。与源码 deep_researcher.py 的 StateGraph 定义一一对应。
LangGraph Studio 里的实际执行图:顶层 clarify_with_user → write_research_brief → research_supervisor 子图(supervisor ↔ supervisor_tools 循环)→ final_report_generation。与源码 deep_researcher.py 的 StateGraph 定义一一对应。

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 适合并行"收集上下文",不适合并行"做决策/写作"。

关键结果

实证核查

扎实架构声称与代码完全对得上,benchmark 成绩在公开榜单可查、评测脚本随仓库开源,连失败的旧架构都留档了;瑕疵是错误处理有几个实打实的 bug,且项目已归档不再修。
README 声称性能"on par with many popular deep research agents",Deep Research Bench 排第 6(RACE 0.4344)。
榜单(HF Space Ayanami0730/DeepResearch-Leaderboard)公开可查,README 结果表给出了每次实验的 commit、成本、token 数和 LangSmith 实验链接,评测脚本 tests/run_evaluate.py 开源可复跑。0.43-0.49 的分数段确实与主流实现相当,但离榜首仍有差距,README 没有夸大。
supervisor 的异常处理设计为"仅 token 超限时提前结束研究"。
issue #333(已关闭)指出 supervisor 子图里写着 if is_token_limit_exceeded(e, ...) or True: —— or True 恒真,任何异常(429 限流、网络抖动、单个 researcher 失败)都会静默终止整个研究阶段,然后照常花 token 生成一份残缺报告,质量骤降但无报错。issue #283(仍 open)进一步指出 supervisor_tools 会把子任务异常当成研究成功完成。作为参考架构读没问题,直接拿去生产要先自己修错误处理。
开源、可持续使用的 deep research 实现。
GitHub API 显示仓库 archived=true(最后 push 2026-08-10),issue 区还挂着 30+ 个 open issue/PR(含 #283、#252 上下文裁剪裁错方向等 bug)不会再有人修;LangChain 官方后续方向是 langchain-ai/deepagents。另有配套免费课程和 deep_research_from_scratch 教学仓库,学习路径反而比多数活跃项目完整。
博客声称当前架构是从两代失败架构演化而来。
src/legacy/ 目录确实保留了 graph.py(workflow 版)和 multi_agent.py(各写各节的多 agent 版)两套完整旧实现,与博客叙述一致;当前版 deep_researcher.py 的节点结构(clarify→brief→supervisor 子图→one-shot report)与架构图逐一对应,已用 gh api 对照源码确认。

与我们方向的关系

做 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 倍成本差——做同类系统选型时这是现成的成本-质量数据点。

阅读笔记

读代码认准 src/open_deep_research/deep_researcher.py(当前版),别误读 src/legacy/ 下的旧实现。issue #333 的 or True bug 修复是否进了归档前的最后版本,拿来用之前要自己 grep 一下。

材料清单

代码仓库github.com/langchain-ai/open_deep_research
12678★ · 最近推送 2026-08-10 · 已归档
bitter lesson 复盘博客rlancemartin.github.io/2025/07/30/bitter_lesson/
三代架构演化与失败原因,比 README 信息量大
Deep Research Bench 榜单huggingface.co/spaces/Ayanami0730/DeepResearch-Leaderboard
RACE 分数公开可查
官方介绍博客blog.langchain.com/open-deep-research/
2025-07 概览
教学仓库github.com/langchain-ai/deep_research_from_scratch
配套免费课程 Deep Research with LangGraph 的代码
后继项目github.com/langchain-ai/deepagents
本仓库归档后 LangChain 的投入方向

同类条目