Claude Code最佳实践指南:官方推荐与实战技巧

2026-06-17阅读 0热度 0
Claude

Claude Code 官方文档中隐藏着一份由 Anthropic 内部团队实战积累的最佳实践指南。社区同样贡献了 GitHub 仓库,收录了 84 条实践——筛选出最具价值的几条,结合真实使用经验重新整合。


一、为 Claude 提供验证机制

这确实是关键杠杆。官方反复强调,这是提升输出质量最有效的单点改进。

当 Claude 能够自我验证产出时,表现显著提升:执行测试、对比截图、检查输出。缺少明确的验证标准,它很容易写出逻辑正确但运行失败的无用代码。

验证策略对比

策略

低效指令

高效指令

提供测试用例

"实现邮箱验证函数"

"编写 validateEmail 函数,测试用例:user@example.com 返回 true,invalid 返回 false,user@.com 返回 false。实现后运行测试"

视觉验证 UI

"让仪表盘更好看"

"[粘贴截图] 实现此设计。完成后截图对比,列出差异并修正"

解决根因

"构建失败了"

"构建失败,错误:[粘贴错误]。修复并验证构建通过。解决根本原因,不要压制错误"

Bug 只说"修复",别微操

社区里最反直觉的一条经验。

遇到 bug,直接把错误信息贴给 Claude,只说一个词:修复。别指导它怎么修,别猜测原因,别指定方案。Claude 的调试能力比大多数人想象的强——你越微操,越容易把它带偏。直接让它修,成功率能到 80%。

如果两次尝试还不奏效,停下来。用 /clear 重置上下文,换个角度再试。

你:这个报错是因为数据库连接超时,可能是连接池配置问题,你查一下连接池设置...

你:[粘贴错误信息]修复。


二、探索 → 规划 → 编码

将研究与规划阶段和实现阶段分离,能有效避免解决错误的问题。

Plan Mode 工作流

进入 Plan Mode:按 Shift Tab 两次。Claude 只读文件、回答问题,不做修改。

推荐流程:

  1. 探索(Plan Mode)—— claude (Plan Mode) 读取 /src/auth,理解 session 处理逻辑。
  2. 规划(Plan Mode)—— claude (Plan Mode) 我想添加 Google OAuth。需要改哪些文件?创建一个计划。
  3. 实现(Normal Mode)—— claude (Normal Mode) 按计划实现 OAuth 流程。为回调处理器写测试。
  4. 提交—— claude (Normal Mode) 用描述性消息提交,打开 PR。

什么时候跳过规划?

场景

是否规划

改错别字、加日志、重命名

跳过

不确定方案

规划

改动跨多文件

规划

不熟悉要改的代码

规划

能用一句话描述 diff,就跳过计划。


三、CLAUDE.md 保持在 60 行以内

新手最容易踩的坑。

刚开始用 Claude Code 时,CLAUDE.md 写过快 500 行——项目描述、编码规范、API 文档全塞进去。结果呢?Claude 会选择性忽略规则,尤其是文件末尾的那些。

经验数据:理想长度是 60 行以内,硬性上限是 300 行。Boris Cherny(Claude Code 创作者)的解释是:前沿 LLM 可靠执行的指令大约 150-200 条,系统提示已经占了约 50 条。留给用户的空间确实不多。

具体做法:CLAUDE.md 只放 Claude 可能忽略的信息——构建命令、测试命令、分支命名规范、项目特定的架构决策。Claude 能从代码推断出来的,就别写进去。规则太多?拆到 .claude/rules/ 按需加载。关键规则用 标签包裹。


四、让 Claude 先面试你

给 Claude 一个简单需求描述,让它用 AskUserQuestion 工具面试你,澄清所有细节。面试完,开新会话执行。

做过一个 API,Claude 问了"并发请求怎么处理"、"超时策略是什么"——这些起初根本没考虑。它的提问能帮你发现遗漏的边界情况。

关键点:面试完开新会话。面试过程的长对话会污染上下文。

示例:

你:我要做一个用户认证系统。

Claude 开始面试:1. 认证方式:JWT 还是 Session?2. 密码存储:用什么哈希算法?3. 登录失败限制:几次锁定?4. Token 过期时间:多久?5. 多设备登录:允许还是互踢?

你回答完所有问题。

你:/clear(开新会话)你:按刚才讨论的需求实现用户认证系统。


五、提供具体上下文

指令越精确,需要纠正的次数越少。

上下文策略对比

策略

低效指令

高效指令

划定范围

"给 foo.py 写测试"

"给 foo.py 写测试,覆盖用户未登录的边界情况。不用 mock"

指向来源

"这个 API 为什么这么怪?"

"查 ExecutionFactory 的 git 历史,总结 API 怎么变成这样的"

引用模式

"加个日历组件"

"看主页现有组件的实现方式。HotDogWidget.php 是好例子。按这个模式实现"

描述症状

"修复登录 bug"

"用户报告登录后仍显示未登录。问题可能在 AuthContext.tsx。先查 auth 流程"

上下文来源清单

代码语言:ja vascript src/auth/login.ts

六、要求重写平庸方案

当 Claude 给出的方案能用但不优雅时,别打补丁。直接说:

knowing everything you know now, scrap this and implement the elegant solution

Claude 会基于对问题的完整理解重新设计。试过几次,重写的版本总能比打补丁的好。

类似地,可以说 prove to me this works,让 Claude 把当前分支和 main 做 diff,验证改动是否正确。

Claude:[实现了一个能用但丑陋的方案]你:这个方案能用,但不够优雅。knowing everything you know now, scrap this and implement the elegant solution.Claude:[基于完整理解重新设计,方案更简洁]


七、提示词里加"用子 Agent"

在提示词里加一句 use subagents,Claude 会把任务拆成多个子 Agent 并行处理。

特别适合代码审查和大规模重构。有人用 9 个并行子 Agent 做代码审查,每个专注一个质量维度。

你:审查这个 PR,检查安全性、性能、代码风格。use subagentsClaude 启动 3 个子 Agent:子 Agent 1:安全审查;子 Agent 2:性能审查;子 Agent 3:风格审查。主会话只收到汇总报告。

技巧:创建子 Agent 时,让它功能具体(如"前端组件 Agent")而不是泛泛的("QA Agent")。功能越具体,结果越好。


八、Skills 用文件夹结构,加 Gotchas 区

很多人写个 SKILL.md 就算完事。但 Skills 应该是完整的文件夹结构:

.claude/skills/my-skill/├── SKILL.md # 核心规则和索引├── references/ # 详细文档├── scripts/ # 可执行脚本└── examples/ # 示例文件

这种渐进式披露是关键——Claude 只在需要时读取子目录内容,而不是一次把所有东西塞进上下文。

另一个技巧:每个 Skill 里建一个 Gotchas(陷阱记录)区,每次 Claude 犯错就记录失败模式。时间长了,这是信噪比最高的内容。

## Gotchas(陷阱记录)- ❌ "值得注意的是" → 太啰嗦,直接说重点- ❌ "在...的背景下" → 翻译腔,改成"在...情况下"- ❌ 连续三个四字短语 → AI 腔,换表达


九、上下文用到 50% 就手动压缩

最重要的工作流级实践之一。

Claude Code 有个"Agent 呆滞区"——上下文超过 60-70% 时,性能明显下降,Claude 开始忽略指令、犯低级编码错误。

仓库建议:在 50% 时手动执行 /compact,别等自动压缩,那时候通常已经晚了。

你:/contextClaude:当前上下文 90K/200K,使用率 45%你:[继续读文件...]你:/contextClaude:当前上下文 105K/200K,使用率 52%你:/compactClaude:已压缩对话历史,当前上下文 35K/200K

/statusline 实时监控用量。


十、跑偏时按 Esc Esc 回滚

Claude 跑偏了怎么办?大多数人的本能是在当前会话里纠正。

建议:直接按两次 Esc(或用 /rewind)回滚到上一个检查点。在同一个上下文里纠正跑偏,往往越改越乱——因为错误推理还在上下文里,Claude 会被自己的错误逻辑带偏。

习惯是:跑偏一次 → Esc Esc 回滚;同一问题跑偏两次 → /clear 重开。

Claude:[开始重构整个架构,但你只想改一个函数]你:Esc Esc(回滚到重构前)你:我只改 validateToken 这个函数,不动其他文件。


十一、早纠正,频纠正

Claude 不怕被纠正。它怕的是你沉默。

纠正时机

• 方向错了:立即打断,说明正确方向• 方法对了但细节错:让它继续,完成后再调整• 完成度 50% 时:快速检查,确认方向正确

纠正方式对比

"不对,重来"

"方向对了,但不要用 mock,用真实数据库。当前的测试会在 CI 失败,因为 mock 的响应格式和真实 API 不一致。"


十二、小任务别用复杂工作流

原生 Claude Code 处理小任务比任何复杂工作流都快。改个变量名也走完整的 Plan → Execute → Review 流程,其实一句话就行。

那些复杂工作流(Superpowers、Spec Kit 等)是为涉及多文件多步骤的大任务设计的。三五分钟能搞定的事,原生最快。

判断标准:能用一句话描述改动的 → 直接说;涉及 3 个以上文件的 → 用工作流;需要多轮验证的 → 用工作流;改动逻辑复杂的 → 先 Plan Mode。


十三、自动化和扩展

非交互模式

适合 CI/CD、脚本、后台任务:claude --print "analyze the test failures in src/tests/"

并行会话

用 Git Worktree 运行多个 Claude 实例:git worktree add ../feature-a feature-branch; cd ../feature-a; claude "implement feature A" &

Auto Mode

让 Claude 完全自主运行:claude --auto


十四、常见失败模式

模式一:没有验证标准

症状:Claude 写出看起来对但实际不行的代码。解决:提供测试、截图、预期输出。

模式二:一次性塞太多

症状:Claude 被淹没,开始丢信息。解决:分阶段,用子 Agent 隔离,50% 就压缩。

模式三:指令模糊

症状:Claude 瞎猜,需要反复纠正。解决:指明文件、约束、示例。

模式四:忽略上下文管理

症状:上下文快满了才发现,Claude 开始"失忆"。解决:定期 /context,超过 70% 就 /compact

模式五:不及时纠正

症状:Claude 走偏了很久才发现,需要大改。解决:在完成度 50% 时检查。


总结

核心实践速查表:

实践

关键点

验证方式

给测试、截图、预期输出

Bug 只说修复

不微操,成功率 80%

Plan Mode

复杂任务先规划

CLAUDE.md 60 行

只放 Claude 可能忽略的信息

面试技巧

需求不清晰时让 Claude 问你

具体上下文

指明文件、约束、示例

重写平庸方案

别打补丁,直接要求重写

提示加 subagents

并行处理,隔离上下文

Skills 文件夹

主文件 references Gotchas

50% 就压缩

别等自动压缩

Esc Esc 回滚

跑偏时回滚,别在原上下文纠正

小任务直接说

别为小事启动复杂工作流


参考

• Claude Code 最佳实践文档 — https://code.claude.com/docs/en/best-practices• Claude Code 最佳实践仓库 — https://github.com/shanraisshan/claude-code-best-practice• Claude Code 常见工作流 — https://code.claude.com/docs/en/common-workflows• Claude Code 扩展机制 — https://code.claude.com/docs/en/features-overview

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策