Claude Code 50 条最佳实践手册
50 条按难度倒着排,从奠基篇一路到终极进阶。每条都配一句解读,说清这条到底在解决什么。
- 奠基篇讲人和 AI 的认知对齐,第 50 条就是「先划个圈别让它跑偏」。
- 项目与技能那部分讲怎么把它训练成你的专属分身。
- 提效篇专攻成本和速度控制,是省钱省时间的集中区。
- Debug 与防坑 10 条铁律,属于保命级别的内容。
- 终极进阶最后 10 步,适合已经用熟了想再往上走的人。
一、 奠基篇:驯服 AI 的底层逻辑 (50-41)
这部分的核心是建立人与 AI 的认知对齐。
50. 明确任务框架 (Clear Task Framing): 别一上来就写代码。先用一段话定义任务:背景是什么、目标是什么、限制是什么。说白了,就是给它划个圈,别让它跑偏。
- 解读: 很多人习惯上来就说“写个函数”。但在 模型的概率空间里,边界越模糊,它“胡编”的概率就越大。“框架”的作用是缩减搜索空间。你必须在第一句话就锁死它的行动范围,明确告诉它:What(做什么)、Standard(什么标准)、Restrictions(红线)。
- 实战案例: “我正在开发一个 React 电商后台,需要实现‘订单导出’功能。背景: 客服每天需要导出 Excel 对账。目标: 点击按钮后,前端直接生成 Excel 文件下载。限制: 必须使用 xlsx 库,严禁调用后端 API 生成文件,单次导出上限 1000 条。”
49. 指令前置 (Front Load Instructions): 重点来了!最关键的需求(比如“必须使用 TypeScript”)一定要放在开头。AI 的注意力像人类一样,越往后越容易疲软。
- 解读: 模型的注意力机制(Attention Mechanism)对 Prompt 开头的信息权重最高。如果核心需求(如“严禁使用 any”)夹杂在中间的废话里,大概率会被忽略。把最重要的“宪法”写在第一行。
- 实战案例: “【系统级指令:必须使用 TypeScript,且严禁在代码中出现 any 类型,违者重写】。好了,现在请帮我写一个处理用户登录信息的 Hook...”
48. 验证机制 (Give Claude a way to verify work): 哪怕你忘了前面所有条,也请记住这一条。写完代码,必须要求它运行测试或打印结果。不能自我验证的 AI 就是一个随机代码生成器。
- 解读: (性价比最高的一条) AI 最大的问题是“盲目自信”。它不知道自己写没写对。你必须给它设计一个“反馈闭环”。让它自己跑测试、自己看日志。把 Bug 拦截在它交付给你之前。
- 实战案例: “写完这个正则校验函数后,请立刻生成一个包含 10 个边缘 Case 的测试脚本,并自动运行 npm test。只有当测试全部通过后,再把代码交给我。”
47. 提示词结构 (Prompt Structure Tip): 推荐公式:[角色] + [任务] + [上下文]。这种结构能瞬间把 AI 的逻辑拉满。
- 解读: 为什么“角色扮演”有用?因为这会激活模型内部特定领域的权重。当你指定它为“架构师”时,它调用的语料库是高质量文档;否则可能是水贴。公式 [角色] + [任务] + [上下文] 是唤醒“专业脑”的开关。
- 实战案例: “[角色] 你是 Google 级别的资深架构师。[任务] 优化 Auth 逻辑。[上下文] 高并发下 Token 校验有延迟,后端是 Node.js + Redis。”
46. 联动 Chrome (Chrome Extension Tip): 调 UI 的时候最痛苦。配合插件,它能实时看到渲染结果并修正。这就好比你给瞎子装了双眼,它干活能不快吗?
- 解读: 代码是文本,UI 是视觉。光看代码改 UI 就像“盲人摸象”。Claude 插件打通了视觉反馈回路,让它能“看见”按钮是不是歪了。
- 实战案例: “我已经打开本地 3000 端口。请通过 Chrome 插件截图查看登录页布局。感觉‘登录’按钮被 Footer 遮挡了,请根据视觉效果调整 CSS。”
45. 探索 -> 计划 -> 编码 (Explore first, then plan, then code): 别急着敲键盘。先让它查文件(探索),再出方案(计划),最后才敲代码。慢就是快。
- 解读: “谋定而后动”。直接写代码容易写出与架构冲突的垃圾。“探索”是扫雷,“计划”是画图纸,“编码”只是砌砖。 强制分步走,能避免 90% 的返工。
- 实战案例: “第一步: 扫描 src/models 搞清楚数据流。第二步: 给出一份‘增加积分字段’的实施计划。第三步: 我确认计划无误后,你再写代码。”
44. 提供具体上下文 (Provide specific context): 别说“修改这个文件”,要说“修改这个文件里的 getUser 函数”。指令越细,Bug 越少。
- 解读: 多余的文件会消耗 Token 并引入噪音。你把整个项目丢给它,它会困惑;只给它相关的 50 行,它的注意力就聚焦了。“精准投喂”提升 AI 智商。
- 实战案例: “不要管其他逻辑,只关注 User.js 里的 validatePassword 函数。增加一个逻辑:密码不能包含用户出生日期。”
43. 假设零背景 (Assume Zero Context): 永远假设 Claude 是第一天入职,它不知道你的命名习惯。该解释的必须解释,别省那几行字。
- 解读: 别以为它记得昨天的对话。每一次会话都是全新的开始。你要像对待“空降兵”一样,把行话翻译成人话,把默认规则显性化。
- 实战案例: “我们项目的 API 响应结构特殊,不是标准 RESTful。成功是 { success: true },失败是 { error: code }。请严格遵守此格式。”
42. 丰富的上下文 (Rich Context): 善用 @。链接相关的 package.json、文档图表。你给的信息越多,它产出的“幻觉”就越少。
- 解读: 代码不仅仅是逻辑,更是生态。package.json 决定了能用什么库。用 @ 链接元数据,防止 AI 产生“幻觉”(想用你没装的库)。
- 实战案例: “请参考 @package.json 的依赖版本,结合 @docs/auth_flow.png 流程图,重写 @src/utils/auth.ts。”
41. /init 命令 (Claude . MD Tip): 第一次进项目必打。它生成的 CLAUDE.md 是这个项目的“宪法”,所有的编码规范都该写在这里。
二、 项目与技能:把它训练成你的“专属分身” (40-31)
这部分是“知识沉淀”,把你的经验变成 AI 的本能。
40. 项目指令 (Project Instructions): 在 CLAUDE.md 里写死长期规则。比如“禁止使用 any”,这样它每次写代码都会自动遵守,不用你反复提。
- 解读: CLAUDE.md 的核心功能。这里只写跟当前项目强绑定的死规则,不要写废话。
- 实战案例: “在 Instructions 区域添加:‘本项目是 Next.js App Router。严禁使用 pages/ 目录,所有组件默认为 Server Component。’”
39. 项目记忆 (Project Memory): 手动编辑“记忆”标签。如果它记住了错误的逻辑,记得去把它删了,否则它会一直错下去。
- 解读: Claude 会记错东西(如临时端口)。定期“洗脑”,手动修正记忆,保证它认知与现实一致。
- 实战案例: “输入 /memory,发现它记住了错误的数据库密码。立刻删除,并添加:‘数据库配置在环境变量中,严禁硬编码。’”
38. 使用 Skills (Claude Skills): 像封装函数一样封装指令。比如“生成单元测试”这个活儿,存成 Skill,下次一句话搞定。
- 解读: Skill 就是“宏命令”。把每天重复的 Prompt 封装成 Skill。不仅省打字,更为了输出一致性。
- 实战案例: “创建 Skill gen-swagger:‘扫描 Controller,提取 API,按 OpenAPI 3.0 生成 YAML 文档保存到 docs/。’”
37. 从案例生成技能 (Skill From Examples): 这是个高级技巧。你手写一段完美的示范,丢给它,说“这就是标准,以后按这个来”。这就叫“喂招”。
- 解读: 只有 AI 最懂 AI。给它看“满分试卷”,让它总结“考点”并变成技能。这是“少样本学习”的极致应用。
- 实战案例: “看这个完美的 Button.tsx。分析它的结构,生成名为 create-comp 的 Skill。以后我让你建组件,就按这个模版来。”
36. 技能版本化 (Skill Versioning): 随着项目迭代,Skill 也要升级。别一套老招数用到死。
- 解读: 技术栈在变,Skill 也要变。不要改原版,创建 v2 版本,既能尝鲜又有回滚余地。
- 实战案例: “test-gen 是基于 Jest 的。请创建 test-gen-vitest,适配 Vitest 语法,保留原覆盖率要求。”
35. 项目卫生 (Project Hygiene): 定期清理不再需要的指令和文件引用。内存太乱,AI 的逻辑就会变差。
- 解读: 废弃规则会稀释 AI 注意力,甚至导致逻辑冲突。定期大扫除,保持上下文“纯净”。
- 实战案例: “每两周检查 CLAUDE.md:‘删掉关于‘双十一活动’的所有规则,活动已结束,逻辑不再维护。’”
34. 隔离项目 (Project Context Bleed): 不同的工作流(比如前端和脚本)分不同的 Session。别让无关的上下文互相污染。
- 解读: 在一个会话里既聊前端又聊运维,AI 容易搞混环境。“物理隔离”是防止幻觉的防火墙。
- 实战案例: “我要写 K8s 配置了。请开启新 Session,不要带入 React 上下文,以免搞混环境变量注入方式。”
33. 技能库 (Claude Skills Repo): 去 skillsmp.com 看看,里面有全球开发者的智慧结晶。
- 解读: 别造轮子。skillsmp.com 有全球开发者的智囊团。
- 实战案例: “在 skillsmp.com 下载‘Git Commit Convention’技能。提交时说‘帮我 Commit’,自动生成 Angular 规范信息。”
32. 插件中心 (Claude Skills Library): mcpservers.org 提供的 MCP 服务能让 Claude 接入数据库、Notion 等等。它不再只是个写代码的,它是个全能管家。
- 解读: MCP 让 Claude 连接世界。通过插件,它能查 Google、连数据库。从“程序员”变“全栈”。
- 实战案例: “运行 /plugin install @mcp/postgresql。指令:‘连接本地 Postgres,查询 users 表前 10 条,分析 last_login 为何没更新。’”
31. 存储路径 (Project Memory Location): 记住它的配置在 ./CLAUDE.md。如果你想把这套规范同步给队友,直接把这个文件传 Git 就行。
三、 提效黑科技:极致的成本与速度控制 (30-21)
这部分是“高级玩家”的操作,用最少的钱办最大的事。
30. 模型堆叠 (Model Stacking): 重点!用便宜的模型(比如 GPT-4o-mini 或 Grok)来写详细的开发计划,然后把计划丢给 Claude Code 去执行。省钱又高效。
- 解读: (省钱神技) 便宜模型(GPT-4o-mini/Grok)写计划,Claude 写代码。好钢用在刀刃上。
- 实战案例: “Step 1 (ChatGPT): ‘设计‘秒杀系统’数据库结构,出详细文档。’ Step 2 (Claude): ‘读文档,严格按设计写 Redis 扣减库存 Lua 脚本。’”
29. 自定义子代理 (Create custom subagents): 在 .claude/agents/ 里定义专门干脏活累活的助手。
- 解读: 定义只做单一脏活的 AI。不需要知道全貌,只把一件事做好。
- 实战案例: “在 .claude/agents/ 建 Reviewer:‘你是挑剔的审查员,任务是挑刺。检查拼写、未使用变量。只提意见,不写代码。’”
28. 输出打分 (Output Scoring): 让 Claude 评价自己的代码。如果它自己都觉得写得烂,它会自动重写。
- 解读: “强制自评”激活反思链,逼迫它自己优化自己。
- 实战案例: “以‘架构师’身份,从‘可读性、安全性’给你的代码打分(1-10)。低于 9 分请指出问题并重写。”
27. 安装插件 (Install Plug-ins): 没事打打 /plugin,看看有什么能集成进来的。
- 解读: 保持好奇。插件是 AI 的外挂。
- 实战案例: “/plugin install @mcp/filesystem 赋予读写能力;或装‘网页抓取’插件读在线文档。”
26. 互动课程 (Claude Code taught IN Claude Code): 官方出的互动课程,必须去刷一遍。相信我,看视频学的永远比自己瞎琢磨快。
- 解读: 官方课程是在真实环境运行的,形成肌肉记忆。
- 实战案例: “访问 ccforeveryone.com,在终端跟着敲命令,30 分钟学会 3 年沉淀的快捷键。”
25. 开启面试模式 (Claude Interviews): 大项目开始前,让它先面试你。这样它能掏空你脑袋里的细节。
- 解读: AI 这一问,能炸出你逻辑里的漏洞。比写一半发现逻辑不通省事得多。
- 实战案例: “我要做拼团功能。请作为技术总监面试我,问 5 个关于并发、锁机制的关键问题,帮我完善方案。”
24. 随时纠偏 (Correct Often): 按 ESC 是程序员的基本修养。看到它第一行代码写错了就立马叫停,别等它烧完 Token 再纠正。
- 解读: 止损要趁早。 错误会像滚雪球。看到苗头不对(引入奇怪库),立刻按 ESC。
- 实战案例: “Claude: ‘安装 moment.js...’ -> 按 ESC -> 你: ‘停!严禁 moment.js,用 dayjs 重写。’”
23. /clear 命令 (Clear): 换个话题就 /clear。这不仅是为了省钱,更是为了让它“大脑清醒”。
- 解读: 上下文有“惯性”。刚搞完 SQL 接着搞 CSS,逻辑会打架。“重启大脑”让逻辑清爽。
- 实战案例: “后端通了。(输入 /clear) 现在写前端。上下文清空,重新开始。”
22. /rewind 撤回 (Rewind): 就像 Git 的回滚一样,一键回到代码还没坏掉的时候。双击 ESC 或者是 /rewind。
- 解读: “时间机器”。别用新指令修旧错误(容易越描越黑),直接回滚到错误发生前。
- 实战案例: “重构导致循环依赖。双击 ESC,回退到重构指令前的状态,换个思路。”
21. 多并行会话 (Run Multiple Sessions): 桌面端看本地,网页端跑云端。双管齐下。
- 解读: “人肉多线程”。榨干 CPU 和你的每一秒。
- 实战案例: “Terminal 1: 跑全量测试(5分钟)。Terminal 2: 写文档。Web 端: 查 API。”
四、 Debug 与防坑:保命的 10 条铁律 (20-11)
这部分是血泪教训,每一条背后都站着熬夜的程序员。
20. 步骤隔离 (Step Isolation): 哪里坏了修哪里,别让它重写整个项目。
- 解读: 忌讳“连坐”。画个圈:只许动这里,别处不许碰。
- 实战案例: “修 refreshToken。注意:只改函数内部实现,严禁改签名,严禁动其他函数。”
19. 错误重现 (Error Reproduction): 重点!在修 Bug 之前,先让它写一个能重现 Bug 的脚本。只有能重现,才说明它真的懂了。
- 解读: (排错第一定律) 无法重现就无法修复。让它写脚本重现,是为了确认它真懂了问题。
- 实战案例: “你说内存溢出?先写最小化脚本复现它。 看到报错了,你再修。”
18. 回滚提示词 (Rollback Prompts): 如果现在的指令怎么都调不动,直接删了,换回上一个版本。别在烂提示词上浪费时间。
- 解读: 听不懂人话多半是 Prompt 烂。别在垃圾堆上雕花,扔了重来。
- 实战案例: “刚才让你‘模仿莎士比亚’写注释,逻辑乱了。删除那条指令,回到朴素模式。”
17. 别写太长 (Over-Specified): CLAUDE.md 如果超过两页,Claude 就会开始丢三落四。保持“宪法”精简是基本功。
- 解读: 模型的长窗口有损耗。CLAUDE.md 太长它记不住。精简,只保留“不遵守就会死”的规则。
- 实战案例: “把‘代码风格’从 500 字删到 50 字:‘用 Prettier 默认配置。’(Linter 会管,别占 AI 脑容量)。”
16. 禁止任务混搭 (Don't make this mistake): 它的脑容量有限。别在讨论数据库的时候顺便让它优化样式,它会宕机的。
- 解读: 混搭会导致注意力分散。
- 实战案例: “停!讨论索引时别聊按钮颜色。搞定索引再聊前端。”
15. 停止过度纠错 (Over-Correcting): 重点!如果纠错两次还是错,直接 /clear 重写 Prompt。这时候它已经被带偏了。
- 解读: (止损核心) 纠错两次还不行,说明 Context 被污染了。直接 /clear 是唯一解。
- 实战案例: “User: 错。 Claude: 改了。 User: 还错。 -> /clear -> New Session: ‘直接按这个逻辑写...’”
14. 逐步回溯 (Step-by-Step Replay): 让它像讲故事一样,解释每一行代码的来源。在解释的过程中,它往往能自己发现“咦,这里逻辑好像不对”。
- 解读: “橡皮鸭调试”。让 AI 讲一遍代码怎么来的,它往往能自己发现逻辑漏洞。
- 实战案例: “一步步解释:为什么要加 user 依赖?怎么判断会导致死循环的?”
13. 警惕“无限探索” (The infinite exploration): 别说“去看看项目里还有什么隐患”。它会像无头苍蝇一样读几百个文件。一定要给它指定路径。
- 解读: 不给范围,它会读几百个文件。耗时 10 分钟,Token 烧 5 块,最后告诉你“还在看”。
- 实战案例: “检查安全漏洞。限制范围:只查 src/controllers。 绝不扫描 node_modules。”
12. 专属 Debug 项目 (Debugging Project): 专门开个 Session 用来找 Bug。这个 Session 里的所有记忆都跟 Bug 相关,逻辑会更纯粹。
- 解读: Debug 用“显微镜”,开发用“望远镜”。建立专门 Debug 会话,保持纯粹。
- 实战案例: “线上 Bug?新建终端窗口运行 claude 专门修。修好关闭,回原窗口继续开发。”
11. 上下文窗口管理 (Context Window Management): 关注 Token 进度条。快满了就赶紧总结归档(Checkpoint)。
- 解读: Token 满时 AI 会“遗忘”。及时归档(Checkpoint)保持智商在线。
- 实战案例: “上下文用了 80%。把进度和待办整理成 TODO.md。 存好后,我要 /clear 了。”
五、 终极进阶:通往未来的最后 10 步 (10-1)
这部分是关于自动化与扩展,让 AI 真正接管繁琐工作。
10. 联动 Notion (Notion Database): 把所有神级 Prompt 存进 Notion。好记性不如烂笔头,AI 时代也是如此。
- 解读: 你的私人 Prompt 资产库。好用的 Prompt 是调试出来的,存到 Notion 随时调用。
- 实战案例: “在 Notion 建库‘AI 咒语’,存入‘SQL 转 Prisma’的 Prompt。下次直接让 Claude 读这条数据。”
9. 实战学习 (Learn Claude Code in Action): 别只看二手资料,去 Anthropic 的官网和 Coursera 刷原版。
- 解读: 官方源头信息最准。二手教程有滞后。
- 实战案例: “每周一逛 Anthropic 官网 Updates,看有没有‘支持图像输入’这种新功能。”
8. 官方课程 (Claude Courses): Coursera 上的课,系统性强。
- 解读: 系统化学习 Prompt Engineering 是最高性价比投资。
- 实战案例: “去 Coursera 搜 Anthropic 课程,看目录就知道官方推荐结构。”
7. Boris 设置 (Boris' Set Up): 创始人的配置是经过千锤百炼的。去搜 Boris' Claude Code Setup,直接抄作业。
- 解读: 产品负责人的配置是经过残酷实战检验的。抄作业准没错。
- 实战案例: “在 .zshrc 添加 alias cc="claude"。把 cc 当成 git 一样高频使用。”
6. 文档常读 (Claude Code Best Practices DOC): code.claude.com 经常更新。每两周看一次,你总能发现新大陆。
- 解读: code.claude.com 是动态更新的。隐藏功能都在文档角落。
- 实战案例: “每两周扫一遍文档,发现新参数(如 --verbose)可能就是救命稻草。”
5. 自动驾驶模式 (Safe Autonomous Mode): 如果你想搞基建(比如改 Lint 错误),开启 --dangerously-skip-permissions。
- 解读: 这是一个“大力出奇迹”的参数。跳过所有权限确认,让 AI 像推土机一样工作。适合做枯燥的基建(Lint 修复、补文档)。风险提示:务必先 Git Commit。
- 实战案例: “claude --dangerously-skip-permissions "遍历 src 下所有文件,修复所有 ESLint 格式错误,不需要每次问我"。”
4. 慢就是快 (Slow & Steady): 给它 5 分钟写计划,能省下你 5 小时的 Debug 时间。
- 解读: 欲速则不达。Plan Mode(计划模式) 虽然费 Token,但能避免逻辑坍塌。给它 5 分钟思考,省下 5 小时 Debug。
- 实战案例: “这是一个涉及 20 个文件的大重构。不要直接写代码。 先进入 Plan Mode,列出完整的依赖关系图,等我确认后再动手。”
3. Superpowers 库 (Claude Superpowers): GitHub 上的 obra/superpowers。里面全是现成的脚本。
- 解读: GitHub 上的 obra/superpowers 是一个宝藏库。里面有社区贡献的各种脚本和 MCP 服务。站在巨人的肩膀上。
- 实战案例: “去 GitHub 搜 obra/superpowers,下载里面的 large-file-reader 脚本,解决 Claude 读不了大日志的问题。”
2. 钩子函数 (Hooks): 每次都要干的活(比如 Git 提交前检查),写成 Hook。
- 解读: 让 Claude 接入你的 Git 工作流。它可以在你 git push 之前自动跑一遍检查,或者帮你写 Commit Message。把 AI 变成流水线的一部分。
- 实战案例: “配置 pre-commit Hook:‘每次 Commit 前,自动检查代码里有没有 console.log 和 TODO,如果有,列出来问我是否确认提交。’”
1. 扩展能力 (How to Extend Claude Code): 重点!学习 MCP (Model Context Protocol)。这让 Claude 真正拥有了手和脚。
- 解读: (终极杀招) 学习 MCP (Model Context Protocol)。这是 Claude 的“手和脚”。通过编写 MCP Server,你可以让 Claude 重启服务器、发 Slack 消息、操作数据库。这让它从“聊天机器人”进化为“贾维斯”。
- 实战案例: “编写一个简单的 MCP Python 服务,连接你的阿里云/AWS 控制台。指令:‘Claude,检查一下 AWS 上哪台 EC2 实例 CPU 超过 80% 了,如果有,发警报到我的 Slack。’”
