<p align="right"><font color="#3f3f3f">2025年07月30日</font></p>
> 原文链接:[# Deep Agents](https://blog.langchain.com/deep-agents/)
使用大语言模型在循环中调用工具是智能体最简单的形式。然而,这种架构可能产生"浅层"的智能体,在较长、更复杂的任务中无法进行规划和行动。像"[Deep Research](https://openai.com/index/introducing-deep-research/)"、"[Manus](https://manus.im/)"和"[Claude Code](https://www.anthropic.com/claude-code)"这样的应用通过实现四个要素的组合来克服这一限制:规划工具、子智能体、文件系统访问和详细提示。
**【注解1】**:这段话点出了当前AI智能体的核心问题。传统的"工具调用循环"模式虽然简单,但缺乏长期规划能力。文中提到的三个应用都是目前市场上比较成功的深度智能体实现。
**致谢**:这项探索主要受到Claude Code的启发,以及人们将其用于[不仅仅是编程](https://x.com/alexalbert__/status/1948765443776544885)的报告。是什么让Claude Code具有通用性,我们能否抽象出并推广这些特征?
## 野生环境中的深度智能体
出现的主导智能体架构也是最简单的:在循环中运行,调用工具。
然而,天真地这样做会导致智能体有点浅层。这里的"浅层"指的是智能体无法在更长的时间范围内进行规划并执行更复杂的任务。
**【注解2】**:作者在这里明确定义了"浅层智能体"的概念——即缺乏长期规划和复杂任务执行能力的智能体。这是理解整篇文章的关键概念。
研究和编程已经成为创建逆转这一趋势的智能体的两个领域。所有主要模型提供商都有用于深度研究和"异步"编程任务的智能体。许多初创公司和客户正在为其特定垂直领域创建这些版本。
我将这些智能体称为"深度智能体"——因为它们有能力深入研究主题。它们通常能够规划更复杂的任务,然后在更长的时间范围内执行这些目标。
## 是什么让这些智能体擅长深入?
核心算法实际上是相同的——它是一个在循环中运行调用工具的大语言模型。与容易构建的天真智能体相比,区别在于:
- 详细的系统提示
- 规划工具
- 子智能体
- 文件系统
**【注解3】**:作者揭示了一个重要观点:深度智能体和浅层智能体在基本架构上并无本质区别,都是"LLM+工具调用循环",关键在于这四个增强要素的实现。

## 深度智能体的特征
### 详细的系统提示
Claude Code的[重现系统提示](https://github.com/kn1026/cc/blob/main/claudecode.md)很长。它们包含有关如何使用工具的详细说明。它们包含示例(少样本提示),说明在某些情况下如何行为。
Claude Code并非异常——大多数最佳编程或深度研究智能体都有相当复杂的系统提示。没有这些系统提示,智能体就不会那么深入。提示仍然很重要!
**【注解4】**:这里强调了一个经常被忽视的要点:即使在工具调用时代,提示工程仍然至关重要。详细的系统提示相当于给智能体提供了完整的"操作手册"。
### 规划工具
Claude Code使用[待办事项列表工具](https://claudelog.com/faqs/what-is-todo-list-in-claude-code/)。有趣的是——这个工具实际上什么都不做!它基本上是一个无操作。它只是一种上下文工程策略,用来保持智能体在正轨上。
深度智能体更擅长在更长的时间范围内执行复杂任务。规划(即使是通过无操作工具调用完成的)是其中的重要组成部分。
**【注解5】**:这是一个非常有趣的设计洞察。Claude Code的待办事项工具实际上是"假工具",其真正作用是通过结构化的方式强制模型进行显式规划,这体现了心理学中"外化认知"的概念。
### 子智能体
Claude Code可以生成[子智能体](https://docs.anthropic.com/en/docs/claude-code/sub-agents)。这允许它分解任务。您也可以创建自定义子智能体以获得更多控制。这允许["上下文管理和提示快捷方式"](https://x.com/dexhorthy/status/1950288431122436597)。
深度智能体在主题上深入研究。这主要通过启动专门专注于个别任务的子智能体来实现,并允许这些子智能体在那里深入研究。
**【注解6】**:子智能体的概念类似于软件工程中的模块化设计。每个子智能体负责特定领域的任务,既能专业化处理,又能有效管理上下文长度限制。
### 文件系统
Claude Code(显然)可以访问文件系统,可以修改其中的文件,不仅是为了完成任务,还可以记录笔记。它还充当所有智能体(和子智能体)协作的共享工作空间。
Manus是另一个大量[使用](https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus)文件系统作为"内存"的深度智能体示例。
深度智能体运行很长时间,会积累大量需要管理的上下文。拥有一个便于存储(然后稍后读取)的文件系统对此很有帮助。
**【注解7】**:文件系统在这里扮演了"外部记忆"的角色,解决了LLM上下文长度限制的问题。这类似于人类使用笔记本记录思考过程,是一种重要的认知卸载机制。
## 构建您的深度智能体
为了让每个人都能更容易地为其特定垂直领域构建深度智能体,我在周末开发了一个开源包([deepagents](https://github.com/hwchase17/deepagents))。您可以使用以下命令轻松安装:
```bash
pip install deepagents
```
然后阅读[此处](https://github.com/hwchase17/deepagents)的使用说明。
这个包试图创建一个可以定制的通用深度智能体,以创建您自己的自定义版本。
它带有映射到上述特征的内置组件:
- 受Claude Code启发但修改为更通用的系统提示
- 无操作待办事项列表规划工具(与Claude Code相同)
- 生成子智能体的能力,并指定您自己的子智能体
- 使用智能体状态的模拟"虚拟文件系统"(一个预先存在的LangGraph概念)
您可以通过传入自定义提示(将作为自定义指令插入到更大的系统提示中)、自定义工具和自定义子智能体来轻松创建自己的深度智能体。我们构建了一个基于deepagents的简单["深度研究"智能体](https://github.com/hwchase17/deepagents/tree/master/examples/research)示例。
**【注解8】**:作者不仅分析了深度智能体的原理,还提供了实际的开源实现。这个deepagents包是对文章理论的具体体现,体现了开源社区推动AI技术普及的精神。
---
## 总结注解
这篇文章的核心贡献在于:
1. **概念澄清**:明确区分了"浅层智能体"和"深度智能体"
2. **架构分析**:揭示了深度智能体的四个关键组件
3. **实现洞察**:提供了实际可操作的技术方案
4. **开源贡献**:发布了可用的实现框架
文章最有价值的观点是,深度智能体并非需要全新的算法,而是通过系统工程的方式增强现有的LLM+工具循环架构。这为AI应用开发者提供了明确的技术路线图。