Claude Code | | 约 14 分钟 | 5,551 字

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 工作方式分为两种:

  1. 自动模式:当任务复杂时,Claude Code 会自动创建 Sub-Agent 来处理
  2. 显式调用:你可以通过特定指令显式创建和管理子 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 可能会:

  1. 主 Agent 分析任务,拆分为多个子任务
  2. 创建 Sub-Agent A 处理 Header 组件
  3. 创建 Sub-Agent B 处理 Footer 组件
  4. 创建 Sub-Agent C 处理 Sidebar 组件
  5. 主 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 的准确性?

  1. 提供更多上下文
  2. 明确约束条件
  3. 分步骤执行
  4. 及时纠正偏差

Q: 如何知道是否应该使用 Sub-Agent?

简单任务(1-2 个文件)不需要;复杂任务(跨多个模块、多种技能)建议使用。

最佳实践总结

  1. 保持清晰的目标 - 明确你要实现什么
  2. 提供足够的上下文 - 让 Claude 理解项目背景
  3. 渐进式交互 - 从简单开始,逐步深入
  4. 及时审查 - 生成的代码需要人工审核
  5. 善用工具 - 使用 hooks、命令、设置提高效率
  6. 明确任务边界 - 每个 Agent 应该有清晰的目标
  7. 适当分解 - 避免创建过多 Agent,增加协调成本
  8. 结果检查 - 子 Agent 的输出需要主 Agent 审核

下一步

评论

加载中...

相关文章

分享:

评论

加载中...