Skip to main content
本指南将引导你创建第一个具备规划、文件系统工具和子代理能力的深度代理。你将构建一个能够进行研究并撰写报告的研究代理。
正在使用 AI 编程助手?

前提条件

在开始之前,请确保你拥有来自模型提供商(例如 Gemini、Anthropic、OpenAI)的 API 密钥。
深度代理需要支持工具调用的模型。有关如何配置模型,请参阅自定义

步骤 1:安装依赖

pip install deepagents tavily-python
本指南使用 Tavily 作为搜索提供商的示例,但你可以替换为任何搜索 API(例如 DuckDuckGo、SerpAPI、Brave Search)。

步骤 2:设置你的 API 密钥

export GOOGLE_API_KEY="your-api-key"
export TAVILY_API_KEY="your-tavily-api-key"

步骤 3:创建搜索工具

import os
from typing import Literal
from tavily import TavilyClient
from deepagents import create_deep_agent

tavily_client = TavilyClient(api_key=os.environ["TAVILY_API_KEY"])

def internet_search(
    query: str,
    max_results: int = 5,
    topic: Literal["general", "news", "finance"] = "general",
    include_raw_content: bool = False,
):
    """运行网络搜索"""
    return tavily_client.search(
        query,
        max_results=max_results,
        include_raw_content=include_raw_content,
        topic=topic,
    )

步骤 4:创建深度代理

# 指导代理成为专家研究员的系统提示
research_instructions = """你是一名专家研究员。你的工作是进行彻底的研究,然后撰写一份精炼的报告。

你可以使用互联网搜索工具作为收集信息的主要手段。

## `internet_search`

使用此工具对给定查询运行互联网搜索。你可以指定返回的最大结果数、主题以及是否应包含原始内容。
"""
传入 provider:model 格式的 model 字符串,或已初始化的模型实例。有关所有提供商,请参阅支持的模型,有关经过测试的推荐,请参阅建议的模型
agent = create_deep_agent(
    model="google_genai:gemini-3.1-pro-preview",
    tools=[internet_search],
    system_prompt=research_instructions,
)

步骤 5:运行代理

result = agent.invoke({"messages": [{"role": "user", "content": "What is langgraph?"}]})

# 打印代理的响应
print(result["messages"][-1].content)

工作原理

你的深度代理会自动:
  1. 规划其方法:使用内置的 write_todos 工具来分解研究任务。
  2. 进行研究:调用 internet_search 工具来收集信息。
  3. 管理上下文:使用文件系统工具(write_fileread_file)来卸载大型搜索结果。
  4. 按需生成子代理:将复杂的子任务委派给专门的子代理。
  5. 综合报告:将发现编译成连贯的响应。

示例

有关你可以使用深度代理构建的代理、模式和应用,请参阅示例

流式传输

深度代理内置了流式传输功能,可通过 LangGraph 实现实时代理执行更新。 这允许你逐步观察输出,并审查和调试代理及子代理的工作,例如工具调用、工具结果和 LLM 响应。

后续步骤

现在你已经构建了第一个深度代理:
  • 自定义你的代理:了解自定义选项,包括自定义系统提示、工具和子代理。
  • 添加长期记忆:启用跨对话的持久记忆
  • 部署到生产环境:了解深度代理的部署选项