Claude Code Agent 完全指南
深入掌握 Claude Code 的 Agent 模式,从基础操作到子 Agent 调用的全面教程
引言
Claude Code 不仅仅是一个 AI 助手,更是一个强大的编程 Agent 平台。本文将深入讲解如何高效地使用 Claude Code 的 Agent 功能,掌握各种模式和技巧,让你的编程效率大幅提升。
Agent 模式概述
什么是 Agent 模式
Claude Code 的 Agent 模式是指让 Claude 能够自主执行多步骤任务的工作方式。与简单的问答不同,Agent 模式下的 Claude 可以:
- 自主规划实现步骤
- 连续执行多个操作
- 根据结果调整策略
- 保持上下文连贯性
核心模式
Claude Code 支持多种 Agent 模式,每种模式适合不同场景:
┌─────────────────────────────────────────────────────────┐
│ Claude Code Agent │
├─────────────────────────────────────────────────────────┤
│ 🤖 Auto-pilot │ 🎯 Focus │ 🧠 Think │
│ 完全自主执行 │ 聚焦单一任务 │ 深度思考复杂问题 │
├─────────────────────────────────────────────────────────┤
│ 📋 Agent │ 🔧 Playground │ 🖥️ Bash │
│ 调用子 Agent │ 实验代码片段 │ 执行终端命令 │
└─────────────────────────────────────────────────────────┘
自动 vs 显式调用
Claude Code 的 Agent 工作方式分为两种:
- 自动模式:当任务复杂时,Claude Code 会自动创建 Sub-Agent 来处理
- 显式调用:你可以通过特定指令显式创建和管理子 Agent
基础操作
启动与交互
# 在项目目录中启动 Claude Code
claude
# 指定特定项目
claude /path/to/project
# 使用特定模式启动
claude --dangerously-skip-permissions
常用 Slash 命令
| 命令 | 功能 | 场景 |
|---|---|---|
/help | 显示帮助 | 忘记命令时 |
/review | 代码审查 | 提交前检查 |
/test | 生成测试 | 补全测试用例 |
/refactor | 重构建议 | 优化代码 |
/explain | 解释代码 | 理解复杂逻辑 |
自然语言指令
Claude Code 理解自然语言指令,以下是一些高效表达方式:
# 明确目标
"创建一个用户认证模块,包含注册、登录、登出功能"
# 指定约束
"用 TypeScript 写,不要用第三方库,保持代码简洁"
# 渐进式需求
"先实现基本功能,之后再添加缓存和日志"
# 询问 vs 指令
"如何优化这个查询?" vs "优化这个查询"
高效工作流
1. 项目初始化
在项目根目录创建 CLAUDE.md,这是你与 Claude 沟通的重要文件:
# 项目名称
## 技术栈
- React 18 + TypeScript
- Vite 构建
- TailwindCSS
## 代码规范
- 组件放在 src/components
- 使用函数式组件
- Hooks 以 use 开头
## 常用命令
- npm run dev # 启动开发服务器
- npm run build # 构建生产版本
- npm test # 运行测试
2. 任务分解
将复杂任务拆分为清晰的步骤:
任务:重构用户管理模块
步骤:
1. 分析现有代码结构
2. 提取公共类型和接口
3. 将 class 组件改为函数式
4. 添加单元测试
5. 更新相关文档
3. 迭代式开发
利用 Claude 的上下文保持能力:
> 实现用户列表页面
[Claude 生成初始代码]
> 添加搜索和筛选功能
[在现有代码基础上扩展]
> 再添加分页功能
[继续完善]
Sub-Agent 详解
什么是 Sub-Agent
Sub-Agent(子代理)是 Claude Code 的强大功能,允许在处理复杂任务时创建专门的子 Agent 来并行或分工处理不同的子任务。
比如你说:
帮我重构 src/components/ 下的所有组件,统一使用新的设计系统
Claude Code 可能会:
- 主 Agent 分析任务,拆分为多个子任务
- 创建 Sub-Agent A 处理 Header 组件
- 创建 Sub-Agent B 处理 Footer 组件
- 创建 Sub-Agent C 处理 Sidebar 组件
- 主 Agent 汇总结果,确保一致性
Sub-Agent 触发条件
Claude Code 会根据任务特征决定是否创建 Sub-Agent:
| 条件 | 是否触发 Sub-Agent | 原因 |
|---|---|---|
| 修改单个文件 | 否 | 任务简单,不需要拆分 |
| 修改多个独立文件 | 可能 | 文件之间无依赖,可以并行 |
| 跨目录的大规模重构 | 是 | 任务复杂,需要分工 |
| 需要多种专业知识 | 是 | 不同子任务需要不同”专家” |
| 简单问答 | 否 | 不涉及工具调用 |
显式调用 Sub-Agent
除了自动创建,你还可以显式调用 Sub-Agent:
# 指定子 Agent 的专业领域
"创建一个专门的前端 Agent 来审查这个 React 组件"
# 指定子 Agent 的工作模式
"用 Focus 模式创建 Agent,逐步完成这个重构"
# 指定子 Agent 的约束
"创建一个只读 Agent,仅分析代码不进行修改"
# 控制 Agent 数量
"最多创建 3 个 Agent,并行处理这些任务"
Agent 协作模式
1. 父子模式
主 Agent 指挥子 Agent 顺序执行:
主 Agent (你)
↓
子 Agent A → 子 Agent B → 子 Agent C
↓
主 Agent 汇总结果
适用场景:线性依赖的任务
2. 并行模式
多个 Agent 同时工作:
→ 子 Agent A
主 Agent → 子 Agent B → 汇总结果
→ 子 Agent C
适用场景:独立并行任务
3. 专家模式
不同专家协同:
→ 前端专家
主 Agent → 后端专家 → 方案整合
→ DevOps 专家
适用场景:需要多领域知识的任务
高级技巧
1. 权限控制
Claude Code 有完善的权限系统:
// .claude/settings.json
{
"permissions": {
"allow": ["Read", "Glob", "Grep"],
"deny": ["Bash.rm -rf", "Write"]
}
}
2. Hooks 自动化
使用 Hooks 自动触发操作:
// .claude/hooks/pre-command.js
export default function preCommand(command) {
// 提交前自动检查
if (command.startsWith('git commit')) {
return 'Run /review first to check your changes';
}
}
3. 多文件操作
一次性处理多个相关文件:
"修改所有组件的 props 类型,从 interface 改为 type"
Claude 会分析所有匹配的文件,执行批量修改。
4. 监控 Sub-Agent 活动
Claude Code 会显示子 Agent 的活动:
[主 Agent] 正在创建子任务...
[子 Agent A] 开始分析 src/components/
[子 Agent B] 开始审查 src/utils/
[子 Agent A] 完成,发现 3 个问题
[子 Agent B] 完成,发现 1 个问题
[主 Agent] 汇总结果...
5. 中断 Sub-Agent
如果子 Agent 行为异常:
"停止子 Agent A,它走错了方向"
模式选择指南
何时使用 Auto-pilot
- 任务步骤清晰明确
- 需要批量处理文件
- 信任 AI 的执行能力
何时使用 Focus
- 需要精确控制每一步
- 敏感操作需要人工确认
- 调试复杂问题
何时使用 Think
- 算法设计
- 架构决策
- 代码审查
实战示例
示例 1:代码审查流水线
"创建一个代码审查 Agent 流水线:
1. 创建一个 linting Agent 检查代码风格
2. 创建一个安全审计 Agent 检查潜在漏洞
3. 创建一个性能分析 Agent 检查性能问题
4. 汇总所有结果生成审查报告"
示例 2:大规模重构
"重构 src/ 目录下的所有 TypeScript 文件:
1. 分析现有代码结构
2. 识别重复代码
3. 提取公共逻辑到 utils
4. 统一错误处理风格"
示例 3:并行研究
"帮我研究这三个框架:LangChain、LlamaIndex、AutoGen
1. 创建 Agent A 研究 LangChain
2. 创建 Agent B 研究 LlamaIndex
3. 创建 Agent C 研究 AutoGen
4. 汇总对比分析"
常见问题
Q: Claude 执行了危险操作怎么办?
使用 Ctrl+C 停止,然后使用 git restore 恢复:
git restore .
Q: 子 Agent 数量有限制吗?
Claude Code 会根据任务复杂度自动决定,通常 3-5 个比较合适。
Q: 子 Agent 能访问主 Agent 的上下文吗?
可以,子 Agent 会继承主 Agent 的项目上下文。
Q: 上下文丢失怎么办?
在会话开始时提供关键信息:
当前状态:正在实现用户认证模块
已完成:登录 API
待完成:注册、登出、JWT 验证
Q: 如何提高 Claude 的准确性?
- 提供更多上下文
- 明确约束条件
- 分步骤执行
- 及时纠正偏差
Q: 如何知道是否应该使用 Sub-Agent?
简单任务(1-2 个文件)不需要;复杂任务(跨多个模块、多种技能)建议使用。
最佳实践总结
- 保持清晰的目标 - 明确你要实现什么
- 提供足够的上下文 - 让 Claude 理解项目背景
- 渐进式交互 - 从简单开始,逐步深入
- 及时审查 - 生成的代码需要人工审核
- 善用工具 - 使用 hooks、命令、设置提高效率
- 明确任务边界 - 每个 Agent 应该有清晰的目标
- 适当分解 - 避免创建过多 Agent,增加协调成本
- 结果检查 - 子 Agent 的输出需要主 Agent 审核
下一步
相关文章
从零编写 Claude Code Autopilot 模式:从想法到代码的完全自动化实现指南
手把手教你从零开始构建一个类似 oh-my-claudecode 的 Autopilot 自动执行系统,包含需求分析、任务规划、代码执行、QA 验证等完整流程的实现
🤖Claude Code从零编写 Claude Code Deep Interview 模式:苏格拉底式需求挖掘完整实现指南
手把手教你从零开始构建一个类似 oh-my-claudecode 的 Deep Interview 需求挖掘系统,包含模糊度评分、多维度提问、状态管理等完整实现
🤖Claude CodeClaude Code Sub-Agent 模式实战
理解和运用 Sub-Agent 分而治之处理复杂任务
评论
加载中...
评论
加载中...