AI报告的"修好了"只是它执行了编辑动作,而非验证了结果。提出让AI在同一消息内展示验证证据的方法。
"修好了。"你刷新页面:什么都没变。你跟它说,它道歉,重新开始,再次宣布成功。可还是什么都没动。你开始怀疑它是骗了你,还是你自己看错了地方。
它不是在骗你:它报告的是它相信自己做了什么,而非它实际看到的结果。AI 不会打开你的页面,也不会看到你的屏幕。在你于同一条消息中要求证据之前,"修好了"只意味着一件事——它写了点东西。
当 AI 写"修好了"时,它报告的是刚执行的动作,而非观察到的结果。这是两件不同的事,且它的工作方式并不会自动区分二者。
它编辑了一个文件。这个编辑应该产生预期效果。于是它就这么说了。缺失的步骤——打开它、查看、与要求对比——从未发生,它也没有注意到。
这不是谎言,是盲区。同样的盲区让它以完全确定的语气报出一个错误的数字:措辞中的自信并不代表背后有真正的验证。
六个字的一句话:"在这条消息中给我看证据"。
不是"检查一下"。不是"你确定吗"。那些只会得到令人安心的答复,永远不是结果。
实际上,取决于你刚才要求的是什么:
"你说表单能用。发一条真实的测试消息给我看,就在这条消息里。"
"你说页面在手机上看起来没问题。以手机宽度打开它,给我看你看到的样子。"
"你说修好了。运行检查并把结果贴在这里。"
这三个都在问同一件事:声明和证据一起到达。承诺稍后提供的证据永远不会来。
没有这个条款,你通常会得到两步回答:"修好了,我现在验证"。而验证永远不会发生,因为对话已经继续往前了。
要求在同一消息中提供,使得声明无法在不完成工作的情况下产生。这不是不信任:这是把一句话变成你可以验证的东西。
有一种情况它提供的证据不够:它在看的东西不是你的访客会看到的。
这是最代价高昂的陷阱。很多工具显示一个能工作的预览,但并不反映线上站点——未压缩的图片、组装方式不同的页面、只在其他地方生效的设置。AI 可以真诚地认可一个没人会看到的结果。
习惯:每次"修好了"之后,自己打开公开地址做一次完整刷新。十秒钟。这是唯一不可能瞄错目标的检查。
每次任务都重复这个要求有效,但很累。把它写进工具启动时会重新读取的指令文件中,让它变成永久的:
Never declare a task finished without having run a check and shown its result in the same message. If you could not check, say so instead of assuming.
第二句话和第一句同样重要。没有它,AI 在证明的义务和无法证明的可能性之间有时会编造证据。有了它,它可以说"我做不到"——这是可用的信息,而"完成了"不是。
不。它报告的是执行的动作,而非获得的结果——这是两件它自己不会区分的事。写一个变更和确认它产生预期效果是两个步骤,而只完成了第一个。
因为第二次尝试和第一次以同样的方式结束:一次写入,而非一次检查。直到指令改变,否则结果也不会改变,无论你进行多少轮。
是的。在同一条消息中要求证据不依赖任何功能:它是一种措辞,而非设置。它在任何地方都有效,包括在普通对话中。
Claude Code documentation — checking and diagnosing a session — read 2026-08-08
OpenAI — why language models state things so confidently — read 2026-08-08
Originally published on CadreKit.