
阅读时长:约15分钟 · 难度:★★☆☆☆ 适合人群:已经开始用 Director Mode,但偶尔遇到 Claude "做歪了"的开发者 学完之后:你能快速判断偏差类型,用最少的轮次把结果修正到位
《Claude Code 从入门到精通》试读篇:Claude Code 是什么?你可能从第一步就用错了
《Claude Code 从入门到精通》试读篇:你的第一次 Director Mode 体验(二)
你按第03课的模板写了一个很完整的 prompt。四个要素都有,目标清晰,约束明确。
发出去,等了两分钟,Claude 做完了。
你一看——不对。
不是完全不对,是七八成对,但有些地方明显不是你想要的。
这时候大部分人的反应是两种极端:
极端A:算了,我自己来改吧。(放弃 Claude,退回手动模式)
极端B:把整个 prompt 改了重新发,每次都从零开始。(时间全浪费了)
两种都不对。
极端A的问题是:你花了2分钟等 Claude 生成了80分的结果,然后扔掉这80分从零开始手写。那你用 Claude Code 干什么呢?
极端B的问题是:每次从头来,Claude 也从头来,之前做对的部分全部白费。而且你改了 prompt 之后,之前对的地方这次可能又不对了——按下葫芦浮起瓢。
正确的做法是纠错,不是重来,也不是放弃。
纠错是一项独立的能力。prompt 写得好是"进攻能力",纠错做得好是"防守能力"。这节课教你防守。
在讲具体方法之前,先说一个很多人不愿意面对的事实:
Claude 第一次就100%做对,是小概率事件。
不是 Claude 不行,是软件开发本身就是迭代的过程。你跟一个真人同事说"给这个接口加输入验证",他第一次提交的 PR 你就完全满意、不需要任何修改的概率有多大?
大概率也是要改一两轮的。
区别在于:跟真人同事,你习惯了 code review + 修改这个流程;跟 Claude,你却期望"一步到位"。
放下"一步到位"的执念,接受"80分→纠正→95分"的流程,你的效率反而更高。 因为 Claude 生成80分的代码只要2分钟,你纠正到95分再花5分钟,总共7分钟。你自己从零写到95分,可能要40分钟。
好,心态调好了,讲方法。
Claude 做出来"不对",不外乎三种原因。判断是哪种,纠正方式完全不同。
用错了纠正方式,比不纠正更浪费时间。
症状:整体思路没问题,代码结构合理,但某些具体实现不符合你的预期。
常见场景:
any 类型,你们项目禁止 any这种偏差最常见,大约占所有"不对"的 60-70%。也最好修。
纠正方式——追加指令,不要重来:
分页实现改成游标方式,参照 src/modules/user/user.controller.ts
里 getUserList 的分页逻辑。其他部分不动。
关键词是 **"其他部分不动"**。明确告诉 Claude 只改你指出的地方,别动已经对的部分。不说这句,它有时候会"顺便"把你已经满意的代码也重构一遍——然后你又多了一堆东西要检查。
再看一个例子:
你让 Claude 给项目加 Docker 部署配置,它写了 Dockerfile 和 docker-compose.yml。整体没问题,但它把 Node.js 版本写成了 18,而你们项目固定用 20。
❌ 错误的纠正方式(从头来):
"重新写一个 Dockerfile,Node.js 用 20 版本,然后……"
(你又要重新描述所有需求)
✅ 正确的纠正方式(追加):
"Dockerfile 里的 Node.js 版本从 18 改成 20,
基础镜像用 node:20-alpine。其他配置不动。"
原则:方向对、细节错 → 追加指令修细节,说"其他不动"。
症状:整个实现思路跟你想的不一样。不是细节问题,是根本的技术方案或架构选择不对。
常见场景:
这种偏差的根源是 prompt 有歧义。 你说的话有多种理解方式,Claude 选了你不想要的那种。
纠正方式——先叫停,说清楚哪里理解错了,再让它重做:
停一下。我不需要新建中间件框架。
我的意思是:在现有的路由配置里,用我们已有的 authGuard
给这几个接口加上角色校验。
具体来说:
- /api/admin/* 下的接口需要 admin 角色
- /api/manager/* 下的接口需要 manager 或 admin 角色
- 其他接口保持现状
不要改现有的中间件结构,只在路由层加 guard。
注意这个纠正 prompt 的四步结构:
再看一个例子:
你让 Claude 优化一个列表页的加载速度,它直接把整个页面改成了 SSR(服务端渲染)。技术上确实能解决问题,但你的项目是纯前端 SPA,根本没有 SSR 的基础设施。
停一下。项目是纯前端 SPA,不能引入 SSR。
优化方向改为:
1. 列表数据做分页加载,首屏只请求第一页
2. 图片做懒加载
3. 列表组件用虚拟滚动(项目已有 react-virtualized 依赖)
不要改项目的渲染架构。
原则:方向歪了 → 不要在错误方向上修修补补,直接否定+纠正+补信息。
偏差类型2的关键心法:不要试图把歪的方案"修正"成对的方案。一个用错了架构的实现,你逐行去改,改到最后可能比从头写还费劲。果断叫停,从正确的方向重新来,反而更快。
症状:你要的它做了,但它还"顺手"做了一堆你没要求的事情。
常见场景:
这不是理解错了,是过度发挥。 Claude 看到了可以"优化"的地方,就主动动手了。出发点是好的,但在你没有预期的情况下,这些改动会带来风险——尤其是那些它觉得"顺手"的重命名和重构,很可能影响到你没有关注的其他模块。
纠正方式——撤回多余改动 + 以后在约束里预防:
撤回对 username 和 phone 字段的重命名,
那两个字段不需要改,外部有很多地方在引用。
只保留新增 last_login_at 字段的改动。
然后在以后的 prompt 里养成一个习惯——**在约束条件里加一句"不要修改本次需求范围外的代码"**。
这句话能砍掉 Claude 80% 的过度发挥。如果你想更严格,可以写"严格只修改我指定的文件和函数,其他文件不要动"。
原则:做多了 → 明确撤回多余部分,然后在约束里加"只改我说的"。
遇到结果不对,用这个流程3秒做判断:
Claude 的输出不对
│
├─ 整体思路和方案选择是对的?
│ │
│ ├─ 是 → 偏差类型1(细节错了)
│ │ → 追加指令改细节,说"其他不动"
│ │
│ └─ 不是 → 方案完全跑偏了?
│ │
│ ├─ 是 → 偏差类型2(方向歪了)
│ │ → 叫停,否定旧方向,给新方向
│ │
│ └─ 方案是对的,但多做了你没要的
│ → 偏差类型3(过度发挥)
│ → 撤回多余改动,下次加约束
│
└─ 完全看不懂它在做什么 / 代码根本跑不起来
→ 大概率是 prompt 太模糊了
→ 回到第03课,用四要素重写 prompt
建议把这个流程图截图保存。前两周你可能需要对着它走,两周后就变成条件反射了。
上面三种偏差都是"可以修"的。但有些时候,修不如重来。
怎么判断?看两个信号。
信号1:连续纠正3轮以上,结果还是不对。
如果你追加了3轮指令,问题不但没解决还越改越乱,说明第一轮的基础就是歪的。后续所有的纠正都是在一个歪的地基上盖楼。这时候果断开一个新对话,用你在纠正过程中获得的认知重新写一个更好的 prompt。
信号2:Claude 创建了大量你不需要的文件和目录。
如果它按照自己理解的架构创建了一堆新文件,你想把它拉回到现有架构上,难度跟推倒重来差不多。特别是当这些新文件之间有复杂的引用关系时——你删一个文件,其他文件的 import 全挂了。
信号3:你自己的需求在纠正过程中变了。
做着做着你发现"其实我不想要这个功能了,我想要另一个"。这种情况下,之前的代码就是包袱,不要试图改造它,直接从新的需求出发。
记住一个数字:3轮。 3轮以内能修好的,就追加。3轮还修不好的,强烈建议重来。
看一个真实的纠错全过程。不是一帆风顺的成功故事,是一路修正最终做对的完整链路。
第1轮——Director Mode prompt
给后台的文章列表页加批量操作功能:
批量删除、批量上架、批量下架。
要有全选和反选,操作前要有确认弹窗。
Claude 的输出:做了一个完整的前端组件,包含全选/反选、确认弹窗、三种操作按钮和 API 调用。功能完整,代码能运行。
我的检查:打开代码看了看——
问题1:它直接在组件里用 fetch() 写了 API 调用。但我们项目统一走 service 层,所有接口调用在 src/services/ 下管理,组件里只调 service 方法。
问题2:确认弹窗用的是 window.confirm。我们项目有自己的 Modal 组件,UI 风格统一,window.confirm 太丑了,跟后台其他弹窗不一致。
判断:偏差类型1——方向对、细节错。两个细节都是"没遵循项目规范",追加指令就行。
第2轮——追加纠正
两个地方需要改:
1. API 调用不要直接写在组件里,
移到 src/services/article.service.ts 里,
参照 userService 的写法(导出异步方法,组件里只调用 service)
2. 确认弹窗用项目里的 Modal 组件(src/components/Modal),
不用 window.confirm。Modal 的使用方式参照
src/pages/user/UserList.tsx 里删除用户时的弹窗。
其他部分保持不动。
Claude 的输出:改好了。API 抽到了 service 层,弹窗换成了 Modal 组件,其他代码没动。
再检查一遍:又发现一个新问题。
问题3:批量删除的接口调用,它设计成了循环逐条调用 DELETE /api/articles/:id。如果选中了100篇文章,就发100个请求。这在网络上和服务端都扛不住。
这个问题第1轮我没注意到,因为它藏在 service 方法的实现里。
判断:还是偏差类型1。方向没问题,就是接口设计不合理。
第3轮——继续追加
批量操作的接口改成一次性提交,不要逐条调用。
后端已有批量接口 POST /api/articles/batch,
请求体格式是 { action: 'delete' | 'publish' | 'unpublish', ids: string[] }。
把三个操作都改成调用这个接口,一次请求传所有选中的文章 ID。
Claude 的输出:改成了统一的批量接口调用。三个操作都走 /api/articles/batch,只是 action 参数不同。
最终检查:
可以提 PR 了。
第1轮:Director Mode prompt → 拿到 80 分的结果
第2轮:纠正 2 个细节(代码组织 + UI 组件) → 提升到 90 分
第3轮:纠正 1 个接口设计问题 → 提升到 95 分
总对话轮数:3 轮
总耗时:约 8 分钟
几个关键经验:
每一轮的纠正都是精准的——不是"这不对,重新做",而是"这里不对,按这个标准改,其他不动"。每句话都有信息量。
没有重新开始——虽然修了3轮,但每一轮的改动范围都很小,总体代码在持续变好。因为整体方向从第1轮就是对的,不需要推倒。
每一轮暴露的问题都是你"忘了说"的规范——第1轮你忘了提 service 层规范和 Modal 组件,第3轮你忘了提批量接口的设计。这些"忘了"不是你的错,是因为这些规范"活在你的脑子里",你觉得理所当然,但 Claude 不知道。
核心教训:这些反复出现的"忘了说的规范",不应该每次都用人脑记住。它们应该被写进一个地方,让 Claude 每次自动读取。
这个地方就是 CLAUDE.md——第08课的主题。到了那一课,你会学到怎么把项目的所有规范固化成一个文件,彻底终结"忘了提"导致的返工循环。
给你6句直接能用的纠错模板,覆盖90%的纠正场景:
🔧 细节修正(类型1):
"[具体哪里]改成[具体怎样],参照[项目中哪个文件]的写法。其他不动。"
🔧 多处细节(类型1):
"以下N个地方需要改:1. …… 2. …… 其他部分保持不动。"
🛑 方向纠正(类型2):
"停一下。我不需要[它做的方案]。我的意思是[你要的方案]。不要改[要保护的部分]。"
🛑 方向纠正+补信息(类型2):
"方向不对。不要[错误方向],改成[正确方向]。补充一下背景:[它缺少的上下文]。"
↩️ 撤回多余(类型3):
"撤回对[具体内容]的修改,那部分不需要改。只保留[你要的改动]。"
↩️ 预防过度发挥(约束句):
"严格只修改我指定的文件和函数,不要改动需求范围外的任何代码。"
这次的练习跟前几课不一样——我要你故意写一个不完整的 prompt,然后练习纠错。
1. 写一个故意缺信息的 prompt
在你的项目里找一个你熟悉的模块,写一个只有目标、没有上下文和约束的 prompt。比如:
给用户模块加一个导出功能
就这一句,发出去。
2. 观察 Claude 的输出
它一定会做出来,但大概率有你不满意的地方。拿出纸笔(或者开个备忘录),记下来:
3. 用今天学的方法纠正
4. 复盘
纠正完之后,问自己两个问题:
这个练习的意义不是教你写烂 prompt——而是让你建立对偏差类型的直觉判断。 以后 Claude 做出来不对,你能一秒钟分类,然后用最高效的方式纠正,不浪费一句话。
到这里,地基篇4课全部学完了。我们回顾一下你学到了什么:
第01课 → 你知道了 Claude Code 的真实定位(不是键盘,是团队)
第02课 → 你亲手体验了 Director Mode 的效率差距
第03课 → 你掌握了四要素 Prompt 框架(目标+上下文+质量标准+约束)
第04课 → 你学会了纠错的完整方法论(三种偏差类型+判断流程)
如果你认真做了每课的课后实操,你现在已经能独立用 Director Mode 完成日常开发任务了。
这件事本身就已经让你超过了 80% 的 Claude Code 用户——他们还停留在一步步给指令的操作者模式里。
但说实话——地基篇只是"能用"的水平。
接下来的5课,是整个合集信息密度最高、实战价值最大的部分。
第05课:目标优于指令——Director Mode 第一支柱
为什么"告诉 Claude 你要什么"比"告诉它怎么做"效果好3倍?不是玄学,是有具体原因的。这节课用5个完整的开发场景,逐字演示怎么把"指令型 prompt"改写成"目标型 prompt"——功能开发、Bug修复、代码重构、安全审查、性能优化,每个场景都给你改写前后的完整对比和效果差异。
第06课:让 Claude 自己分配任务——并行 Agent 策略
这是 Director Mode 最强大的能力——让 Claude 同时做5件事。但不是所有任务都能并行。这节课给你一个判断工具:什么任务能并行、什么不能、部分并行怎么处理。学完之后,你一个人的产出效率可以接近一个3人小组。
第07课:结果验证——你最不能省的一步
"Claude 写的代码看起来没问题"和"Claude 写的代码确实没问题"之间,隔着一套验证流程。安全漏洞、边界情况、性能隐患、代码风格——这节课给你一份验收清单,以及怎么在 prompt 里就内置验证要求,让 Claude 在写完之后自己先验一遍。
第08课:CLAUDE.md——让 Claude 永远记住你的规矩
还记得你在第04课(本课)的纠错案例里"忘了说"的那些规范吗?service 层规范、Modal 组件、批量接口格式……这些"每次都要重复告诉 Claude"的东西,全部写进一个 CLAUDE.md 文件,Claude 每次启动自动读取。这节课给你一份完整的 CLAUDE.md 模板和3个行业变体(前端项目/后端API/全栈应用),拿过去改改就能用。
第09课:10个高频场景 Prompt 模板库
这是整个合集最"拿来即用"的一课。10个开发者最常遇到的场景——新功能开发、Bug修复、代码重构、写测试、安全审查、性能优化、API设计、数据库变更、文档生成、代码迁移——每个场景一个经过打磨的 prompt 模板。你只需要把里面的项目名、文件路径、业务细节替换成你自己的,直接发给 Claude 就能用。
地基篇教你"怎么开始",核心技能篇教你"怎么做好"。
如果说地基篇让你的效率从1x变成了2x,核心技能篇的目标是让你变成5x。
不夸张——当你掌握了并行策略、验证流程、项目规范固化和场景化模板之后,你一个人能稳定输出以前3-5个人的工作量。这不是理论推演,是后面每一课都会用真实案例证明的。
核心技能篇即将发布,敬请关注。
💡 如果你觉得地基篇对你有帮助,把这个合集分享给你的同事或技术群。 一起学的人越多,你们团队的整体效率提升越明显—— 因为 Director Mode 在团队协作中的价值,远大于个人单打独斗。
本课是《Claude Code 从入门到精通》合集第4课,地基篇最后一课。
完整合集包含 16 课系统教学 + 10 个场景 Prompt 模板 + 3 个完整项目案例。