AI 做得不对,很多时候不是它笨,是我们没说清。同一句“帮我做个记账页”,AI 能做出一百种样子,它只能猜。这本锦囊教你把“猜”变成“照做”:说清你在哪、看到了什么、要它做哪一件事、什么别碰、怎样算完。
下面的方法对 Cursor、Claude Code、ChatGPT 这类工具都适用。工具会换,说话的方法不会过时。
遇到什么,先读哪一节
全书一图
每一格都能点,直接跳到那一节。
1话术公式:场景+事实+任务+边界+验收
读完你能:
- 用五个成分把一句模糊的要求改写清楚
- 指出一句话术缺了哪个成分
什么时候用每次开口前。尤其是第一句需求和报错求助。
怎么做发出去之前,对着五个问题过一遍。
| 成分 | 问自己 | 例子 |
|---|---|---|
| 场景 | 我在做什么、改哪里 | 我在做一个记账小网页的登录页 |
| 事实 | 现在看到了什么 | 点登录后跳回首页,刷新又要重新登录 |
| 任务 | 要 AI 做哪一件事 | 帮我找出登录状态没保住的原因 |
| 边界 | 先做什么、别做什么 | 先查,不要一上来就重写登录逻辑 |
| 验收 | 怎样算完成、怎么验证 | 改完告诉我怎么复现验证 |
不必每次五样齐全。开始做一件新事,至少有场景、任务、验收;出错求助,至少有事实、任务、边界。
别这样说,这样说
第一组,开始做:
别这样说
帮我做个好看的记账网站。
这样说
我想做一个只给自己用的记账网页,手机上打开。第一版只要两件事:记一笔支出(金额、分类、备注),和看本月花了多少。先不做登录和图表。做完告诉我怎么在手机上打开看。
差别补上了给谁用、在哪用、第一版的范围、先不做什么、怎么验收。
第二组,出错了:
别这样说
报错了,你帮我看看。
这样说
我点“保存”按钮后页面没反应,浏览器控制台有一行红字:[粘贴报错原文]。刚才我只改了保存按钮的样式。帮我先找原因,说清楚是哪一行出的问题,再改。别动其他页面。
差别补上了操作步骤、报错原文、最近改了什么、要先解释再改、改动范围。
第三组,改样子:
别这样说
这个页面太丑了,改高级一点。
这样说
记账列表页现在每一行的金额、日期、备注一样大,看不出重点。帮我把金额放大加粗、日期和备注变小变灰,其他布局不动。改完告诉我怎么在浏览器里切到手机宽度,我自己看一眼。
差别把“丑”换成了具体看到的问题,把“高级”换成了具体改法,还圈定了不动的部分。
我在做,现在要改的是。 现在的情况是:。 请帮我。 先,不要。 做完告诉我怎么验证:。
把方括号里的内容换成你的情况
做到这样算完成你的这句话发给一个没见过你项目的人,他也能动手,而且知道什么时候该停。
2给 AI 足够的上下文
读完你能:
- 挑出该贴给 AI 的报错原文、步骤和文件
- 说出哪些东西不能贴给 AI
什么时候用AI 答非所问、开始瞎猜、给你一堆“可能是 A,也可能是 B”。
怎么做AI 看不到你的屏幕,你不说它就不知道。该贴的贴全,不该贴的一样别贴。
| 该贴 | 怎么贴 |
|---|---|
| 报错原文 | 整段复制,别自己转述成“好像是什么 undefined”。太长就保留第一次出现的错误和它下面几行 |
| 操作步骤 | 1、2、3 写清楚你点了什么、输了什么,在哪一步出的问题 |
| 期望和实际 | “应该显示 3 条记录,实际显示 0 条” |
| 相关文件 | 在 Cursor、Claude Code 里直接指明文件名;在 ChatGPT 里贴相关那一段,不用贴整个项目 |
| 截图 | 配一句说明:“左边的按钮被挡住了一半”,别只丢一张图让 AI 猜你想说什么 |
| 最近改了什么 | “报错前我刚装了一个日期插件” |
| 不贴 | 为什么 |
|---|---|
| 密钥、密码、令牌 | 贴出去就可能被记录,没法收回,见第 8 节 |
完整的环境变量文件(常见名字是 .env) |
里面几乎一定有密钥。要问配置,只说变量名 |
| 真实用户的数据 | 手机号、姓名、地址换成假的;三条假数据就够 AI 看懂结构 |
| 跟问题无关的大段代码 | 越多越容易把 AI 带偏,贴相关的那一段 |
先别急着改。我把情况说全: 我做了:1. 2. 3. 我期望: 实际上: 报错原文: 最近改过: 你还缺什么信息就先问我,别猜。
把方括号里的内容换成你的情况
做到这样算完成AI 的第一句回复在说“你的问题”,而不是列一堆泛泛的可能。
3先要方案,再要代码
读完你能:
- 让 AI 先交计划,你确认后再写代码
什么时候用改动会碰到好几个文件;你不确定 AI 会怎么做;上次它一口气改了你没想到的地方。
怎么做让 AI 先把计划说出来,你看懂、点头,它再动手。计划里要有三样:打算改哪些文件、每处改什么、会不会影响已经能用的功能。
看计划时问自己:有没有碰我没提到的东西?有没有我听不懂的步骤?听不懂就问,问清楚再让它做。有的工具有专门的计划模式或只读模式,有就打开;没有,就用下面这句话。
先别写代码。针对,先给我一个计划: 要改哪些文件,每个文件改什么,一句话说清。 会不会影响已经能用的。 用大白话写,我确认后你再动手。
把方括号里的内容换成你的情况
做到这样算完成你能用自己的话把计划复述一遍,并且说了“可以,开始吧”之后 AI 才开始改。
4一次只做一件事
读完你能:
- 把一个大需求拆成三到五个能单独验收的小步
什么时候用你的需求一句话里有三个“还要”;AI 一次改完后到处是问题,也不知道是哪一步坏的。
怎么做把大需求拆成一串小里程碑。每一步做完都能打开看一眼,确认没问题、存个档,再做下一步。
拆的标准只有一个:这一步做完,我能不能亲眼验证它对不对? 能,就是一个好的小步;不能,就再拆。
一个记账页的拆法(示例):
- 页面上有一个输入框和一个“记一笔”按钮,点了能在下面列表里多一行。
- 刷新页面,记过的账还在。
- 每一笔可以选分类。
- 顶部显示本月合计。
- 手机上看不挤。
每一步做完先存档(用 Git 提交,“稳定做”那本锦囊会教),出问题随时能退回上一步。
我最终想要:。 先别全做。帮我拆成 4 到 6 个小步骤,每一步做完我都能打开页面看到变化。 我们一次只做第 1 步,做完告诉我怎么检查,我确认后再做下一步。
把方括号里的内容换成你的情况
做到这样算完成每一轮对话只解决一件事,出了问题你知道是哪一步引起的。
5用验收标准收尾
读完你能:
- 让 AI 给出验证方法,并自己动手验一遍
什么时候用每一次让 AI 改完东西。
怎么做“AI 说好了”不等于好了。它说“已修复”,可能只是代码改了,没有真的跑过;也可能修好了这里、弄坏了那里。
两件事要做:
- 开口时就说清验收:“做到这样算完成”写在需求里,比如“刷新后记录还在”。
- 收尾时让 AI 给验证步骤:它告诉你打开哪里、点什么、应该看到什么,你亲手做一遍。
验证时别只试最顺的那条路。空着提交、输入超长的文字、在手机上打开、刷新一下,常常就能发现问题。
改完先别说“完成”。告诉我: 1. 你改了哪些文件,每处改了什么; 2. 我要怎么亲手验证,一步一步写,包括应该看到什么; 3. 有没有你没法确认、需要我自己试的地方。
做到这样算完成你亲手按步骤试过,看到的结果和预期一样;没对上的地方已经告诉 AI。
6看懂 AI 的回复
读完你能:
- 遇到生词时先扫描或查词,再让 AI 用大白话重讲
什么时候用AI 的回答里冒出“路由”“状态管理”“跨域”“依赖冲突”,你一边点头一边心虚。
怎么做看不懂不丢人,硬着头皮往下做才会出事。三个办法:
- 用“黑话扫描”:把 AI 的整段回复粘贴进本站的黑话扫描,点“找出生词”,它会把里面收录的名词标出来,点一下就能看解释。扫描在你的浏览器里完成,原文不会上传;只有你主动点“问陪练”或复制资料包时,才会带上你选中的内容。
- 查名词和速查:单个词直接在搜索框里查。核心名词有完整解释和话术;没收录成核心词的产品名、工具名,速查里有一句话说明,并告诉你它和哪个核心词有关。
- 让 AI 再说一遍大白话:让它用你能懂的话解释,并且说清这个词跟你眼前的问题有什么关系。
还有一种看不懂:AI 让你“运行一条命令”。不明白这条命令会做什么,就先问,别直接复制执行。
你刚才说的“”我不太懂。 请用大白话解释它是什么,打个生活里的比方也行。 再说清楚:它跟我现在的问题有什么关系?我需要做什么?
把方括号里的内容换成你的情况
你让我运行“”。执行之前先告诉我: 在哪里运行,它会改动什么,出问题能不能撤回。
把方括号里的内容换成你的情况
做到这样算完成你能用一句话说出 AI 让你做什么、为什么这样做。
7AI 跑偏时怎样拉回
读完你能:
- 发现 AI 跑偏时停下,回到存档并重述约束
什么时候用出现下面任何一种信号。
| 信号 | 说明 |
|---|---|
| 同一个错反复出现 | 改了三轮还是那个报错,或者修好又冒出来 |
| 越改越乱 | 每次修一个问题,又冒出两个新问题 |
| 改了不相关的文件 | 你只让它改按钮颜色,它动了数据保存的代码 |
| 开始自相矛盾 | 这轮说是 A 的问题,下轮说是 B,再下轮又回到 A |
| 对话已经很长 | 早先说过的约束,它好像忘了 |
怎么做三步。
- 停下。别再说“再试一次”。越改越乱时,继续追加只会叠更多错。
- 回到存档。退回上一个能用的版本。你之前存过档,就能一步回去(“稳定做”锦囊讲怎么做);没存过,至少让 AI 把这几轮改动列出来,一处一处看。
- 重述约束。把目标、现象、已经排除的方向、不许碰的地方重新说一遍。对话太长时,开一个新对话,把这段总结贴进去,比在旧对话里硬拽更快。
停一下,先别改了。我们已经试了轮,问题还在。 请先列出这几轮你一共改了哪些文件、每处改了什么。 我会先退回到。 然后重新说一遍:目标是,现象是,已经排除了。 这次只允许改,先说思路,我确认后再动手。
把方括号里的内容换成你的情况
我们在新对话里继续。背景总结如下: 项目: 目标: 现状: 已经试过、没用的: 约束: 请先复述你的理解,再给计划。
把方括号里的内容换成你的情况
做到这样算完成项目回到了能用的状态,AI 复述的约束和你说的一致,下一轮改动只碰你允许的地方。
8保护隐私与密钥
读完你能:
- 发之前把密钥和个人信息换成 ***
- 密钥泄露后知道先作废再清理
什么时候用要贴日志、配置、报错、截图、数据库内容给 AI 之前。
怎么做先把敏感信息换掉,再发。
| 原来的内容 | 替换成 |
|---|---|
| API 密钥、访问令牌 | sk-*** 或 ***,保留前几位就够判断是哪一种 |
| 密码、数据库连接串 | ***,连接串可写成 postgres://用户名:***@主机/库名 |
| 真实姓名、手机号、邮箱 | 张三、138****0000、test@example.com |
| 登录信息(Cookie、Authorization 头) | *** |
| 带用户名的电脑路径 | /Users/我/项目 |
截图也要检查:地址栏、浏览器登录的账号头像、旁边开着的聊天窗口,都可能露出信息。
泄漏了怎么办:密钥已经贴进聊天、提交进了代码仓库、发到了群里,第一件事是去对应平台把这把密钥作废,换一把新的(常叫“撤销”或“轮换”)。删聊天记录、删那次提交都不够,因为别人可能已经拿到了。换完新密钥,再更新你项目里的配置。GitHub 的官方文档对泄漏密钥的建议也是先撤销或轮换,再考虑清理历史记录。GitHub Docs:从仓库删除敏感数据
我要检查,但不能给你看密钥。 我只告诉你变量名:。 请告诉我该怎么确认它们有没有被正确读到,不要让我打印出值。
把方括号里的内容换成你的情况
我不小心把贴出去了/提交进了仓库。 先告诉我去哪里作废它、换一把新的, 再告诉我项目里哪些地方要改成新密钥。 删除历史记录的操作先告诉我影响,等我确认再做。
把方括号里的内容换成你的情况
做到这样算完成发出去的内容里搜不到任何真实密钥、密码和他人信息;泄漏过的密钥已经作废,项目换上新密钥后能正常运行。
三个示例
下面三段是教学示例,演示一次对话怎样从模糊走到可验证。
示例一:做一个记账页的第一句需求
模糊的开头:帮我做个记账 App。
AI 可能给你一个带登录、图表、多账户、预算提醒的大项目,一半跑不起来。
说清楚的开头:
我想做一个只给自己用的记账网页,主要在手机浏览器里打开。 第一版只做一件事:输入金额、选一个分类(吃饭、交通、购物、其他),点“记一笔”后显示在下面的列表里。 先不做登录、图表和多人使用,数据先存在浏览器里就行。 先给我一个计划,说清要建哪些文件,我确认后再写。 写完告诉我怎么在电脑上打开,再怎么用手机看。
接下来:AI 给计划 → 你确认 → AI 写代码 → 你按它给的步骤打开页面,记三笔,刷新一下看数据还在不在 → 在手机宽度下看一眼 → 存档。
验证:记三笔后列表有三行;刷新后三行还在;手机上输入框和按钮能正常点。
示例二:报错时的一次完整对话
第一轮,你说:
记账页点“记一笔”没反应。步骤:输入 25,选“吃饭”,点按钮。 浏览器控制台(按 F12 打开)有一行红字: Uncaught TypeError: Cannot read properties of null (reading 'value') 刚才我只让你把分类从按钮改成了下拉框。 先解释原因,说清是哪一行,再改。别动列表显示的部分。
AI 回复:代码还在找旧的分类按钮,但按钮已经换成下拉框,找不到,所以是“null”。它给出要改的一行。
第二轮,你说:
改完告诉我怎么验证。另外检查一下还有没有别的地方在找旧的分类按钮。
AI 回复:列出验证步骤,并发现“本月合计”也在用旧按钮取分类,一起改了。
验证:你按步骤记一笔,列表多一行,控制台没有红字,本月合计数字对。存档。
这次对话里起作用的是:报错原文、最近改了什么、“先解释再改”、限定范围、最后追问“还有没有别处”。
示例三:让 AI 改 UI 时的一次纠偏
你说:把记账列表改好看一点。
AI 做了:换了一套深色主题,加了渐变和动画,还把列表改成了卡片网格。手机上一屏只能看两条。
发现跑偏:你只想让列表更好读,它改了整体风格和布局。
拉回:
停一下,这次改动太大了。我先退回到改之前的版本。 重新说我的问题:列表每一行的金额、日期、分类一样大,扫一眼找不到金额。 请只改列表的每一行:金额放大加粗、靠右;日期和分类变小变灰。 颜色、背景、页面布局都不动。先描述你打算怎么改,我确认再动手。 改完告诉我怎么在浏览器里切到手机宽度,我自己看一眼。
验证:退回后的页面恢复正常;新改动只动了列表行;手机上一屏能看到七八条,金额一眼可见。
说不出“哪里不好看”的时候,“做好看”锦囊里有一套描述视觉问题的词可以直接借用。
练一练:改写这三句话
先自己改一遍,再点开参考改法对照。
把这句话改清楚:“帮我做个记账网页,要好看点。”
看参考改法
改法我想做一个记录每天花销的网页,给自己用。先帮我列出第一版要有的三个功能和页面结构,我确认后再写代码,写完告诉我怎么在本机打开检查。
差别补上了场景、第一步的范围、先出方案再写代码,以及怎么验收。
把这句话改清楚:“报错了,你看看怎么回事。”
看参考改法
改法我在终端运行 npm run dev 后报错,完整输出贴在下面,密钥已经换成 ***。先帮我说明错误出在哪一层,给一个检查步骤和预期结果,确认原因后再改。
差别补上了触发步骤、完整原文、脱敏,以及先查后改的边界。
把这句话改清楚:“AI 你又改错了,重新弄。”
看参考改法
改法这次改动把登录页也改了,我只想改首页标题。先恢复到上一个存档,然后只改首页标题的字号,其他文件一律不要动,改完列出你动过的文件。
差别说清了哪里跑偏、要回到哪里、这次的边界,以及怎么核对。