我从 Claude code转到 Codex 后,最先把我劝退的不是能力,而是回答又臭又长:问一句,它先复述背景,再讲一遍原则,接着列出一大串步骤,真正要我做什么却埋在最后几行。很多回答我根本没力气看完,也抓不住重点。
话多还只是表面。有时需求没问清,它已经开工;有时你没说的条件,它偷偷替你决定;执行到一半又开始加戏、失忆,最后什么都没验证,先宣布“已经完成”。换模型、改提示词可以暂时缓解,但同类问题很快又会回来。
这篇文章不讲抽象的“AI 行为工程”,只审七个每天都能遇到的毛病。
抢答、脑补、独断、加戏、话痨、失忆、报喜。
逐一把它们送上被告席。每章都有一条可以直接粘贴的提示词;也有对应的 GitHub 项目。
目标⬇️
让 AI 开工前先问清,回答时抓住重点,执行中别跑偏,交付时拿出证据。
目录
- 开庭:先找出你的 AI 最常犯哪宗罪
- 第一宗罪|抢答:你还没说完,它已经开工了
- 第二宗罪|脑补:你没说的条件,它替你决定了
- 第三宗罪|独断:想到第一条路,它就不再比较了
- 第四宗罪|加戏:你只让它改一处,它却把整套都重做了
- 第五宗罪|话痨:说了一整屏,还是没有下一步
- 第六宗罪|失忆:对话一长,它就忘了最初目标
- 第七宗罪|报喜:什么都没检查,它先说完成了
- 合议庭:七宗罪一起出现,要不要上全套流程?
- 终审:被告席上还有一个人
- 判决之后:真正会榨干 AI 的人,知道什么时候放手
开庭:先找出你的 AI 最常犯哪宗罪
先别急着安装项目。回想你最近一次用 AI 返工的任务,看看最像下面哪一种:
| 你看到的现场 | 对应罪名 |
|---|---|
| 需求还没说清,它已经开始生产成品 | 抢答 |
| 你没提供的条件,它偷偷替你决定 | 脑补 |
| 想到第一种做法,就不再比较其他方案 | 独断 |
| 任务做着做着,范围越来越大 | 加戏 |
| 回答了一大屏,还是没有明确下一步 | 话痨 |
| 对话一长或换个窗口,目标和进度全忘了 | 失忆 |
| 没检查、没测试,就先说“已经完成” | 报喜 |
一项任务可能同时撞上几条。第一次用这套方法,只抓最常发生、返工最贵的那一条。AI 如果总在开头理解错,就先别管措辞够不够漂亮;方向一直正确,只是交付前不检查,那就先给“完成”加一道门。哪里最容易返工,先改哪里。
第一宗罪|抢答:你还没说完,它已经开工了
你说“帮我写篇文章”,AI 马上开始列提纲;让它做旅行计划,它已经排好景点;让它给产品提建议,它连产品给谁用都不知道,就敢给出十条优化方向。它有能力生成,不等于现在已经可以开工。
很多人会补一句:
有不清楚的地方先问我。
“不清楚”的范围太大。AI 可能一个问题都不问,用常见答案补齐空白;也可能一次甩来十五个问题,连标题字号和表格颜色都让你决定。只问那些会明显改变成品的问题就够了。
比如写新产品上线方案,这些值得问:
- 这份方案是为了说服老板批准,还是让团队直接执行?
- 预算上限是多少?
- 上线时间已经确定,还是需要方案来判断?
这些则不值得打断用户:
- 标题应该用几级字号;
- 已经提供的材料里有没有公司名称;
- 表格应该按什么顺序排列更容易读。
能从现有材料里找到的,AI 应该自己查。会改变方向、又无法从材料推出来的,才需要问。
要治抢答,不是让 AI 把所有细节都问一遍,而是先把开工权收回来。
把下面这条“开工禁令”直接发给 AI:
先不要开始执行。 请找出我的需求里会明显改变最终结果的缺失信息。 一次只问一个最关键的问题,并同时给出你的推荐答案和理由。 能从我提供的材料里找到的内容不要再问。 等目标、使用对象、边界和完成标准清楚后,再开始工作。一次问一个,你只需要做决定,不用重新参加一场需求考试。附上推荐答案,也能避免 AI 把空白任务原封不动地退回来。
grill-me 专门处理开工前的追问:能自己查到的先查,剩下的关键空白逐个问,每个问题附上推荐答案。它不管后续执行。开工前,AI 只需交代已经确认什么、还缺什么,以及准备依据哪些假设继续。
第二宗罪|脑补:你没说的条件,它替你决定了
抢答至少还能看见。脑补更隐蔽,AI 往往不会告诉你,它刚刚替你做了决定:文章没有指定读者,它默认写给行业从业者;预算没提供,它按照常见规模编了一档;数据没给来源,它顺手造出一组看起来合理的数字。你只说“做个注册功能”,它可能连邮箱验证、社交登录和忘记密码都一起加上。
这类问题常被统称为“幻觉”,日常任务里更常见的其实是需求幻觉:用户没说明,AI 就当成自己可以决定。也不用因此要求它“绝对不要猜”,很多小细节本来就该交给它处理。只要把下面三种情况分开:
- **已经确认:**用户明确说过,或材料中能直接找到。
- **工作假设:**为了继续执行暂时采用,而且容易修改。
- **待确认:**一旦猜错,会明显改变方向、成本或风险。
要治脑补,不用禁止 AI 推断,只要让它把推断摊在桌面上。
中等以上的任务,可以先填一张最小任务卡:
任务: 给谁使用: 必须包含: 明确不做: 不能由 AI 自己决定: 怎样算完成:以新产品上线方案为例:
任务:为新产品制作下月上线决策方案。 给谁使用:五人团队开会讨论。 必须包含:目标用户、主要渠道、两档预算、四周时间表、三个主要风险。 明确不做:不写半年运营计划,不编造市场数据。 不能由 AI 自己决定:预算上限、首发平台、确定上线日。 怎样算完成:逐项对照以上要求;外部数据附来源;列出仍未确认的内容。这张卡给 AI 留下一块不能偷偷改写的底板,和提示词写得专不专业没关系。
Spec Kit 把这套做法做得更完整:先定义需求和使用场景,再形成计划和可以执行的任务;没说清的部分,另有澄清和完整性检查。它原本主要服务于能直接修改项目文件的 AI 工具,普通用户不用照搬所有命令。先把“要什么”写清楚,再让 AI 决定“怎么做”。
最后看一眼成品里还有没有“来路不明的决定”。AI 能主动标出确认信息、暂时假设和仍待拍板的内容,就不会再靠脑补推进任务。
第三宗罪|独断:想到第一条路,它就不再比较了
需求问清了,AI 仍然可能走错。它想到第一条能执行的路线后,往往马上进入生产状态:选熟悉的工具,套常见的结构,沿用过去最常出现的解法。它未必比较过,只是很会把第一条路讲得完整。
模型越强,这种错误有时越难发现。弱模型的方案一眼就能看出漏洞;强模型可以把一个不适合你的选择解释得头头是道。
例如你要做一篇产品教程,至少有三条路线:
- 按功能菜单讲,覆盖全面,但容易像说明书;
- 按新手任务讲,容易上手,但可能遗漏高级能力;
- 按常见失败讲,问题感强,但要避免只讲负面体验。
如果 AI 想到第一条就开写,后面再怎么润色,也救不回错误的文章路线。
要治独断,先加一道“方案确认门”:只比较路线,暂时不执行。
把下面这段发给 AI:
先给我 2~3 种真正不同的做法。 分别说明它们适合什么情况、主要优点、代价和风险。 给出你的推荐,但不要开始执行。 等我确认路线后,再进入下一步。别让 AI 为了凑数制造三个只有名字不同的方案。目标读者、实现路径、时间成本、使用难度或风险,至少要有一项明显不同。
Superpowers 在正式执行前会先讨论方案:通过提问明确需求,比较不同路径,分段展示设计,等人确认后再继续计划和实施。选项多少不重要,关键是知道为什么选这条路、它牺牲了什么、什么情况下应该换路。
第四宗罪|加戏:你只让它改一处,它却把整套都重做了
“帮我把按钮文案改得更清楚。”AI 改完文案,又调整了按钮颜色、页面层级和注册流程。“帮我润色这篇文章。”它顺便改观点、重排结构,还补了几个你没有核实的数据。
这些改动不一定坏,问题在于它没有得到授权就扩大了任务。AI 很容易把“我还能做什么”理解成“我现在应该做什么”,结果是原目标没做完,新增工作又要重新确认。
要治加戏,先把“必须做”、“明确不做”和“发现但暂不处理”分开。
最简单只需要三栏:
本次必须完成: 本次明确不做: 发现但暂不处理:执行中发现新问题,可以放进第三栏,但不能直接开工。要扩大范围,必须先说明:为什么值得做、会增加多少工作、会不会影响当前交付。
你还可以补一句:
每一项修改都要能对应到本次任务里的某条要求。无法对应的内容,只记录建议,不直接执行。
OpenSpec 适合解决“这一次到底改什么”。它会为一次变更保存提案、需求、设计和任务,人与 AI 先确认范围,再开始实施。相比完整的 Spec Kit,它更轻,也更适合给进行中的项目增加功能或修改。
普通用户不需要为改一句文案建立四份文件。好建议可以留下,但没有进入本次范围,就不应该悄悄变成工作量。
AI 只要能守住“明确不做”,把额外发现留在候选清单里,就不会再边做边扩建。
第五宗罪|话痨:说了一整屏,还是没有下一步
方向对了,边界也守住了,交流仍然可能很累。你问“现在需要我确认什么”,AI 先复述项目背景,再介绍三个概念,接着列出八个注意事项,真正需要选择的内容藏在最后一段。
光要求“简短一点”解决不了问题,AI 可能把风险、不确定性和失败信息也一起删掉。
要治话痨,不是只让它少说,而是让每一屏先交付一个明确动作。
把回答顺序改成这样:
先告诉我现在要做的下一步。 多步骤任务使用编号。 如果需要我决定,一次只推进一个决定,并给出你的推荐。 背景和备选方案只保留会影响当前决定的内容。 风险、失败结果和未验证部分不能省略。 结尾只留下一个明确的下一步。i-have-adhd 专门调整输出顺序:行动放在前面,步骤编号,减少无关展开,每次结束时留下一个具体动作。它只管 AI怎么说,不能保证 AI做得对;一句非常利落的答案,也可能建立在错误需求、错误数据或未经验证的结果上。
读完第一屏,应该马上知道当前结论、需要自己决定的事和下一步。如果还要从三页解释里捞答案,这个问题就没解决。
第六宗罪|失忆:对话一长,它就忘了最初目标
长任务做到后面,AI 的记忆很像一张不断被涂改的白板。最近讨论的细节越来越醒目,最初的目标却慢慢退到角落;对话太长被压缩后,一些早期决定会消失;换一个窗口、换一个 AI,更不会自动知道昨天做过什么。此时只说一句“继续”,等于让它重新猜。
要治失忆,别保存全部聊天记录,留下下一位接手者能继续工作的最小状态。
先记住这七项:
当前目标: 已经确认的决定: 已经完成: 关键发现: 尝试过但失败的方法: 下一步: 尚未验证:如果任务会跨很多轮,还可以把它拆成三份:
- **任务计划:**目标、阶段和待办。
- **关键发现:**资料、决定、排除过的方案。
- **执行记录:**完成了什么、遇到什么错误、检查结果如何。
planning-with-files 使用的正是这套三文件方法:把计划、发现和进度留在文件里,不再只依赖随时可能被清空的对话。重新开始后,AI 先读这些文件,就能恢复目标和断点。
更长、更复杂的项目还可以参考 GSD Core:它把讨论、计划、执行、验证和交付分开处理,避免所有内容挤在同一段对话里。
普通用户不必为一封邮件建立状态文件。但出现下面任意一种情况,就值得留下交接:
- 任务已经跨两次以上对话;
- 需要换人或换 AI 接手;
- 中间做过重要决定,猜错会返工;
- 已经试过几种失败方案,不想再走一遍。
把交接记录发给一个完全没看过旧对话的 AI。它不用你重新讲背景,就能说出目标、已完成、下一步和风险,这份记录才算有用。
第七宗罪|报喜:什么都没检查,它先说完成了
“已经完成。”这是 AI 最便宜的一句话,也是用户最容易误信的一句话。
假完成通常不是故意撒谎。AI 更常做的,是把一个很弱的事实包装成一个很强的结论:
- 文件写出来了,就说文章可以发布;
- 搜到几个结果,就说资料已经核实;
- 修改了代码,就说功能已经修复;
- 页面能打开,就说整个流程没有问题。
一句“完成”至少要回答三个问题:
- 你检查了什么?
- 实际结果是什么?
- 还有什么没有验证?
要治报喜,就把“完成”改成一张必须用证据填满的交付表。
表格至少保留这四列:
| 完成要求 | 检查方法 | 实际结果 | 证据或位置 |
|---|---|---|---|
| 是否满足原始需求 | 逐项对照任务卡 | 通过 / 失败 | 对应段落或文件 |
| 是否真的可以使用 | 实际打开、运行或走一遍流程 | 通过 / 失败 | 截图、输出或测试结果 |
| 是否出现新的问题 | 运行相关检查 | 通过 / 失败 | 错误信息或检查记录 |
| 是否还有未知项 | 列出没有能力验证的部分 | 有 / 无 | 风险说明 |
Superpowers 把“完成前验证”设成必经步骤:准备宣布成功前,重新运行能证明当前结论的检查,读取刚刚得到的结果,再报告完成。
这里看的是刚刚得到的结果。上一版文件通过的检查、修改前的截图、另一个 AI 说“我看过了”,都不能证明当前版本没问题。
文章、方案、审美判断也不可能全部自动验证。一篇文章是否好读,一份方案能不能说服老板,最终仍需要真人判断。AI 应该诚实区分:已经检查、检查失败、暂时无法验证,而不是把三种状态统称为“完成”。
需要重复自动评测 AI 应用的开发者,可以把 promptfoo 当作延伸阅读:它能保存固定问题、预期结果和失败条件,修改提示词或更换模型后重新跑一遍。普通聊天用户直接跳过。无论用不用工具,AI 说“完成”时,证据都应该和结论一起出现。
合议庭:七宗罪一起出现,要不要上全套流程?
复杂项目里,这些毛病经常一起出现。
例如让 AI 跨几天完成一份新产品出海方案。没有流程时,它可能没问目标市场就开始调研,看到第一组资料便选定路线,顺手扩展到品牌、招聘和半年运营,换个对话后又忘记前一天排除过什么,最后用一份篇幅很长的文档宣布“方案已经完成”。
完整工作流会把同一任务拆开:
- **先问清:**给谁看、要做什么决定、目标市场和预算边界是什么。
- **再选方案:**先比较哪些市场,不同路线的成本和风险是什么。
- **写出计划:**先查什么,再比较什么,每一步交出什么结果。
- **分步执行:**只做已经确认的范围,中途对照计划。
- **检查质量:**需求有没有漏,资料能不能支持结论。
- **验证完成:**逐项核对要求、来源和仍未确认的风险。
Superpowers 把方案讨论、计划、执行、检查和完成前验证串成必须依次通过的流程。它主要给能直接查看文件、修改内容和运行检查的 AI 工具使用。普通 ChatGPT、Claude 用户不用安装,可以把上面的六步保存成自己的长期工作约定。
完整流程能更早暴露错误,也方便中途检查和交接。代价同样真实:
- AI 会问更多问题;
- 计划和检查会消耗更多时间与额度;
- 用户需要等待并参与决策;
- 任务文件如果不更新,反而会保存错误状态;
- 多套项目一起安装,规则可能重叠甚至冲突。
流程完整不等于效率更高。先问一句:
这套流程增加的成本,是否低于一次很可能发生的方向性返工?
改一句按钮文案,直接做再看一眼就够;新增一个数据导出功能,先问清权限、数据和验证方式,通常值得;从模糊想法开始、跨数天完成一个小应用,才值得启用完整流程并持续记录状态。
看到这里,答案似乎已经很清楚:给 AI 加规则,它就会更可靠。可事情还有另一面。
终审:被告席上还有一个人
前七章一直在审 AI:没问清就开工,乱猜、跑偏、话多、失忆,没有证据就提前报喜。现在把镜头从屏幕里转回来,坐在电脑前的我们也可能犯下一宗更隐蔽的罪。
隐藏的第八宗罪:贪心。
它经常戴着“认真”和“完美主义”的面具。我以前把一组反复使用的写作指令保存成写作 Skill,你可以把它理解为一份 AI 每次都要遵守的长期工作说明。我就在这里犯过这宗罪。
最开始,我只是想让 AI 写出来的文章更好。后来每发现一个问题,就往 Skill 里增加一条规则:信息密度要高,小白不能有卡点,结构要完整,语言要自然,事实要核验,标题要有传播力,章节要有价值承诺,还不能有 AI 味。
这些要求单独看都对。放在一起,却可能互相打架:
- 信息密度高,和小白慢慢理解,需要不同节奏;
- 覆盖全面,和文章利落,需要做取舍;
- 观点鲜明,和所有判断都绝对安全,很难同时拉满;
- AI 自主发挥,和每一步都被模板规定,本来就是两种方向。
规则越加越多,文章不一定越来越好。有些时候,套上一份精心制作的长期工作说明,输出甚至不如让 AI 原生写一遍。普通用户也经常在一句话里提出一组互相打架的要求:
帮我写一份三分钟能讲完的分享稿,要短、全面、深入、零风险,还要有鲜明个性。
这些词单独看都合理,放在同一个结果里却互相争抢。三分钟限制要求删除内容,“全面”要求继续增加内容;“零风险”让表达趋向保守,“鲜明个性”又要求它做更大胆的判断。AI 不知道谁优先,只能每项都沾一点。
把任务拆成两轮,冲突就少了:第一轮选一个鲜明观点,写出三分钟版本;第二轮检查关键事实,删掉不能承担的判断。规则本身没错,问题是 AI 面前同时站了太多老板。每个人都要求它优先满足自己,最后只会得到一篇谁也挑不出明显大错、但也没人真正想读的文章。
“少即是多”说的是让 AI 每次只对一个主要结果负责。
别让第一稿同时承担构思、写作、核验、审稿、去 AI 味和发布排版。把任务分开:
- 第一轮只负责找到真正值得写的观点和主线。
- 第二轮只检查小白哪里会看不懂、哪里没有收获。
- 第三轮核验仍然留在文章里的事实和链接。
- 最后一轮才处理语言、标题和发布格式。
每一轮只把一件事做深。再用下面这张“指令减法表”,检查自己正在使用的提示词、长期工作说明或工作流程:
| 检查问题 | 处理方法 |
|---|---|
| 这条规则在解决哪个真实发生过的问题? | 说不出来,删除 |
| 它属于构思、执行、检查还是发布? | 移到对应阶段,不要全挤在开头 |
| 它是否与另一条要求冲突? | 明确谁优先,或拆成两轮 |
| 这次任务真的需要它吗? | 不需要就暂时关闭 |
| 删除以后,结果真的会变差吗? | 用同一任务做一次对照 |
写作指令正好可以这样实测:准备同一个选题和相同材料,分别让 AI 原生写、使用完整版指令写、使用删减版指令写。隐藏版本名称,让一个没有参与制作的人连续读完,再比较三件事:哪一版最想继续读,哪一版最容易理解,哪一版需要的人工返工最少。
不要只比较谁遵守了更多规则。文章有人愿意读、读得懂、拿得到东西,才是目标。
第八宗罪不推荐新的 GitHub 项目。删掉没有价值的要求,比再装一个工具有用。有时候 AI 输出不好,只是因为你什么都想要。
判决之后:真正会榨干 AI 的人,知道什么时候放手
审到这里,答案已经不是“给 AI 装上最完整的工作流”。按任务大小选三档就够:
| 任务规模 | 最合适的做法 |
|---|---|
| 改一句文案、整理一个标题、提取一段信息 | 直接做,完成后快速检查 |
| 写文章、做方案、完成一次中等修改 | 找到最常犯的一宗罪,只补一个环节 |
| 跨多天、多文件、多阶段,失败会造成明显损失 | 使用完整工作流,并保存进度和验证证据 |
如果你想直接抄一套日常配置,下面是我现在常用的通用提示词。把其中的“xx”换成你希望 AI 使用的称呼。它只负责所有任务都需要的协作底座;写代码、跨 Session、自动测试或长期项目,再按前文对应需求安装,不要把所有项目都塞进一套规则。
恢复以下长期协作要求,并立即执行: 1. 每次回复必须以“xx”开头。 如果没有这样称呼,说明可能发生了上下文丢失,需要重新读取本提示。 2. 持续使用 grilling。 执行重要、模糊、破坏性或高成本任务前,先检查环境中能够确认的事实;只向我询问真正改变结果的决策,一次一个问题。不要让我重复你自己能查到的信息,不要在尚未形成共同理解前擅自行动。 3. 持续使用 i-have-adhd。 回复先给结论、结果或下一步;控制篇幅和列点数量;显示具体证据;不要重复背景、延伸旁支或把局部完成说成整体完成。存在后续时只留下一个明确动作。 4. 不要用粗暴规则修补表面问题。 出现失败时,先找到最早发生错误的责任环节和根本原因。优先删除错误步骤、修正旧逻辑或改善实际执行。不要轻易增加门禁、状态、文件、固定数量和机械指标。 5. 每次方案都检查两个问题: - 是否过于呆板,压制了根据具体场景进行判断的能力? - 整体规则、步骤、文件和输出是否冗余,AI 是否真的能够稳定执行? 6. 坚持第一性原理。 默认只给一个最小、现实、能执行的最佳方案。不要罗列大量理想化选项。能修改旧规则就不新增;只有同类失败反复发生,且现有原则确实无法覆盖时,才允许增加一条规则。 确认恢复后,只用一句话说明当前任务状态和下一步,不要重新规划已经完成的工作。这段提示词没有规定每种任务必须走几步,而是锁住开始、表达、排错和增加规则时的基本原则。先用它跑日常任务;遇到某类问题反复发生,再从前文挑一个对应 Skill,不要四个项目一起开。
这些 GitHub 项目提供的,其实是几道不同的门。只把门放在 AI 最容易犯错的地方,别把整条路都堵上。
榨干 AI,不是把它的每一分自由都挤掉,而是只在它最容易犯错的地方立规矩,剩下的地方,让它发挥。