基于 LangGraph 构建 Open Deep Research 架构设计与落地实践 原创 精华

发布于 2025-7-23 08:05
浏览
0收藏

Deep Research 已经成为最受欢迎的 AI 智能体应用之一。OpenAI、Anthropic、Perplexity 和谷歌都推出了 Deep Research 产品,这些产品能够利用各种上下文生成全面的报告。此外,还有很多开源的实现版本。

LangChain 官方 基于 LangGraph 开发了一个简单且可配置的 Open Deep Research(以下简称:开放式深度研究) 智能体,允许用户使用自己的大模型、搜索引擎和 MCP Servers。

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区

Research 是一项开放性任务,很难提前知道回答用户请求的最佳策略。不同的请求可能需要不同的研究策略和不同程度的搜索深度。

例如:

  • “比较这两种产品”:比较通常需要分别搜索每种产品,然后进行综合比较。
  • “找出这个职位的前20名候选人”:列出和排名的请求通常需要开放式搜索,然后进行综合和排名。
  • “X 是真的吗?”:验证性问题可能需要对特定领域进行迭代深度研究,此时信息来源的质量比搜索的广度更重要。

鉴于这些情况,开放式深度研究的一个关键设计理念是灵活性,能够根据不同请求探索不同的 Reseach 策略。

下文我们详细剖析之,

一、Open Deep Research 架构设计剖析

Research 非常适合 AI 智能体架构设计,因为它们可以灵活地应用不同的策略,利用中间结果指导探索过程。开放式深度研究使用 AI 智能体架构,并按照三步流程进行研究:

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区

  • 范围界定:澄清研究范围;
  • 研究:进行研究;
  • 撰写:生成最终报告。

1、阶段一:范围界定设计

范围界定的目的是收集研究所需的所有用户上下文信息。这是一个包含用户澄清简报生成的两步流程。

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区

第一、用户澄清

OpenAI 指出,用户在研究请求中很少提供足够的上下文信息。我们使用聊天模型在必要时询问额外的上下文信息。

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区

第二、简报生成

聊天互动可能包括澄清问题、后续问题或用户提供的示例(例如,之前的深度研究报告)。由于这种互动可能非常冗长且包含大量 token,我们将这些互动转化为一个全面但聚焦的研究简报。研究简报是我们成功的指南,我们会在研究和撰写阶段不断参考它。

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区

💡我们将研究人员与用户的聊天互动转化为一个聚焦的研究简报,供研究主管对照衡量。

2、阶段二:研究

研究的目标是收集研究简报中请求的上下文信息。我们使用一个主管 AI 智能体进行研究。

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区

第一、研究主管

主管的工作很简单:将研究任务分配给适当数量的子 AI 智能体。主管会判断研究简报是否可以分解为独立的子主题,并将这些子主题分配给子 AI 智能体,每个子 AI 智能体都有独立的上下文窗口。这很有用,因为它允许系统并行化研究工作,更快地找到更多信息。

第二、研究子 AI 智能体

每个研究子 AI 智能体会从主管那里获得一个子主题。子 AI 智能体只专注于特定主题,而不必担心整个研究简报的范围——那是主管的工作。每个子 AI 智能体通过工具调用循环进行研究,利用用户配置的搜索引擎和/或MCP 工具。

每个子 AI 智能体完成研究后,会进行一次最终的 LLM 调用,以撰写对子问题的详细回答,同时考虑其所有研究内容并引用有用的来源。这很重要,因为从工具调用反馈中收集的信息可能包含大量原始信息(例如:抓取的网页)和无关信息(例如:失败的工具调用或无关网站)。

💡我们额外进行一次 LLM 调用,清理子 AI 智能体的研究发现,以便主管获得干净、处理过的信息。

如果我们将原始信息返回给主管,token 使用量可能会显著增加,主管将不得不解析更多的 token 以找到最有用的信息。因此,我们的子 AI 智能体清理其发现并将其返回给主管。

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区

第三、研究主管迭代

主管会判断子 AI 智能体的发现是否足以涵盖简报中的工作范围。如果主管认为需要更多深度,它可以启动更多的子 AI 智能体进行进一步研究。随着主管分配研究任务并反思结果,它可以灵活地识别缺失的内容,并通过后续研究填补这些空白。

3、阶段三:报告撰写

报告撰写的目的是利用子 AI 智能体收集的上下文信息满足研究简报中的请求。当主管认为收集的发现足以满足研究简报中的请求时,我们就可以开始撰写报告了。

为了撰写报告,我们向 LLM 提供研究简报以及所有子 AI 智能体返回的研究发现。这次最终的 LLM 调用将一次性生成输出,由简报引导并用研究发现回答。

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区


二、Open Deep Research 关键技术剖析

1、仅在易于并行化的任务中使用多 AI 智能体

多 AI 智能体与单 AI 智能体是一个重要的设计考虑因素。Cognition 曾反对多 AI 智能体,因为并行工作的子 AI 智能体很难协调。如果任务(例如,构建应用程序)需要多 AI 智能体输出协同工作,那么协调就是一个风险。

我们也从这个教训中吸取了经验。我们早期的研究 AI 智能体版本让子 AI 智能体并行撰写最终报告的各个部分。虽然速度很快,但我们遇到了 Cognition 提出的问题:报告内容脱节,因为撰写各个部分的 AI 智能体之间协调不佳。我们通过仅在研究任务本身中使用多 AI 智能体,并在所有研究完成后进行撰写,解决了这个问题。

💡多 AI 智能体很难协调,如果并行撰写报告的各个部分,可能会表现不佳。我们将多 AI 智能体限制在研究阶段,并一次性撰写报告。

2、多 AI 智能体有助于在子研究主题之间隔离上下文

我们的实验表明,如果请求有多个子主题(例如,比较A、B和C),单 AI 智能体响应质量会下降。原因很简单:单个上下文窗口需要存储并推理所有子主题的工具反馈。这种工具反馈通常包含大量 token。随着上下文窗口在许多不同子主题之间累积工具调用,出现了许多失败模式,例如上下文冲突。

第一、让我们来看一个具体的例子

基于 LangGraph 构建 Open Deep Research 架构设计与落地实践-AI.x社区

“比较 OpenAI、Anthropic 和谷歌 DeepMind 对 AI 安全的方法。我想了解他们不同的哲学框架、研究重点,以及他们对对齐问题的看法。”

我们的单 AI 智能体实现使用其搜索引擎同时对每个前沿实验室发送独立查询。

  • “OpenAI 关于 AI 安全和对齐的哲学框架”
  • “Anthropic 关于 AI 安全和对齐的哲学框架”
  • “谷歌 DeepMind 关于 AI 安全和对齐的哲学框架”

搜索引擎返回了一个包含所有三个实验室结果的长字符串。我们的单 AI 智能体对所有三个前沿实验室的结果进行推理,并再次调用搜索引擎,提出独立查询。

  • “DeepMind 关于社会选择和政治哲学的声明”
  • “Anthropic 关于技术对齐挑战的声明”
  • “OpenAI 关于递归奖励建模的技术报告”

在每次工具调用迭代中,单 AI 智能体需要同时处理来自三个独立主题的上下文。从 token 和延迟的角度来看,这是浪费。我们不需要关于 OpenAI 递归奖励建模方法的 token 来帮助我们生成关于 DeepMind 对齐哲学的下一个查询。另一个重要观察是,处理多个主题的单 AI 智能体会自然地在选择完成之前对每个主题进行较少的深度研究(搜索查询次数)。一个多 AI 智能体方法允许多个子 AI 智能体并行运行,每个子 AI 智能体都致力于一个独立的、专注的任务。将多 AI 智能体方法应用于研究可以捕捉到 Anthropic 报告的好处,并在我们自己的评估中得到突出:可以在每个子 AI 智能体中隔离子主题上下文。

💡在研究过程中隔离子主题上下文可以避免各种长上下文失败模式。

3、多 AI 智能体主管使系统能够调整所需的研究深度

用户不希望简单请求需要花费10多分钟。然而,正如 Anthropic 所展示的那样,有些请求确实需要更高 token 使用量和延迟的研究。

主管可以通过选择性地启动子 AI 智能体来处理这两种情况,调整请求所需的研究深度。主管被提示词使用启发式方法来判断何时应该并行化研究,何时单线程研究就足够了。我们的深度研究 AI 智能体具有灵活性,可以选择是否并行化研究。

💡多 AI 智能体主管允许灵活调整搜索策略。

4、上下文工程对于减少 token 膨胀和引导行为很重要

研究是一项 token 密集型任务。Anthropic 报告称,他们的多 AI 智能体系统使用的 token 量比典型聊天应用多15倍!我们使用上下文工程来缓解这种情况。

我们将聊天历史压缩成一个研究简报,以防止之前消息的 token 膨胀。子 AI 智能体在将研究发现返回给主管之前,会修剪掉无关的 token 和信息。

如果没有足够的上下文工程,我们的 AI 智能体很容易遇到上下文窗口限制,从长的、原始的工具调用结果中。实际上,它还可以帮助节省 token 费用,避免 TPM 模型速率限制。

💡上下文工程有许多实际好处。它可以节省 token,帮助避免上下文窗口限制,并保持在模型速率限制之下。

总之,开放式深度研究(Open Deep Research)是一种高效的研究工具,通过三步流程(范围界定、研究、报告撰写)灵活应对复杂的研究任务。它采用多 AI 智能体架构,子 AI 智能体并行处理子任务以提高效率,同时通过上下文工程优化 token 使用,减少成本和避免模型限制。此外,该工具可根据请求动态调整研究深度,确保高质量的响应。

未来,开放式深度研究将优化 token 使用效率、评估响应质量,并探索长期记忆存储以降低成本。用户可通过 LangGraph Studio 本地运行或在 Open Agent Platform 上直接使用该工具,灵活满足不同研究需求。


本文转载自​玄姐聊AGI​  作者:玄姐


©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-7-23 08:05:21修改
收藏
回复
举报
回复
相关推荐