Claude Code 使用技巧大全(进阶篇)

本文汇总了 50+ 个 Claude Code 进阶技巧,涵盖 Prompt 工程、工具调用、多 Agent 协作、自定义 Skill 等高阶用法。

一、Prompt 工程进阶

1. 结构化 Prompt 模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Prompt 结构模板
## 背景
[项目上下文和约束]

## 目标
[要达成的具体结果]

## 约束
- [限制条件1]
- [限制条件2]

## 输出格式
[期望的输出格式]

## 示例
[输入] → [期望输出]

2. 链式思维 Prompt

1
2
3
4
5
claude -p "分三步解决这个问题:
Step 1:分析问题,理解输入输出
Step 2:设计解决方案
Step 3:实现并验证
问题:[你的问题]"

3. Few-shot Prompt

1
2
3
4
claude -p "按照以下示例格式生成代码:
示例输入:['a', 'b', 'a', 'c']
示例输出:{'a': 2, 'b': 1, 'c': 1}
任务:统计 ['x', 'y', 'x', 'x', 'z'] 中每个元素的出现次数"

二、工具调用进阶

1. 管道式工具调用

1
2
claude -p "找出最近修改的5个测试文件,并运行测试" \
--allowedTools "Glob,Bash"

2. 条件执行

1
2
claude -p "检查 /src/auth.py 是否存在,存在则审查其安全性" \
--allowedTools "Read,Glob"

3. 批量操作

1
2
claude -p "将所有 /src/**/*.ts 文件转换为使用 TypeScript strict 模式" \
--allowedTools "Read,Write,Glob"

三、多 Agent 协作

Agent 链模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 创建专业化 Agent
const agents = {
reviewer: {
prompt: "你是一个代码审查专家,专注于发现安全漏洞",
tools: ["Read", "Grep"]
},
implementer: {
prompt: "你是一个后端开发专家,擅长 Go 语言",
tools: ["Read", "Edit", "Bash"]
},
tester: {
prompt: "你是一个测试专家,专注于边界条件和错误处理",
tools: ["Read", "Write", "Bash"]
}
};

协作执行

1
2
3
4
5
6
7
8
# Agent 1: 审查
claude -p "审查 /src/auth 模块,输出问题清单" --allowedTools "Read,Grep" > review.md

# Agent 2: 实现
claude -p "根据 review.md 中的问题列表,修复 /src/auth 模块" --allowedTools "Read,Edit,Bash"

# Agent 3: 测试
claude -p "为修复的问题编写测试用例,覆盖边界条件" --allowedTools "Read,Write,Bash"

四、自定义 Skill 进阶

1. 带工具的 Skill

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// ~/.claude/skills/go-expert.skill.js
module.exports = {
name: "Go Expert",
description: "专业 Go 语言开发助手",
instructions: `
你是一个 Go 语言专家。
- 优先使用 error wrapping
- 使用 context.Context 处理超时
- 单元测试使用 testify
- 遵循 Uber Go 编码规范
`,
tools: ["Read", "Edit", "Write", "Bash", "Glob"],
// 触发关键词
triggers: ["go", "golang", "Go语言", "grpc", "protobuf"],
// 优先级
priority: 10,
// 条件触发
conditions: {
filePatterns: ["*.go", "go.mod", "go.sum"],
minContextLength: 1000
}
};

2. 场景化 Skill

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// ~/.claude/skills/refactor.skill.js
module.exports = {
name: "Refactor Expert",
description: "代码重构专家",
instructions: `
重构时遵循以下原则:
1. 保持 API 兼容性
2. 每次重构不超过 50 行变更
3. 重构后必须运行测试
4. 使用 git commit 保存检查点
5. 优先提取函数,再简化逻辑
`,
tools: ["Read", "Edit", "Bash", "Glob"],
hooks: {
beforeEdit: ({ filePath }) => {
if (filePath.includes('test')) {
return "测试文件修改,确认后执行";
}
return "";
}
}
};

五、Hook 机制

1. 自动上下文注入

1
2
3
4
5
6
7
8
9
10
// ~/.claude/hooks/context-inject.js
module.exports = {
// 每次读取文件后触发
afterRead: ({ content, filePath }) => {
if (filePath.endsWith('.env')) {
return "注意:这是一个环境配置文件,包含敏感信息,请勿输出其内容。";
}
return "";
}
};

2. 自动提交

1
2
3
4
5
6
7
8
9
10
11
12
13
// ~/.claude/hooks/auto-commit.js
module.exports = {
afterEdit: ({ filePath, editType }) => {
if (editType === 'major') {
return `
建议提交变更:
git add ${filePath}
git commit -m "update: ${filePath}"
`;
}
return "";
}
};

3. 安全警告

1
2
3
4
5
6
7
8
9
10
11
12
// ~/.claude/hooks/security-warn.js
module.exports = {
beforeBash: ({ command }) => {
const dangerous = ['rm -rf /', 'drop database', ':(){:|:&};:'];
for (const cmd of dangerous) {
if (command.includes(cmd)) {
return `⚠️ 危险命令检测:${cmd},是否继续?`;
}
}
return "";
}
};

六、CLAUDE.md 进阶用法

1. 动态内容

1
2
3
4
5
6
7
8
9
<!-- 使用 Git 动态注入信息 -->
# 最近变更
<!-- {{git log -1 --oneline}} -->

# 当前分支
<!-- {{git branch --show-current}} -->

# 未解决的问题
<!-- {{grep -r "TODO" src/ | wc -l}} -->

2. 条件配置

1
2
3
4
5
6
7
8
9
10
11
12
13
# 项目配置

<!-- IF project_type = "api" -->
## API 规范
- RESTful 风格
- 错误码规范:1000-9999
<!-- ENDIF -->

<!-- IF project_type = "cli" -->
## CLI 规范
- 使用 cobra 框架
- 支持 --help 和 -h
<!-- ENDIF -->

3. 团队协作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 团队 CLAUDE.md

## 团队成员
- @张三:后端 Lead
- @李四:前端 Lead
- @王五:DevOps

## 代码 Owner
- /backend → @张三
- /frontend → @李四
- /infra → @王五

## 合并规范
- 所有 PR 需要至少 2 人 review
- 敏感路径修改需要 @张三 确认

七、性能优化

1. 增量处理大文件

1
2
3
4
5
6
# 分块处理大文件
claude -p "处理大型日志文件 /var/log/app.log:
1. 先分析文件大小和行数
2. 提取最近 1000 行的错误信息
3. 统计错误类型分布
4. 生成摘要报告"

2. 智能缓存

1
2
3
4
5
# 使用 Glob 避免重复读取
claude -p "处理所有 /src/components/*.tsx:
1. 先列出所有文件
2. 然后批量处理
使用 Glob 模式减少重复读取"

3. 流式输出

1
2
# 使用流式模式(如果可用)
claude -p "生成代码" --stream

八、调试技巧

1. 分步调试

1
2
3
4
5
6
claude -p "分步执行:
Step 1:读取并理解 auth.py
Step 2:找出登录逻辑
Step 3:标记潜在问题
Step 4:生成修复建议
暂停在每一步,等待确认后再继续"

2. 调试输出分析

1
2
3
4
5
6
7
claude -p "分析以下调试输出,找出根本原因:
[粘贴调试输出]
请:
1. 识别错误类型
2. 定位错误位置
3. 分析调用栈
4. 给出修复方案"

3. 回归测试生成

1
2
3
4
5
6
7
claude -p "为以下修复生成回归测试:
修复内容:[描述修复]
原有测试:[列表]
要求:
1. 确保修复有效
2. 确保不引入新问题
3. 覆盖边界条件"

九、集成技巧

1. Git 集成

1
2
3
4
5
6
7
# 自动生成 Commit Message
claude -p "根据 git diff 生成符合 Conventional Commits 规范的提交信息" \
--allowedTools "Bash"

# Code Review
claude -p "审查 git diff 中的变更,关注代码质量和潜在问题" \
--allowedTools "Bash,Read"

2. Docker 集成

1
2
3
4
5
6
# 开发容器中使用
docker exec -it my-container claude -p "运行测试"

# Dockerfile 分析
claude -p "分析 Dockerfile 优化点,减少镜像大小" \
--allowedTools "Read"

3. CI/CD 集成

1
2
# GitHub Actions 中使用
claude -p "运行测试并生成报告" --allowedTools "Bash"

十、50+ 技巧速查表

类别 技巧 效果
Prompt 使用结构化模板 提升准确性
Prompt Few-shot 示例 减少误解
工具 Glob 限制范围 提升速度
工具 管道式调用 减少上下文
Skill 场景化配置 精准触发
Hook 自动提交 防止丢失
Hook 安全警告 防止破坏
协作 多 Agent 链 复杂任务分解
性能 分块处理 支持大文件
调试 分步执行 精确控制

Claude Code 的高阶用法在于根据具体场景灵活组合这些技巧,而非机械地使用单一功能。

相关外部链接

资源 链接 说明
Claude Code Skill 文档 https://docs.anthropic.com/zh-CN/claude-code/skills 自定义 Skill 编写指南
Claude Code Hooks https://docs.anthropic.com/zh-CN/claude-code/hooks Hook 机制详解
Claude Code 配置 https://docs.anthropic.com/zh-CN/claude-code/configuration settings.json 配置说明
Anthropic API 文档 https://docs.anthropic.com/zh-CN/api/reference API 参考文档
Claude Code GitHub https://github.com/anthropics/claude-code 开源项目和社区
data-ad-format="auto" data-full-width-responsive="true">