Skip to content

第 9 章 · Deep Agents 入门:create_deep_agent

本章目标:

  • 理解 Deep Agents 的定位:LangGraph 上层的 Agent Harness
  • 掌握 create_deep_agent() 的基本用法
  • 学会配置多 Provider(OpenAI、Anthropic、Google)
  • 理解 Skills 与 Memory 的基础概念

9.1 Deep Agents 是什么

Deep Agents 是 LangChain 提供的 Agent Harness,在 LangGraph 之上提供:

  • 简化的 API(一行代码创建 Agent)
  • 内置的上下文管理
  • 文件系统工具
  • 子代理支持
  • 记忆系统

对比:LangGraph 是 Runtime(运行时),Deep Agents 是 Harness(Harness 层)

9.2 快速开始

python
from deepagents import create_deep_agent

# 基本用法
agent = create_deep_agent(
    model="openai:gpt-4o",  # provider:model 格式
    tools=[],
    system_prompt="你是一个有帮助的助手"
)

# 执行
result = agent.invoke({
    "messages": [{"role": "user", "content": "你好"}]
})

9.3 多 Provider 配置

python
# OpenAI
agent_openai = create_deep_agent(
    model="openai:gpt-4o",
    tools=[get_weather]
)

# Anthropic
agent_anthropic = create_deep_agent(
    model="anthropic:claude-sonnet-4-6",
    tools=[get_weather]
)

# Google Gemini
agent_google = create_deep_agent(
    model="google_genai:gemini-2.0-flash",
    tools=[get_weather]
)

# OpenRouter(多模型聚合)
agent_openrouter = create_deep_agent(
    model="openrouter:anthropic/claude-3.5-sonnet",
    tools=[get_weather]
)

9.4 工具定义

python
from deepagents import tool

@tool
def get_weather(city: str) -> str:
    """获取指定城市的天气
    
    Args:
        city: 城市名称(中文或英文)
    
    Returns:
        天气信息字符串
    """
    # 实际项目应调用真实 API
    return f"{city}今天晴朗,25°C"

@tool
def calculate(expression: str) -> float:
    """计算数学表达式
    
    Args:
        expression: 数学表达式字符串
    
    Returns:
        计算结果
    """
    return eval(expression)  # 生产环境请用安全计算器

agent = create_deep_agent(
    model="openai:gpt-4o",
    tools=[get_weather, calculate]
)

9.5 与 LangGraph 的关系

python
# Deep Agents 底层使用 LangGraph
from deepagents import create_deep_agent
from langgraph.graph import StateGraph

# 方式一:使用 Deep Agents(高层抽象)
agent = create_deep_agent(
    model="openai:gpt-4o",
    tools=[get_weather]
)

# 方式二:使用 LangGraph(底层控制)
# 详见第 4-8 章
graph = StateGraph(...)
graph.add_node(...)
...

💡 建议:快速原型用 Deep Agents,生产级控制用 LangGraph。

本章小结

  • Deep Agents 是 LangGraph 上层的简化 Harness
  • 支持多种 Provider:openai、anthropic、google_genai、openrouter
  • @tool 装饰器定义工具,docstring 自动生成描述
  • 快速开发选 Deep Agents,精细控制选 LangGraph

🛠️ 动手实践

  1. 创建带天气工具的 Deep Agent,测试多种 Provider
  2. 实现自定义工具(搜索、计算),组合使用
  3. 对比 Deep Agents 与 LangGraph 的执行结果差异

🧪 随堂测验

点击你认为正确的选项。答错时会展示正确答案与原因解析。

1. Deep Agents 与 LangGraph 的关系是?

2. create_deep_agent 的 model 参数格式是?

3. @tool 装饰器的 docstring 作用是什么?

4. 生产环境中推荐使用哪个框架?