什么是 Deep Agents
在 AI Agent 的发展历程中,我们正在经历一次重要的架构转变。传统的"浅层 Agent"(Shallow Agents)只是简单的 LLM 工具调用循环,而"深度 Agent"(Deep Agents)则代表了一种全新的设计范式——通过战略性规划、记忆管理和智能委派来解决真正复杂的问题。
简单来说,Deep Agents = 浅层 Agent + 更好的脚手架。这些脚手架包括规划工具、文件系统、子 Agent 委派和详细的上下文工程。
Shallow Agents vs Deep Agents
浅层 Agent 的典型模式是:接收提示 → 调用工具 → 重复。这种简单循环在处理复杂任务时会遇到明显瓶颈:
上下文爆炸:第 20 次工具调用返回 5000 行日志,后续每次 LLM 调用成本飙升且性能下降
任务失控:缺乏明确分解,Agent 容易在多步骤任务中迷失方向
记忆丢失:在第 3 步找到的关键信息,到第 8 步就被中间输出淹没
重试混乱:子任务失败后带着完整历史重试,无法聚焦问题
深度 Agent 通过四个核心架构选择解决这些问题,使系统能够执行 100+ 步骤的工作流并具备自主恢复能力。
Deep Agents 的核心架构模式
1. 任务规划与进度追踪
Deep Agents 不是在单一上下文窗口中临时推理,而是维护可更新、可重试、可恢复的结构化任务计划。这就像一个"活的待办清单",引导 Agent 朝着长期目标前进。
实现方式:提供 track_plan 或 write_todos 工具,强制 Agent 在执行前进行规划阶段。
为什么有效:这个工具本身可能只是验证结构并回显(接近 no-op),但调用它的行为将分散的推理转化为结构化执行。这是通过 API 设计实现的元认知。
实际效果:
无规划:Agent 立即开始编辑文件,第三次修改后就迷失方向
有规划:Agent 先调用
track_plan(["复现 bug", "定位认证逻辑", "识别失败点", "实现修复", "验证"]),然后按清单执行
2. 外部记忆与文件系统
通过文件工具(read_file、write_file、edit_file)给 Agent 提供"草稿本":
当 Agent 从 API 拉取 10,000 行数据时,写入
analysis_data.json而不是保留在上下文中三步之后需要引用数据时,读取特定部分而不是滚动聊天历史
关键类比:上下文窗口是 RAM(快速、昂贵、有限),文件系统是存储(便宜、持久、无限)。
实际案例:Agent 调试测试失败时,不是将每次测试输出保留在上下文中,而是写入 failures.log,总结问题,然后逐个读取条目进行修复。
这不是替代向量数据库或语义搜索,而是给 Agent 一个倾倒中间状态的地方。
3. 编排器与子 Agent 架构
单一大型 Agent(即使有超长上下文)已经不够。编排器-子 Agent 架构是当今最强大的 LLM Agent 架构模式之一:
编排器(Orchestrator):管理专门的子 Agent(搜索、编码、知识检索、分析、验证、写作等)
子 Agent(Sub-agents):各自拥有干净的上下文和领域焦点,高效执行
集成(Integration):编排器将子 Agent 的输出整合为连贯结果
工作流示例:
主 Agent 收到任务:"构建新的 API 端点"
↓
调用 spawn_agent(task="编写实现", context="规格文档", tools=[文件工具])
↓
子 Agent 在隔离上下文中编写代码,返回结果
↓
调用 spawn_agent(task="编写测试", context="实现代码", tools=[文件+测试工具])
↓
测试 Agent 独立工作核心优势:
每个子 Agent 在干净的上下文中工作,不继承父级的完整历史
编排器专注于协调,而非实现细节
支持并行化:同时生成多个子 Agent 处理独立工作,稍后收集结果
4. 上下文工程与验证
上下文工程:Deep Agents 需要明确、详细、有意图的指令——何时规划、何时使用子 Agent、如何命名文件、如何与人类协作。这包括结构化输出、系统提示优化、上下文压缩和工具定义优化。
验证机制:通过自动化(LLM-as-a-Judge)或人工验证输出。尽管现代 LLM 在生成文本方面很有效,但仍存在幻觉、迎合性、提示注入等问题。验证使 Agent 更可靠、更适合生产环境。
实际应用案例
Deep Agents 架构已在多个生产级应用中得到验证:
商业产品
Claude Code:代码生成、重构和调试,通过规划和子 Agent 处理多文件任务
Deep Research:深度研究和信息综合,利用编排器协调搜索、分析和写作子 Agent
Manus:复杂工作流自动化
DAIR.AI Academy:客户支持系统,使用 Agentic RAG 架构
Kiro:IDE 中的 Deep Agent
Kiro 是一个 AI 驱动的 IDE 助手,完整实现了 Deep Agents 的架构模式。虽然不是基于 LangChain DeepAgents 库,但它体现了 Deep Agents 的核心设计思想。
架构特点:
任务规划与分解
分析复杂开发任务并制定执行计划
将大型重构分解为多个可管理的步骤
在执行过程中动态调整策略
文件系统作为外部记忆
直接读写项目文件管理上下文
将分析结果、中间状态保存到文件
突破对话上下文窗口限制
子 Agent 委派系统
context-gatherer:专门探索代码库、识别相关文件和依赖关系general-task-execution:处理独立的开发子任务每个子 Agent 拥有隔离的上下文和专门的工具集
丰富的上下文工程
详细的系统提示和角色定义
Steering files:项目特定的规范和最佳实践
MCP(Model Context Protocol)集成:扩展工具能力
Powers 系统:模块化的功能包
典型工作流示例:
开发者:"修复用户登录模块的认证 bug"
↓
Kiro 分析任务复杂度
↓
调用 context-gatherer 子 Agent
↓ (子 Agent 在隔离上下文中)
- 搜索认证相关文件
- 分析依赖关系
- 识别测试文件
↓
子 Agent 返回:
- src/auth/login.ts
- src/middleware/auth.ts
- tests/auth.test.ts
↓
Kiro 读取相关文件
↓
制定修复计划:
1. 复现 bug
2. 定位问题代码
3. 实现修复
4. 更新测试
5. 验证修复
↓
执行修改(必要时将日志写入文件)
↓
运行测试验证
↓
向开发者报告结果实际场景:
代码库探索:在不熟悉的项目中快速定位相关代码
多文件重构:协调跨多个文件的代码修改
Bug 调查:追踪问题根源,分析调用链
测试生成:理解实现后生成对应测试
文档更新:根据代码变更同步更新文档
为什么 Kiro 是 Deep Agent 的好例子:
Kiro 证明了 Deep Agents 不是特定框架的专利,而是一种可以在不同系统中实现的架构模式。它展示了如何将规划、记忆管理、子 Agent 委派和上下文工程整合到实际的开发工具中,为开发者提供真正的生产力提升。
何时使用 Deep Agents
根据任务复杂度选择合适的架构:
不要为简单任务构建复杂系统。但当你需要可靠执行研究、编码或分析工作流时,这些模式能将浅层 Agent 转变为深度 Agent。
LangChain DeepAgents:概念的工程实现
理解了 Deep Agents 的概念后,我们来看 LangChain 团队如何将其工程化。
什么是 LangChain DeepAgents
LangChain DeepAgents 是一个独立的 Python 库,将 Deep Agents 的架构模式封装为开箱即用的工具。它基于 LangGraph 构建,提供了实现上述四大核心模式的标准化方案。
LangChain DeepAgents 的核心特性
1. 内置规划工具
write_todos:结构化任务分解和进度追踪动态计划调整能力
2. 文件系统工具集
ls、read_file、write_file、edit_file自动上下文管理,突破 token 限制
3. 子 Agent 生成
task工具:一键生成专门子 Agent自动上下文隔离和结果集成
4. 持久化记忆
集成 LangGraph Store
跨会话信息保存和检索
技术架构
LangChain DeepAgents 构建在成熟的生态之上:
┌─────────────────────────────────────┐
│ LangChain DeepAgents │
│ (Planning + Memory + Subagents) │
├─────────────────────────────────────┤
│ LangGraph │
│ (Graph Execution + State Mgmt) │
├─────────────────────────────────────┤
│ LangChain │
│ (Tools + Model Integrations) │
└─────────────────────────────────────┘LangGraph:提供底层图执行和状态管理
LangChain:工具和模型集成
LangSmith:可观测性、评估和部署
快速开始
from deepagents import create_deep_agent
# 创建 deep agent
agent = create_deep_agent(
model=your_llm_model,
tools=[your_tools],
# 可选:配置规划、文件系统、子 agent 等
)
# 使用所有 LangGraph 特性
# - 流式输出
# - 检查点
# - 人机协作
# - LangGraph Studio 可视化核心是 create_deep_agent 函数,返回编译好的 LangGraph StateGraph,支持流式、检查点、人机协作等所有 LangGraph 特性。
为什么选择 LangChain DeepAgents
✅ 开箱即用:无需从零实现 Deep Agents 模式
✅ 生态集成:与 LangChain/LangGraph/LangSmith 无缝协作
✅ 生产验证:架构灵感来自 Claude Code 等成功应用
✅ 标准化:统一的 API 和最佳实践
Deep Agents 生态系统
Deep Agents 不是 LangChain 独有的概念。多个框架和团队都在实现类似模式:
LangChain DeepAgents:本文重点介绍的标准化实现
Pydantic AI:将 Deep Agent 模式引入 Pydantic 生态
Claude Code:Anthropic 的代码助手,Deep Agents 概念的灵感来源之一
自定义实现:基于 OpenAI、Anthropic API 的定制方案
研究项目:ReasoningBank、Agentic Context Engineering 等学术探索
关键洞察:理解架构模式比绑定特定工具更重要。Deep Agents 的核心是设计思想,而非具体实现。
构建 Deep Agents 的实践建议
渐进式复杂度
从最简单的可行方案开始,只在遇到限制时添加层次:
简单任务 → 基础 ReAct 循环
上下文溢出 → 添加文件工具
任务失控 → 添加规划工具
需要专业化 → 引入子 Agent
生产级系统 → 完整架构 + 验证详细的系统提示
不要用一句话提示,而是提供完整的指令手册:
# ❌ 糟糕的提示
"You are a helpful coding assistant."
# ✅ 优秀的提示
"""You are a coding assistant that follows this workflow:
1. Planning Phase:
- Use track_plan to break down the task into steps
- Identify which steps need sub-agents
2. Execution Phase:
- Write intermediate results to files (not context)
- Use read_file to reference previous work
- Keep context clean and focused
3. Delegation:
- When encountering a distinct subtask, call spawn_agent
- Provide specific context and tools to sub-agent
- Wait for result before continuing
4. Edge Cases:
- If a file is >1000 lines, summarize before reading
- If a test fails, write failure to debug.log
- If stuck after 3 attempts, ask for human input
5. Tool Usage Patterns:
- write_file: For new content or complete rewrites
- edit_file: For targeted modifications
- read_file: Only read sections you need
...
"""为什么有效:LLM 是下一个 token 预测器。详细的提示和示例为它们提供了更好的完成模式,每个 few-shot 示例都能减少失败模式。
工具设计原则
文件工具:给 Agent 提供持久化能力,而不是依赖上下文
规划工具:强制结构化思考,即使工具本身是 no-op
委派工具:清晰定义子 Agent 的边界和职责
验证工具:自动或人工检查输出质量
总结
Deep Agents 代表了 AI Agent 架构的演进方向——从简单的工具调用循环,到具备规划、记忆、协作和验证能力的智能系统。这不是模型大小或新算法的突破,而是架构设计的进化。
核心要点:
Deep Agents 是架构概念,不是特定工具或框架
四大核心模式:规划、外部记忆、子 Agent、上下文工程与验证
LangChain DeepAgents 提供了这些模式的标准化工程实现
渐进式采用:根据实际需求逐步增加复杂度,避免过度设计
生态开放:多个框架都在实现类似模式,概念比工具更重要
最重要的认知:那些让你印象深刻的复杂推理 Agent,并不是使用了秘密模型或奇特架构。它们只是在相同的基础循环(LLM + 工具调用)周围添加了更好的脚手架:规划工具、文件系统、子 Agent 和详细提示。
对于需要构建能够处理复杂、长时任务的 AI 应用的开发者来说,理解并应用 Deep Agents 的架构模式,将是通往生产级 Agent 系统的关键一步。从简单开始,在遇到瓶颈时逐步添加复杂度,这才是正确的工程实践。
参考资源: