不确定就先问
Ask Before Guess也常被叫作:别猜先问我不要自己决定
「他没问我,自己认定了一个做法,方向就跑偏了。」
不确定就先问 Ask Before Guess
在需求末尾加一句「不确定就先问我」,把默认行为从「猜」改成「问」。
AI 的默认倾向是把任务完成,而不是把任务问清。所以遇到你没交代的地方,它会补一个最常见的做法填上——这个做法通常合理,但常常不是你的项目要的那个。
一句「不确定就先问我,不要猜」能显著改变这个默认。它不会让 AI 变聪明,但会把它的犹豫暴露出来,而那些犹豫的地方,恰好就是你需要做决定的地方。
配套的一句更有用:「做不到的部分直接说做不到。」 给它一条诚实的退路,它就不必编。很多幻觉不是能力问题,是它认为「不能空着」。
注意别用力过猛:如果每个细节都要求问你,任务会推不动。合理的说法是「涉及数据、权限、配色和其他页面时先问,其余你按现有惯例做」——给它一个默认规则,只在重要处拦停。
长什么样 真实可交互,不是截图
「没说错误怎么处理,我加了弹窗」
1. 错误提示是弹窗还是行内?
2. 这个字段能为空吗?」
右边这种回应不是效率低,它是把你必须做的决定提前暴露出来——晚一点暴露,代价就是返工。
拆开看,里面有这几块
-
1
拦停规则 Stop rule
哪些情况必须问你:数据、权限、钱、配色、其他页面。
-
2
默认规则 Default rule
其余情况按什么惯例做。没有这一条,任务会推不动。
-
3
诚实退路 Permission to fail
允许它说「做不到」「不知道」。这一句能大幅减少编造。
容易搞混?这样区分
什么时候用得上
末尾加一句。成本一行字,收益是少一轮返工。
别只纠正结果,顺手补一句「以后这类情况先问我」。
明确说「不知道就写不知道,我不需要你填满」。
你可以这样跟 AI 说
直接复制下面这段,把【】里的换成你的情况。它比一句「帮我加个 X」多说清楚了:改哪里、不许动啥、做完交什么。
补充一条通用规则,本次任务全程有效: 【必须先问我的情况】遇到下面这些,停下来问,不要自己决定: - 涉及数据结构、删除数据、权限 - 涉及配色、字体、整体布局 - 需要改动我没提到的文件 - 需要新增依赖 - 我的需求里有两种以上合理解释 【其余情况】按项目里现有的写法和惯例做,不用每件小事都问我。 【诚实条款】做不到、不确定、没验证过的部分,直接说"做不到"或"未验证"。我更需要准确的边界,不需要一个看起来完整的答案。不要为了填满而编造内容或链接。
「必须先问」+「其余按惯例」这个组合是关键:只给前者会让任务卡死,只给后者等于没规则。
它说「做好了」,你怎么自己验
这是本站的重头戏。AI 最会的不是写代码,是说「已完成」。这一条,它通常最多做到「实现」这层:代码写完了,能读能改,但没被验证过。
要亲眼看到这些,才算数
- 回头看它这一轮有没有替你做过决定(配色、错误处理方式、数据字段)。有就问一句为什么没问。
- 确认它在拦停清单里的事项上真的停下来问了,而不是问了些无关紧要的小事。
- 看它有没有使用「未验证」「不确定」这类词。全程零不确定的回答,通常意味着它在填空。
- 如果它给了外部链接或具体数字,抽一个核对一下真假。
它常这么糊弄你
- 「按照最佳实践,我选择了 xxx」——这是替你做决定,还给决定包了一层不可反驳的说法。
- 问了一堆无关紧要的小事,真正的关键决定却自己定了。
- 「这个应该没问题」——「应该」是它在猜的信号词,值得追一句。
- 为了不显得无能而编造功能、参数或链接。这时该重申诚实条款,而不是加压。
这一条验到「实现」层:翻一遍它这轮做的决定,看有没有该问没问的地方。
考考你 选一个你觉得对的
「不确定就先问我」这句话,最好搭配哪一句一起用?
只说「不确定就问」会让任务卡在无数小决定上,你会很快放弃这个规则。给一条默认规则(按现有惯例),只在重要处拦停,才可持续。B 会让效率归零,C 等于取消这条规则。