文章目录
- [Claude Code 进阶篇(二):Agent 代理模式深度解析](#Claude Code 进阶篇(二):Agent 代理模式深度解析)
-
- [1. 概述](#1. 概述)
-
- [1.1 什么是 Agent](#1.1 什么是 Agent)
- [1.2 为什么需要 Agent](#1.2 为什么需要 Agent)
- [2. Agent 工作原理](#2. Agent 工作原理)
-
- [2.1 核心架构](#2.1 核心架构)
- [2.2 技术实现原理](#2.2 技术实现原理)
- [2.3 Agent 生命周期](#2.3 Agent 生命周期)
- [2.4 为什么需要子代理](#2.4 为什么需要子代理)
- [2.5 与 LangChain Agent 的对比](#2.5 与 LangChain Agent 的对比)
- [3. 内置 Agent 类型](#3. 内置 Agent 类型)
-
- [2.1 Agent 类型总览](#2.1 Agent 类型总览)
- [2.2 Explore Agent(探索代理)](#2.2 Explore Agent(探索代理))
- [2.3 Plan Agent(规划代理)](#2.3 Plan Agent(规划代理))
- [2.4 Bash Agent(命令代理)](#2.4 Bash Agent(命令代理))
- [3. 专业领域 Agent](#3. 专业领域 Agent)
-
- [3.1 开发类 Agent](#3.1 开发类 Agent)
- [3.2 架构类 Agent](#3.2 架构类 Agent)
- [3.3 质量类 Agent](#3.3 质量类 Agent)
- [3.4 DevOps 类 Agent](#3.4 DevOps 类 Agent)
- [4. Agent 使用方式](#4. Agent 使用方式)
-
- [4.1 自动调度](#4.1 自动调度)
- [4.2 显式指定](#4.2 显式指定)
- [4.3 并行执行](#4.3 并行执行)
- [5. Agent 执行流程](#5. Agent 执行流程)
-
- [5.1 任务分配](#5.1 任务分配)
- [5.2 上下文传递](#5.2 上下文传递)
- [5.3 结果返回](#5.3 结果返回)
- [6. 高级特性](#6. 高级特性)
-
- [6.1 Agent 恢复](#6.1 Agent 恢复)
- [6.2 后台执行](#6.2 后台执行)
- [6.3 模型选择](#6.3 模型选择)
- [7. 实战示例](#7. 实战示例)
-
- [7.1 代码库分析](#7.1 代码库分析)
- [7.2 功能实现](#7.2 功能实现)
- [7.3 问题排查](#7.3 问题排查)
- [8. 最佳实践](#8. 最佳实践)
-
- [8.1 明确任务边界](#8.1 明确任务边界)
- [8.2 分步骤执行复杂任务](#8.2 分步骤执行复杂任务)
- [8.3 利用并行能力](#8.3 利用并行能力)
- [9. 常见问题](#9. 常见问题)
-
- [9.1 Agent 执行超时](#9.1 Agent 执行超时)
- [9.2 Agent 结果不准确](#9.2 Agent 结果不准确)
- [9.3 并行冲突](#9.3 并行冲突)
- [10. 下一步](#10. 下一步)
- 参考资料
Claude Code 进阶篇(二):Agent 代理模式深度解析
修订记录
| 编号 | 版本 | 修订人 | 修订内容 | 日期 |
|---|---|---|---|---|
| 001 | 1.0 | lixh | 创建全文 | 2026-01-19 |
1. 概述
Agent(代理)是 Claude Code 中最强大的功能之一。通过 Agent 系统,Claude 可以将复杂任务分解并委派给专门的子代理处理,实现高效的任务并行和专业化分工。
1.1 什么是 Agent

Agent 的本质:专门处理特定类型任务的子进程,拥有独立的上下文和工具访问权限。
1.2 为什么需要 Agent
| 场景 | 传统方式 | Agent 方式 |
|---|---|---|
| 大规模代码搜索 | 串行搜索,效率低 | 并行探索,快速定位 |
| 复杂任务规划 | 边做边想,容易遗漏 | 专门规划,思路清晰 |
| 多文件修改 | 逐个处理,耗时长 | 并行处理,效率高 |
2. Agent 工作原理
2.1 核心架构
Agent 系统采用 主从架构(Master-Worker Pattern):

2.2 技术实现原理
| 技术点 | 实现方式 |
|---|---|
| 子进程隔离 | 每个 Agent 是独立的 Claude 实例调用 |
| 上下文传递 | 通过 Task 工具的 prompt 参数传递任务描述 |
| 工具限制 | 每种 Agent 只能访问特定工具集 |
| 并行执行 | 无依赖的 Agent 可以同时运行 |
| 结果聚合 | Agent 返回的结果由主代理汇总 |
2.3 Agent 生命周期

2.4 为什么需要子代理
问题:单一 Claude 处理复杂任务的局限
| 局限 | 说明 |
|---|---|
| 上下文污染 | 大量中间信息占用上下文窗口 |
| 任务干扰 | 多个任务混在一起容易出错 |
| 串行低效 | 无法并行处理独立任务 |
解决:通过 Agent 实现
| 优势 | 说明 |
|---|---|
| 上下文隔离 | 每个 Agent 有独立上下文 |
| 专业分工 | 不同 Agent 专注不同任务 |
| 并行加速 | 独立任务可同时执行 |
2.5 与 LangChain Agent 的对比
| 对比项 | Claude Code Agent | LangChain Agent |
|---|---|---|
| 定义方式 | 内置 + 配置 | 代码定义 |
| 执行环境 | 集成在 CLI | 需要 Python 运行时 |
| 工具集成 | 开箱即用 | 需手动实现 |
| 上下文管理 | 自动处理 | 需手动管理 |
| 使用门槛 | 低(自然语言) | 高(需编程) |
3. 内置 Agent 类型
2.1 Agent 类型总览
| Agent 类型 | 用途 | 适用场景 |
|---|---|---|
Explore |
代码库探索 | 搜索文件、理解结构、定位代码 |
Plan |
方案规划 | 设计实现方案、架构决策 |
Bash |
命令执行 | Git 操作、构建、测试 |
general-purpose |
通用任务 | 复杂多步骤任务 |
2.2 Explore Agent(探索代理)
用途:快速探索和理解代码库
特点:
- 专为代码搜索优化
- 支持模式匹配和关键词搜索
- 可设置搜索深度
使用场景:
> 帮我找一下项目中所有处理用户认证的代码
(Claude 自动启动 Explore Agent)
> 这个项目的架构是怎样的?
(Claude 使用 Explore Agent 分析项目结构)
搜索深度配置:
| 深度 | 说明 | 适用场景 |
|---|---|---|
quick |
快速搜索 | 简单定位,已知大致位置 |
medium |
中等深度 | 一般性探索 |
very thorough |
深度搜索 | 全面分析,不确定位置 |
2.3 Plan Agent(规划代理)
用途:设计实现方案和架构
特点:
- 专注于方案设计
- 不执行修改操作
- 输出结构化的实现计划
使用场景:
> 我想给系统添加一个通知模块,帮我规划一下实现方案
(Claude 启动 Plan Agent 进行方案设计)
输出示例:
markdown
## 实现方案
### 1. 架构设计
- 采用发布-订阅模式
- 独立的通知服务模块
### 2. 实现步骤
1. 创建 NotificationService 类
2. 实现邮件、短信、推送三种渠道
3. 配置消息队列
4. 集成到现有系统
### 3. 关键文件
- src/services/notification.js
- src/config/notification.config.js
- src/queue/notificationQueue.js
2.4 Bash Agent(命令代理)
用途:执行 shell 命令
特点:
- 专门处理命令行操作
- 支持 Git、npm 等常用工具
- 自动处理权限请求
使用场景:
> 帮我创建一个新分支并推送到远程
(Claude 使用 Bash Agent 执行 Git 命令)
3. 专业领域 Agent
Claude Code 还提供了大量专业领域的 Agent,用于特定技术栈:
3.1 开发类 Agent
| Agent | 专长领域 |
|---|---|
python-pro |
Python 开发、优化 |
fastapi-pro |
FastAPI 框架 |
django-pro |
Django 框架 |
frontend-developer |
React、Next.js 前端 |
mobile-developer |
React Native、Flutter |
3.2 架构类 Agent
| Agent | 专长领域 |
|---|---|
backend-architect |
后端架构设计 |
database-architect |
数据库架构 |
cloud-architect |
云架构设计 |
kubernetes-architect |
K8s 架构 |
3.3 质量类 Agent
| Agent | 专长领域 |
|---|---|
code-reviewer |
代码审查 |
security-auditor |
安全审计 |
performance-engineer |
性能优化 |
debugger |
调试排错 |
3.4 DevOps 类 Agent
| Agent | 专长领域 |
|---|---|
deployment-engineer |
部署自动化 |
terraform-specialist |
IaC 基础设施 |
devops-troubleshooter |
运维问题排查 |
4. Agent 使用方式
4.1 自动调度
大多数情况下,Claude 会根据任务自动选择合适的 Agent:
> 分析一下这个项目的目录结构
(Claude 自动判断需要 Explore Agent,并启动)
4.2 显式指定
在 CLAUDE.md 或对话中明确指定 Agent:
> 使用 security-auditor Agent 检查代码安全性
> 用 Plan Agent 帮我设计这个功能的实现方案
4.3 并行执行
多个独立任务可以并行执行:
> 同时帮我:
> 1. 搜索所有数据库相关代码
> 2. 检查 package.json 的依赖
> 3. 分析 API 路由结构
(Claude 并行启动多个 Agent)
5. Agent 执行流程
5.1 任务分配

5.2 上下文传递
Agent 接收的信息:
| 信息类型 | 说明 |
|---|---|
| 任务描述 | 需要完成的具体任务 |
| 相关上下文 | 对话历史中的相关信息 |
| 文件访问权限 | 可操作的文件范围 |
| 工具权限 | 可使用的工具列表 |
5.3 结果返回
Agent 完成任务后返回:
| 返回内容 | 说明 |
|---|---|
| 执行结果 | 任务的完成情况 |
| 发现的信息 | 搜索结果、分析结论等 |
| Agent ID | 用于后续恢复会话 |
6. 高级特性
6.1 Agent 恢复
Agent 支持会话恢复,可以继续之前的工作:
javascript
// Task 工具调用时使用 resume 参数
{
"resume": "agent-id-from-previous-session"
}
6.2 后台执行
长时间任务可以在后台运行:
> 在后台运行测试套件,完成后通知我
(Agent 在后台执行,主会话可以继续其他操作)
6.3 模型选择
可以为不同 Agent 指定不同的模型:
| 模型 | 特点 | 适用场景 |
|---|---|---|
opus |
最强能力 | 复杂推理、架构设计 |
sonnet |
平衡型 | 一般任务(默认) |
haiku |
快速响应 | 简单任务、大量并行 |
7. 实战示例
7.1 代码库分析
需求:理解一个陌生项目的整体架构
> 帮我全面分析这个项目的架构
Claude 执行步骤:
1. 启动 Explore Agent (very thorough)
2. 扫描目录结构
3. 分析入口文件
4. 识别技术栈
5. 梳理模块关系
6. 返回架构分析报告
7.2 功能实现
需求:实现一个新功能
> 帮我实现用户头像上传功能
Claude 执行步骤:
1. 启动 Plan Agent 设计方案
2. 启动 Explore Agent 找到相关代码
3. 用户确认方案
4. 并行创建/修改多个文件
5. 启动 Bash Agent 运行测试
7.3 问题排查
需求:排查一个 bug
> API 返回 500 错误,帮我排查
Claude 执行步骤:
1. 启动 debugger Agent
2. 分析错误日志
3. 追踪调用栈
4. 定位问题代码
5. 提供修复建议
8. 最佳实践
8.1 明确任务边界
好的做法:
> 只分析 src/api 目录下的代码结构
避免:
> 分析整个项目(项目很大时可能超时)
8.2 分步骤执行复杂任务
好的做法:
> 第一步:帮我分析当前的数据库模型
> 第二步:设计新的表结构
> 第三步:生成迁移脚本
避免:
> 直接帮我重构整个数据库层
8.3 利用并行能力
当有多个独立任务时,明确告诉 Claude 可以并行:
> 并行执行以下任务:
> 1. 检查代码规范
> 2. 运行单元测试
> 3. 分析依赖安全性
9. 常见问题
9.1 Agent 执行超时
原因:任务过于复杂或范围过大
解决:
- 缩小任务范围
- 分步骤执行
- 指定搜索深度为
quick
9.2 Agent 结果不准确
原因:上下文信息不足
解决:
- 提供更多背景信息
- 明确指定相关文件或目录
- 分阶段验证结果
9.3 并行冲突
原因:多个 Agent 同时修改相关文件
解决:
- 有依赖关系的任务串行执行
- 先完成分析,再进行修改
10. 下一步
掌握了 Agent 系统后,继续学习:
- 05-Command命令系统:学习内置命令和自定义命令
- 07-上下文管理策略:优化 Agent 的上下文使用