Claude Code 最佳实践
一句话
掌握 Claude Code 的最佳实践,提高编程效率和代码质量。
什么时候翻这页
- 开始使用 Claude Code 进行开发
- 遇到上下文窗口限制问题
- 需要提高与 Claude 的沟通效率
- 想要扩展 Claude Code 的功能
核心概念
- 代理编程环境(agentic coding environment):Claude Code 可以主动读取文件、运行命令、进行更改,而不是被动回答问题
- 上下文窗口(context window):存储整个对话、文件内容和命令输出的有限空间,会快速填满,性能会随着填满而下降
- 验证机制:让 Claude 能够自动检查工作是否完成,形成闭环
- 计划模式(plan mode):分离探索和执行的阶段,避免解决错误问题
- CLAUDE.md:特殊文件,提供持久上下文,Claude 在每个会话开始时读取
- 技能(skills):扩展 Claude 知识的领域特定信息和可重用工作流
- 子代理(subagents):在独立上下文中运行的专业助手,用于隔离任务
怎么做
1. 给 Claude 提供验证工作的方法
- 提供可运行的检查:测试、构建、截图对比等
- 决定验证的严格程度:
- 在单个提示中要求运行检查并迭代
- 使用
/goal条件作为会话级别的验证 - 使用停止钩子(Stop hook)作为确定性门控
- 使用验证子代理或动态工作流进行二次确认
2. 遵循探索、规划、编码、提交的工作流程
- 探索:使用计划模式,让 Claude 读取文件并回答问题而不做更改
- 规划:要求 Claude 创建详细的实施计划,可按 Ctrl+G 在编辑器中编辑
- 实现:退出计划模式,让 Claude 根据计划编码并验证
- 提交:要求 Claude 提交并创建 PR
3. 在提示中提供具体上下文
- 明确任务范围:指定文件、场景和测试偏好
- 指向信息源:直接引导 Claude 查找答案
- 引用现有模式:指向代码库中的模式示例
- 描述症状:提供问题、可能位置和"修复"后的样子
4. 配置环境
- 编写有效的 CLAUDE.md:
- 运行
/init生成初始文件 - 包含 Bash 命令、代码风格和工作流规则
- 保持简洁,只包含 Claude 无法推断的内容
- 可以导入其他文件使用
@path/to/import语法
- 运行
- 配置权限:
- 使用自动模式(auto mode)让分类器处理审批
- 使用
/permissions允许特定命令 - 使用
/sandbox进行操作系统级隔离
- 使用 CLI 工具:告诉 Claude 使用
gh、aws、gcloud等工具 - 连接 MCP 服务器:运行
claude mcp add连接外部工具 - 设置钩子:使用
.claude/settings.json配置必须每次执行的脚本 - 创建技能:在
.claude/skills/中创建SKILL.md文件 - 创建自定义子代理:在
.claude/agents/中定义专业助手 - 安装插件:运行
/plugin浏览市场
5. 有效沟通
- 询问代码库问题:像询问高级工程师一样提问
- 让 Claude 采访你:对于大型功能,让 Claude 使用
AskUserQuestion工具详细采访你
6. 管理会话
- 及时纠正:
- 按
Esc停止 Claude 的操作 - 按
Esc + Esc或运行/rewind打开回退菜单 - 使用
"Undo that"让 Claude 撤销更改 - 使用
/clear重置上下文
- 按
- 积极管理上下文:
- 在不相关任务之间使用
/clear重置上下文 - 使用
/compact <instructions>控制压缩行为 - 使用
/btw发送不进入上下文的快速问题
- 在不相关任务之间使用
- 使用子代理进行调查:委托研究任务,保持主对话清洁
- 使用检查点回退:每个提示都会创建检查点,可以恢复对话、代码或两者
- 恢复对话:使用
/rename命名会话,像分支一样对待
7. 自动化和扩展
- 运行非交互模式:使用
claude -p "prompt"在 CI、预提交钩子或脚本中运行 - 运行多个 Claude 会话:并行运行多个会话加速开发或运行隔离实验
- 跨文件扩展:循环调用
claude -p处理大量文件 - 自主运行:使用自动模式进行不间断执行
- 添加对抗性审查步骤:在子代理中审查差异,报告差距
命令 / 配置速查
| 命令 | 功能 |
|---|---|
/init | 生成初始 CLAUDE.md 文件 |
/clear | 重置上下文 |
/rewind | 打开回退菜单 |
/btw | 发送不进入上下文的快速问题 |
/goal | 设置目标条件 |
/permissions | 配置权限 |
/hooks | 查看配置的钩子 |
/skill-name | 调用特定技能 |
/plugin | 浏览插件市场 |
claude -p "prompt" | 非交互模式运行 |
claude --continue | 继续最近的会话 |
claude --resume | 选择要恢复的会话 |
初学者易错点
- 不及时纠正错误,导致上下文被失败的尝试污染
- CLAUDE.md 文件过于冗长,导致重要指令被忽略
- 不提供验证机制,无法确保工作质量
- 在不相关任务之间不重置上下文
- 过度规划简单任务,降低效率
相关词条
how-claude-code-works了解 Claude Code 的工作原理features-overview扩展 Claude Code 功能memory使用 CLAUDE.md 存储项目约定permission-modes管理权限模式sub-agents创建和使用子代理hooks设置自动化钩子