Skip to main content

概述

本指南展示了如何使用 Deep Agents 构建多步骤网页研究智能体。该智能体将研究问题分解为聚焦的任务,委托给专用子智能体处理,并将最终发现整合为综合报告。 您构建的智能体将实现以下功能:
  1. 使用可选待办事项中间件规划研究
  2. 将聚焦型研究任务委托给具有独立上下文隔离的子智能体
  3. 随着信息收集评估搜索结果并规划下一步行动
  4. 将带有规范引用的发现整合为最终报告
生成的子智能体使用 Tavily 进行网页搜索,获取完整网页内容进行分析。

核心概念

本教程涵盖以下内容:

先决条件

需要以下 API 密钥:
  • Anthropic(Claude)或 Google(Gemini)
  • Tavily(用于网页搜索,可选;免费套餐足够)
  • LangSmith(用于追踪,若使用 SDK 可选;使用 Managed Deep Agents 时必需)

选择路径

本指南展示了如何使用 Managed Deep Agents 和 Deep Agents SDK 构建该智能体。Managed Deep Agents 允许您无需管理基础设施即可部署智能体。Deep Agents SDK 提供最大灵活性,您既可使用相同的 Deep Agents harness 部署,也可通过自定义 LangSmith 部署 自行托管。
托管深度智能体目前处于 公开的 beta 版本,部署于 LangSmith Cloud。

配置

要开始,你需要::::python
  • Python 和 uv。 :::
:::js
  • Node.js 和 npm。 :::
  • 向你的模型服务提供商申请的 API 密钥。
1

Create the project

:::python
::::::js
:::
2

Add API keys

将模型提供商密钥、Tavily 密钥和 LangSmith API 密钥添加到 .env:
.env
不要将 .env 文件提交到版本控制。该文件包含敏感信息。
3

Install search dependencies

:::python
::::::js 本教程中的搜索工具无需额外包依赖。它使用内置 fetch API 和 Tavily HTTP 端点。 :::

构建智能体

1

Add tools

创建自定义搜索工具。tavily_search 工具使用 Tavily 进行 URL 发现,然后获取完整网页内容,使智能体能够基于完整来源进行分析而非摘要。:::python 创建 tools/search.py:
tools/search.py
※ 重要提示:在您之前的输出中占位符集不正确。缺少的 id:[‘0’];意外的额外 id:[]。请再次翻译全文,并保持每个占位符(六边形括号 + 数字)的原位置,且仅出现一次。::::::js 创建 tools/search.ts:
tools/search.ts
※ 重要提示:在您之前的输出中占位符集不正确。缺少的 id:[‘0’];意外的额外 id:[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]。请再次翻译全文,并保持每个占位符(六边形括号 + 数字)的原位置,且仅出现一次。:::
2

Add orchestrator instructions

将研究工作流和子智能体协调指导写入 instructions.md。Managed Deep Agents 将此文件作为编排系统提示加载:
instructions.md
部署时,Managed Deep Agents 会将上述指令同步至 Context Hub。
3

Create the agent

您只需将主智能体的指令写入 instructions.md。替换脚手架中的智能体条目为下方完整文件。该文件设置模型、工具、研究子智能体(包括该子智能体的自身提示词),以及@[TodoListMiddleware] 以支持 write_todos 调用 任务规划。 name 是必需的:MDA 使用它作为 LangGraph 助理 ID 和默认部署名称。:::python 替换 agent.py。选择您的服务提供商:
agent.py
::::::js 替换 agent.ts。选择您的服务提供商:
agent.ts
:::

运行智能体

1

Run locally

安装依赖项并启动智能体::::python
::::::js
:::mda dev 从 .env 加载 API 密钥,启动本地智能体服务器,并在 LangSmith Studio 中打开智能体。在 Studio 中发送研究问题,例如:
您应该看到 orchestrator 计划包含 write_todos,将任务委托给研究子智能体,并生成报告。更多详情请见 在 LangSmith Studio 本地开发。
2

Deploy (optional)

:::python
::::::js
:::成功时,CLI 会打印部署仪表板 URL。请参考 部署。

下一步骤

现在已构建智能体,可通过编辑编排器指令(Managed Deep Agents: instructions.md;SDK: 在您的智能体文件中修改提示常量)来定制工作流。您还可以调整委派限制以允许更多并行子智能体或委派轮次。 关于本教程中涉及的概念,请参考:
官方原文:src/oss/deepagents/deep-research.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026