open deep research相关项目学习

说明

  • 本文学自赋范社区,仅供学习和交流!

参考资料

源码地址

open deep researcher简介

  • open_deep_researcherLangChain AI团队开源的一个深度研究代理项目,其功能和目标是复现并拓展Deep Research能力,让开发者无需付费即可使用AI自动化完成深入的信息调研和报告撰写。用户只需提供一个研究主题或问题,代理就会自动生成搜索查询,抓取和总结网页内容,反思是否有知识缺口并继续检索,最终整理输出一份结构清晰的Markdown报告。
  • 深度研究不仅返回信息,还会自主完成信息筛选和整合。传统搜索需要用户自己点开筛选内容,普通的AI问答则容易产生未经验证的答案;而深度研究代理能够多轮迭代,在发现知识空白时自动调整方向,持续检索直到形成全面理解。最终输出的报告通常包含分层次结构的内容、事实支撑的分析以及明确引用来源,可视作一个专业研究员整理的成果而非简单搜索结果。

两种实现架构

  • open deep researcher项目提供了两种不同的实现架构:基于工作流的有向图(Graph)实现和多智能体(Multi-agent)实现。这两种实现各有侧重,分别对应不同的应用场景和需求。

有向图架构

  • Graph工作流模式采用规划—执行的顺序流程,将深度研究任务划分为固定阶段依次完成。首先使用“规划”大模型分析主题,生成报告的大纲和计划,然后经过人工反馈确认计划,接下来对每个章节依次进行检索和写作,每一章节都包含搜索—总结—反思的循环,确保信息充分,最后整合各章节内容并生成完整报告。
    在这里插入图片描述

多智能体架构

在这里插入图片描述

  • Mulit-Agent架构下,open deep researcher采用监督者-研究员的多智能体协作机制,以提高调研效率。该模式的流程:由一个监督Agent(Supervisor)负责总体规划和协调,多个研究Agent(Researcher)并行执行各章节的搜索与写作。
  • 具体而言,监督Agent首先根据用户主题拟定报告的大致章节计划,分配若干研究Agent分别处理不同的章节任务。各研究Agent接收到自己负责的章节后,并行地生成该章节的搜索查询,利用搜索工具检索资料,整理后撰写章节内容。
  • 所有章节同时开展研究,大大减少了总的报告生成时间。监督Agent在此过程中还可以提问澄清用户需求(如果启用的话),确保理解准确,然后在研究Agent完成各自章节后,监督Agent负责最后汇总各章节并撰写引言结论,组成完整报告。
  • LangGraph的引入让open deep researcher易于部署和集成。例如项目的.env 配置会被 LangGraph 自动加载,使模型API Key、搜索API Key 等环境参数统一管理。
  • open deep researcher借助LangGraph实现了复杂代理流程的标准化和模块化,开发者在此之上可以更高效地定制和扩展深度研究Agent的能力。
  • 部署open deep researcher十分简便,可以通过源码或PyPI包两种方式安装。这里采用源码安装。

  1. 打开项目主页open_deep_research,进行源码下载,并进入项目目录创建并激活虚拟环境。
    cd open_deep_research
    uv venv
    source .venv/bin/activate 
    
  2. 安装项目依赖
    pip install -e .
    
  3. .env文件,需要准备API密钥,核心是两个配置:LLM模型接口和搜索工具接口。使用的大模型是DeepSeek,搜索工具是Tavily。其中TavilyWeb搜索API会作为信息检索工具。注册地址:https://www.tavily.com/ 。还有langSmith等配置信息,用于追踪和分析代理的执行过程。
DEEPSEEK_API_KEY=sk-xx

TAVILY_API_KEY=tvly-xxx

SUPERVISOR_MODEL=deepseek:deepseek-chat
RESEARCHER_MODEL=deepseek:deepseek-chat

PLANNER_PROVIDER=deepseek
PLANNER_MODEL=deepseek-chat
WRITER_PROVIDER=deepseek
WRITER_MODEL=deepseek-chat

LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGSMITH_API_KEY=lsv2_xxx
LANGSMITH_PROJECT=open_deep_research
  1. 安装依赖
    pip install -e .
    
  2. 安装LangGraph命令行工具
    pip install -U "langgraph-cli[inmem]"
    
  3. 启动 LangGraph 开发服务器,当执行langgraph dev 后,会在本地开启一个 LangGraph Server(默认监听端口 2024)。命令行中会显示 API 接口地址和 Studio 界面URL。
    langgraph dev
    
  4. open_deep_research:基于./src/open_deep_research/graph.py:graph
  5. open_deep_research_multi_agent:基于./src/open_deep_research/multi_agent.py:graph
  6. odr_workflow_v2:基于./src/open_deep_research/workflow/workflow.py:workflow

三种图类型

graph图

在这里插入图片描述

  • 父图(外层)控制整体报告生成流程,子图(内层)负责具体的任务,即处理单个章节的深度研究。
  • 主要适用的场景是自动化生成一份结构化、可信且可控的深度调研/分析报告。将“规划—检索—写作—自评—循环—总结”拆成原子节点,显式控制顺序与分支。非常适合一些需要深度调研的场景。比如市场、技术、政策的分析,需要多轮网络检索的报告等。
  • 父层(外层):
    • generate_report_plan:生成初始大纲(Sections)
    • human_feedback:人类审核或提出修改
    • build_section_with_web_research:对需要检索的 section 逐一并行写作
    • gather_completed_sections:汇总已完成的研究类 section 作为上下文
    • write_final_sections:写结论、摘要等无需检索的 section
    • compile_final_report:按最初规划顺序拼接全部 section
  • 子图:
    • generate_queries:为单个 section 产出检索词
    • search_web:调用外部搜索 API 抓取资料
    • write_section:结合资料撰写并自评,失败则循环检索

multi_agent 图

在这里插入图片描述

  • multi_agent架构的特点是一个双层智能体系统: 督导者(supervisor) + 多个研究者 。角色明确分工非常明确,由督导负责规划统筹,研究者负责具体执行。其中:

  • Supervisor Workflow 控制全局:
    • supervisor - 由 LLM 判断是否调用工具。
    • supervisor_tools - 真正执行工具调用并根据结果:
      • 分发 Section 给 research_team 并行研究;
      • 或撰写 Introduction/Conclusion;
      • 或汇总 Final Report 并结束。
    • Conditional Edge supervisor_should_continue 决定退出或继续循环。
  • research_team 子图负责单个章节:
    • research_agent 决定下一步是检索还是写作。
    • research_agent_tools 执行搜索或写入章节。
    • Conditional Edge research_agent_should_continue 决定重复检索-写作还是返回 Supervisor。

  • 它解决的核心问题就是多章节、多人并行的调研工作,比如“围绕xx在xx领域的可行性,输出章节:技术现状、经济性分析、政策激励、案例研究、未来展望”等问题。

odr_workflow_v2

在这里插入图片描述

  • odr_workflow_v2是一个带交互式澄清的工作流研究系统。根据配置决定是否先澄清需求。
  • 该工作流解决的核心痛点是因需求不清导致反复返工、章节结构需人工把关、多章节检索写作效率低等情况,整体来看是一个 「澄清 → 规划 → 并行研究 → 自评迭代 → 汇编」 的自动化报告生成器,特别适合需要 前期澄清、用户审核、外部检索 的深度文档写作任务。
结点 / 条件功能
initial_router判断是否需要先 clarify_with_user,以向用户提问澄清主题。
clarify_with_user通过结构化输出返回 AIMessage(question),以对话形式确认需求。
generate_report_plan① 生成检索关键词 → 搜索;
② 得到章节草案(Sections)。
human_feedback (可选)中断并采集用户对章节草案的审核或修改意见。
build_section_with_web_research对每个需检索的章节并行执行「检索 → 写作 → 自评 → 循环」。
gather_completed_sections收敛所有已完成章节,为后续写 Introduction / Conclusion 提供上下文。
write_final_sections写无需检索的章节(引言、总结)。
compile_final_report按原始顺序拼接 Introduction → Body → Conclusion,返回最终报告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值