news 2026/3/20 5:12:27

【必收藏】LangGraph深度研究智能体实战:LangChain官方OpenDeepResearch完整源码解析与本地部署指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【必收藏】LangGraph深度研究智能体实战:LangChain官方OpenDeepResearch完整源码解析与本地部署指南

本文深入解析了LangChain官方OpenDeepResearch项目,详细对比了Graph工作流与Multi-Agent多智能体两种架构的设计思路与核心节点,提供了从环境配置、依赖安装到本地部署的完整实践指南。通过源码分析,帮助开发者掌握复杂AI智能体系统的构建方法,是LangGraph教程的有力补充。

一、OpenDeepResearch项目简介

opendeepresearch (https://github.com/langchain-ai/open_deep_research)是 LangChain 团队开源的多功能深度研究项目模板。该项目集成了多个不同应用场景的 DeepResearch 类智能体,每个智能体都针对特定类型的研究问题进行了优化,是学习 DeepResearch 智能体构建的“葵花宝典”。

open deep researcher旨在复现和拓展 DeepResearch 的核心能力,让用户能够使用 AI 自动化完成复杂的信息调研和报告撰写任务。用户只需输入研究主题或问题,open deep researcher便会自动生成精准的搜索查询,抓取并分析网页内容,通过多轮迭代不断完善研究成果,最终输出结构清晰的 Markdown 格式报告。与 mini 版本相比,open deepresearch不仅能够返回原始信息,更重要的是能够人工介入信息筛选和内容整合,并通过多轮迭代自主发现知识空白并持续检索,最终最终生成的报告质量堪比专业研究员整理的成果,而非简单的信息堆砌。

二、 open deep research源码解析

OpenDeepResearch 项目提供了两种不同的实现架构:基于工作流的有向图(Graph)模式多智能体(Multi-Agent)模式。这两种架构各有侧重,分别适用于不同的应用场景和需求。大家可关注笔者微信公众号:大模型真好玩,并私信opendeepresearch即可获得opendeepresearch项目的完整代码。

2.1 工作流的有向图(Graph)模式

Graph工作流模式采用规划—执行的顺序流程,将深度研究任务划分为固定阶段依次完成:首先使用“规划”大模型分析主题,生成报告的大纲和计划;然后经过人工反馈确认计划;接下来对每个章节依次进行检索和写作,每一章节都包含搜索—总结—反思的循环,确保信息充分;最后整合各章节内容并生成完整报告。其核心源代码位于src/open_deep_research/graph.py

2.1.1 Graph工作流模式关键节点

1. generate_report_plan

async def generate_report_plan(state: ReportState, config:RunnableConfig)
  • 工作流的首个主要步骤,基于报告主题生成初始计划
  • 利用LLM创建搜索查询并获取上下文信息
  • 根据网络搜索结果制定详细的章节结构
  • 支持基于用户反馈重新生成计划

2. human_feedback

def human_feedback(state: ReportState, config: RunnableConfig)
  • 交互式节点(用到interrupt, 该功能笔者LangGraph教程中并未提及,大家正好借此机会进行学习),获取用户对报告计划的反馈
  • 展示当前计划供审查,通过中断机制等待用户输入
  • 支持直接批准计划或提供修改意见触发重新规划

3. build_section_with_web_research
内嵌的章节构建子图,包含以下核心函数:

  • generate_queries:为特定章节生成针对性搜索查询
async def generate_queries(state: SectionState, config:RunnableConfig)
  • search_web:执行网络搜索获取研究资料
async def search_web(state: SectionState, config: RunnableConfig)
  • write_section:撰写章节内容,并自动评估质量以决定是否需要进一步研究
async def write_section(state: SectionState, config: RunnableConfig)

4. write_final_sections

async def write_final_sections(state: SectionState, config: RunnableConfig)
  • 编写不需要独立研究的章节(如总结、结论等)
  • 基于已完成的研究内容进行整合撰写

5. gather_completed_sections

def gather_completed_sections(state: ReportState)
  • 收集所有已完成研究的章节内容
  • 为最终章节写作准备必要的上下文材料
  1. compile_final_report
def compile_final_report(state: ReportState, config: RunnableConfig)
  • 整合所有章节形成最终研究报告
  • 可选择性地包含源材料引用,确保内容可追溯

2.1.2 Graph工作流执行流程解析

基于笔者前面对关键节点的分析,我们可以清晰地梳理出Graph工作流的完整执行流程:

核心执行阶段

  1. 生成报告大纲:根据输入主题生成初步的报告结构
  2. 人类反馈确认:请求用户确认或提供修改意见
  3. 并行研究写作:对需要深入研究的章节并行执行“搜索-总结-反思”循环
  4. 编写静态章节:完成结论等无需额外研究的内容
  5. 编译最终报告:整合所有章节形成完整研究报告

架构演进亮点

相较于我们之前实现的mini版本,Graph模式在架构上实现了重要升级:

  • 意图识别与确认机制:新增用户意图识别环节,通过大纲确认确保研究方向准确
  • 智能化任务分解:具备主题拆分与执行计划自动生成能力
  • 迭代优化策略:采用多轮搜索迭代,在关键节点反复调用搜索引擎,持续优化内容质量

这一架构将简单的线性流程升级为具备反馈循环和并行处理能力的智能工作流,显著提升了研究报告的深度与准确性。

2.2 多智能体(Multi-Agent)模式

Multi-Agent模式并非采用顺序流程,采用监督者-研究员的多智能体协作机制,以提高调研效率。由一个监督Agent(Supervisor)负责总体规划和协调,多个研究Agent(Researcher)并行执行各章节的搜索与写作。具体而言,监督Agent首先根据用户主题拟定报告的大致章节计划,分配若干研究Agent分别处理不同的章节任务。各研究Agent接收到自己负责的章节后,并行地生成该章节的搜索查询,利用搜索工具检索资料,整理后撰写章节内容。所有章节同时开展研究,大大减少了总的报告生成时间。监督Agent在此过程中还可以提问澄清用户需求(如果启用的话),确保理解准确,然后在研究Agent完成各自章节后,监督Agent负责最后汇总各章节并撰写引言结论,组成完整报告。其核心源码位于\src\open_deep_research\multi-agent.py

2.2.1 多智能体模式关键节点解析

基于监督者-研究员的角色定位,多智能体模式功能可分为监督者函数和研究代理函数两大类。

监督者核心函数

supervisor

async def supervisor(state: ReportState, config: RunnableConfig)
  • 接收当前状态和历史对话信息
  • 加载适当的工具集供决策使用
  • 调用大模型进行任务规划、结构设计和任务分配

supervisor_tools

async def supervisor_tools(state: ReportState, config: RunnableConfig)
  • 执行监督者supervisor决策调用的各类工具
  • 调用处理问题的工具,向用户提问澄清需求
  • 调用处理文章引言和结论的工具
  • 调用处理文章不同章节的工具调用,同时触发研究代理团队启动,将不同节的任务分给不同的研究者
  • 处理搜索工具调用并收集来源信息

supervisor_should_continue

async def supervisor_should_continue(state: ReportState) -> str
  • 决策监督者代理是否继续循环执行或结束流程
  • 若调用FinishReport或无工具调用则终止流程
  • 否则继续执行工具调用循环
研究者核心函数

research_agent

async def research_agent(state: SectionState, config: RunnableConfig)
  • 接受监督者分配的特定章节任务
  • 加载研究所需的相关工具集
  • 调用大模型执行具体的研究和写作任务
  • 确保至少调用一个工具完成研究工作

research_agent_tools

async def research_agent_tools(state: SectionState, config: RunnableConfig)
  • 执行研究代理决策调用的各类工具
  • 处理章节工具调用,完成指定章节的写作
  • 处理搜索工具调用,获取研究所需的资料信息
  • 将完成的章节内容返回给监督者代理

research_agent_should_continue

async def research_agent_should_continue(state: SectionState) -> str
  • 决策研究代理是否继续研究或完成任务
  • 若调用FinishResearch则结束返回
  • 否则继续执行工具调用循环进行深入研究

2.2.2 Multi-Agent工作流执行流程解析

基于笔者前面对关键节点的分析,我们同样可以清晰地梳理出Multi-Agent工作流的完整执行流程:

Multi-Agent系统通过双层级StateGraph构建完整的工作流架构,监督者代理工作流负责整体流程协调,集成并调度多个研究代理协同工作。研究代理工作流专注于单个章节的研究与写作,形成独立的任务执行单元。同时源码中值得注意的是Sendapi的使用,Sendapi笔者也没有在基础教程之中分享过。该API的主要作用是用于在运行时根据数据(如一个列表的长度)决定需要创建多少个分支任务,而不是在构建图时预先定义。比如源码supervisor_tools函数中

return Command(goto=[Send("research_team", {"section": s}) for s in sections_list], update={"messages": result})

就是通过Send api将列表中的执行结果分发到多个research_team节点去执行,可以根据sections_list中的结果动态创建多个research_team节点。

Multi-Agent模式完全基于工具调用模式设计,使代理行为高度可控且可预测。采用模块化设计,明确划分监督者与研究者的职责边界,这使得该系统可以支持多个章节同时由不同的研究代理独立处理,最大化利用计算资源。

三、OpenDeepResearch 本地部署与实践指南

3.1 本地部署完整流程

OpenDeepResearch基于LangGraph框架开发,具备优秀的模块化设计和部署便捷性。该项目通过LangGraph实现了复杂代理流程的标准化,为开发者提供了深度研究Agent定制和扩展的高效基础。安装部署open_deep_research十分简便,笔者这里推荐大家使用源码安装。大家可关注笔者微信公众号:大模型真好玩,并私信opendeepresearch便可获得项目源码。

3.1.1 环境准备与配置

核心配置:下载好源码后cd进入项目目录,部署前需准备以下API密钥并配置在.env文件中:

  • 大模型接口:本项目使用DeepSeek作为核心大模型
  • 搜索工具:使用Tavily作为Web搜索API,注册地址:https://www.tavily.com/,大家可参考笔者文章深入浅出LangChain AI Agent智能体开发教程(六)—两行代码LangChain Agent API快速搭建智能体进行配置,这里不再赘述。
  • 执行追踪:配置LangSmith用于代理执行过程分析与调试,大家可参考笔者文章 深入浅出LangGraph AI Agent智能体开发教程(四)—LangGraph全生态开发工具使用与智能体部署

完整配置文件示例如下:

3.1.2 安装部署步骤

  1. 本次部署笔者在Windows系统上进行演示,安装open_deep_researcher项目最好先创建一个anaconda虚拟环境并激活,然后安装open_deep_researcher项目依赖, 执行的命令如下:
# 创建虚拟环境 conda create -n open_deep_research python=3.12 conda activate open_deep_research # 安装项目依赖 pip install -e .

  1. 安装LangGraph管理工具:
pip install -U "langgraph-cli[inmem]"

  1. 启动服务: 执行langgraph dev在本地开启服务,点击命令行中的Studio UI链接即可进入深度研究助手界面。

3.2 多工作流模式详解

3.2.1 三种核心工作流

我们查看项目文件夹下的langgraph.json配置文件,可以看到系统启动时会加载三个不同的图工作流:

1. Graph工作流

  • 架构:父-子图结构,外层控制整体流程,内层处理单个章节研究
  • 流程:规划→检索→写作→自评→循环→总结的原子化控制
  • 适用场景:需要深度多轮检索的市场分析、技术调研、政策研究等

2. Multi-Agent工作流

  • 架构:督导者(Supervisor) + 多研究者(Researcher)的双层智能体系统
  • 特点:角色分工明确,支持多章节并行调研
  • 适用场景:多维度分析任务,如技术现状、经济性分析、政策激励等并行研究

3. ODR_Workflow_V2工作流

该工作流笔者在源码分析阶段并没有分析,留给大家作为小作业自行学习~

  • 架构:澄清→规划→并行研究→自评迭代→汇编的自动化报告生成
  • 特点:交互式澄清机制,支持需求确认和人工审核
  • 适用场景:需要前期澄清和用户审核的深度文档写作任务

3.2.2 实际操作指南

在LangGraph Studio UI界面中,用户可以输入研究主题或问题,实时观察代理的自动检索和报告生成过程,还可以通过配置面板调整运行参数,在遇到人工操作确认可以使用JSON输入框进行流程控制(确认计划或提供修改意见),大家可以在本地部署并尝试使用不同模式完成DeepResearch专题报告的生成。

AI时代,未来的就业机会在哪里?

答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具,到自然语言处理、计算机视觉、多模态等核心领域,技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。

掌握大模型技能,就是把握高薪未来。

那么,普通人如何抓住大模型风口?

AI技术的普及对个人能力提出了新的要求,在AI时代,持续学习和适应新技术变得尤为重要。无论是企业还是个人,都需要不断更新知识体系,提升与AI协作的能力,以适应不断变化的工作环境。

因此,这里给大家整理了一份《2025最新大模型全套学习资源》,包括2025最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题等,带你从零基础入门到精通,快速掌握大模型技术!

由于篇幅有限,有需要的小伙伴可以扫码获取!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

4. 大模型项目实战

学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

5. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

为什么大家都在学AI大模型?

随着AI技术的发展,企业对人才的需求从“单一技术”转向 “AI+行业”双背景。企业对人才的需求从“单一技术”转向 “AI+行业”双背景。金融+AI、制造+AI、医疗+AI等跨界岗位薪资涨幅达30%-50%。

同时很多人面临优化裁员,近期科技巨头英特尔裁员2万人,传统岗位不断缩减,因此转行AI势在必行!

这些资料有用吗?

这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


大模型全套学习资料已整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/15 18:11:03

网络安全启航指南:为你整合从零开始的系统知识与必备工具合集

网络安全的全面解析 一、网络安全的概念与重要性 网络安全(Cyber Security)是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务…

作者头像 李华
网站建设 2026/3/15 18:11:06

Langchain-Chatchat结合FastAPI构建高性能后端

Langchain-Chatchat 结合 FastAPI 构建高性能后端 在企业智能化升级的浪潮中,一个现实问题日益凸显:员工每天要面对堆积如山的内部文档——HR政策、IT操作手册、财务报销流程……而真正需要时,却总是“翻了半天找不到”。与此同时&#xff0c…

作者头像 李华
网站建设 2026/3/15 10:38:35

Langchain-Chatchat实现科研资料智能问答的可行性分析

Langchain-Chatchat实现科研资料智能问答的可行性分析 在现代科研环境中,知识的积累速度远超个体消化能力。一个课题组几年内可能产出上百份研究报告、实验记录和文献综述,而新成员往往需要数月时间才能“读懂”团队的历史脉络。更棘手的是,关…

作者头像 李华
网站建设 2026/3/15 11:58:06

Langchain-Chatchat如何动态调整检索top-k值?

Langchain-Chatchat如何动态调整检索top-k值? 在构建企业级本地知识库问答系统时,一个常被低估但极具影响的细节浮出水面:该返回多少条检索结果? 这个问题看似简单——不就是设置个 top-k3 或 k5 就完事了吗?但在真实…

作者头像 李华
网站建设 2026/3/19 0:26:15

Langchain-Chatchat常见报错解决方案汇总大全

Langchain-Chatchat常见报错解决方案汇总大全 在企业知识管理、智能客服和私有化部署的浪潮中,基于大模型的知识问答系统正成为核心技术支柱。然而,通用云端模型难以满足金融、医疗等行业对数据隐私的严苛要求——文档上传即风险,信息外泄无从…

作者头像 李华
网站建设 2026/3/15 18:11:02

Langchain-Chatchat实现多文档交叉引用回答的机制

Langchain-Chatchat 实现多文档交叉引用回答的机制 在企业知识管理日益复杂的今天,一个常见的挑战是:如何让AI准确回答“项目A的预算和负责人是谁?”这类问题——它看似简单,但答案可能分散在《年度财务报告》和《组织架构调整通知…

作者头像 李华