跳转至

Deep Agents 中文教程:规划、文件上下文与研究助手

最后核验:2026-10-21。PyPI 核对:deepagents 0.7.29,Python >=3.11。

← 返回教程总目录

Deep Agents 是什么

Deep Agents 是建立在 LangChain 和 LangGraph 之上的 Agent harness,内置规划、文件操作、上下文管理和子 Agent 等能力。适合多步骤任务,而不是仅需要一轮文本回复的简单接口。

层次 作用
LangChain 模型、工具与基础 Agent 组件
LangGraph 状态图、运行与持久化机制
Deep Agents 组合规划、文件、委派和上下文管理

1. 安装

python3.12 -m venv .venv-deepagents
source .venv-deepagents/bin/activate
python -m pip install "deepagents==0.7.29" langchain-openai

Windows 使用 py -3.12 创建,并激活 .venv-deepagents\Scripts\Activate.ps1。设置 OPENAI_API_KEY 和 OPENAI_MODEL;兼容服务额外设置 OPENAI_BASE_URL,并确认支持工具调用。

2. 一个可运行的研究草稿案例

保存为 research.py:

import os
from deepagents import create_deep_agent
from langchain_openai import ChatOpenAI

model = ChatOpenAI(
    model=os.environ["OPENAI_MODEL"],
    api_key=os.environ["OPENAI_API_KEY"],
    base_url=os.getenv("OPENAI_BASE_URL"),
)


def read_project_brief() -> str:
    """读取本示例固定的项目需求,不进行外部搜索。"""
    return "项目需要中文文档检索、来源页码、可删除索引,先做单用户原型。"


agent = create_deep_agent(
    model=model,
    tools=[read_project_brief],
    system_prompt="你是技术研究助手。区分给定事实和方案建议,不虚构外部搜索。",
)
result = agent.invoke({"messages": [{
    "role": "user",
    "content": "读取项目需求,列出三步原型计划和需要验证的问题。"
}]})
print(result["messages"][-1].content)
python research.py

这是基于固定资料的研究草稿,不是联网调查。需要实时来源时,再接入明确的搜索 / 抓取工具并保留 URL。

3. 为什么普通聊天能通,Agent 会失败

Agent 要求模型输出正确的工具调用参数,还要支持工具结果继续回传。用同一模型分别测试纯回复、单工具、两轮工具和错误参数;不要仅凭 /models 或普通聊天成功判定兼容。

4. 文件系统后端

默认状态文件与真实本机文件不是一回事。选择后端前明确文件是否只活在当前运行、是否跨会话持久化、是否能执行 Shell,以及根目录边界。

需要执行代码时优先使用受控 E2B 或 Daytona 等环境;不要把本机整个主目录交给自动 Agent。

5. 子 Agent 怎样使用

子 Agent 适合上下文可独立、输出契约清楚的子任务。为每个角色限制工具和资料范围,要求输出来源、结论与未知。主 Agent 汇总时也应校验来源,不因为“另一个 Agent 说了”就视为事实。

委派会增加调用次数、延迟和成本。先单 Agent 跑通,再对比拆分是否减少返工。

6. 记忆与持久化

同一运行中的文件、检查点和跨用户长期记忆是不同机制。先定义用户、会话和租户的身份边界,再选择 Store / checkpointer。服务重启后验证状态是否真的恢复。

长期偏好和知识库事实不要混存;需要专门记忆层时看 Mem0。

7. 上线前验收

  • 给任务设置费用、轮数和运行时间边界。
  • 验证工具失败、网络中断、取消和重复执行。
  • Trace 中脱敏用户输入和凭证。
  • 文件与 Shell 权限由后端限制,不依赖 Prompt。
  • 保存模型、依赖版本与检索资料快照。

8. 常见问题

工具循环不结束时检查模型能力、重复工具结果和停止条件;文件找不到时检查后端作用域;报告缺来源时先确认是否真的安装并调用搜索工具。上下文压缩会丢失细节,关键事实应保存为可追溯状态。

官方资料