怎么判断 AI 的输出对不对,3 个检查点

上个月改一段排期逻辑,AI 给的代码通顺、注释齐全,我扫一眼就合并了,第二天发现边界条件全丢了。怎么判断AI输出结果对不对,是我每天都要用的一套动作,我把它压成了 3 个检查点。

一、先查事实层:它说的东西存不存在

第一件事最简单也最容易被跳过——把输出里所有具体的东西拎出来核对一遍。

函数名、字段名、接口路径、配置项、版本号,这些只要有一个是编的,后面写得再顺都没用。AI 很擅长用很确定的语气说出一个不存在的字段。

动作:拿到输出先通读一遍,把所有专有名词用笔划出来,然后一个个去真实代码或文档里搜。搜不到的就是红旗。

这一步花不了几分钟,但能拦掉相当一部分看起来完全正常的错误答案。怎么判断AI输出结果对不对,头一件事就是把事实核清楚。

二、再查约束层:我提的条件它满足了几条

第二件事是回去数条件。我写提示词时提的每一条要求,都在输出里找对应的落点。

数量类的最容易漏:我说要处理几种情况,它可能只写了两种,剩下那种悄悄没了。范围类的也常出事,我限定了输入的取值范围,它按更大的范围写。

动作:把提示词里的约束抄成一列,逐条在输出里打勾。没打上勾的,直接问它是不是漏了,别自己补。

要注意的是,漏掉的条件它不会主动提醒你,只会安静地少做。这条我在AI 写业务逻辑为什么总漏里专门写过原因。

三、最后查反例:什么输入能让它崩

前两个检查点都是在看它「写了什么」,第三个是看它「没防住什么」。

方法是自己造几个极端输入去试:空值、超长值、刚好卡在边界上的值。这比通读代码有效得多,因为错误往往藏在没被覆盖的分支里。

动作:每个关键函数,至少准备 3 个极端输入,亲手跑一遍。跑不通就说明这块还没写完。

这一步是我从交付烧烤店那个小程序时学到的。当时整个项目我手写代码不到 20 行,其余都交给 AI,能顺利交付靠的不是信任,是每个环节都试过。

四、优先级:先做哪个

三个检查点不要求同时做全,赶时间的时候按这个顺序:

  • 先查事实层,成本最低,拦掉的错误最离谱
  • 再查反例,尤其是要上线给别人用的东西
  • 约束层可以留到最后,因为它漏掉通常表现为功能少一块,不会立刻炸

如果只来得及做一件,做第一件。事实错的输出没有讨论价值,省下来的时间不该花在给它改代码上。

判断输出对不对这件事,格式稳不稳是前提。格式乱的时候你连核对都难做,我在AI 输出格式不稳定,我用这 4 招锁住里给过几个处理办法。

五、怎么判断AI输出结果对不对,长期靠这 3 个检查点

我现在把它固定成一个习惯:AI 交东西过来,我不直接看内容,先走一遍这三步。

听起来慢,实际比返工快。返工最贵的不是重写那段代码,是你已经基于错误的东西往下做了几步。

不要指望某一次检查就能建立信任。信任是靠每次都对,一点点攒出来的。怎么判断AI输出结果对不对,说到底就是把这三步变成不需要提醒的习惯。

常见问题

Q:怎么判断 AI 的输出对不对,有没有省事的办法?

A:有,但省不掉的是查事实。至少要把它提到的函数名、字段名、接口核一遍,编造的内容只能靠这一步发现。剩下的约束和边界检查,可以按风险高低取舍。

Q:AI 输出的代码能跑通,是不是就说明没问题了?

A:不能这么说。跑通只代表你试的那个输入没问题,边界输入、异常分支都没被覆盖。能跑通是必要条件,不是充分条件。

Q:每次都这么查,会不会太费时间?

A:初期会,习惯之后主要成本在第一步。而且返工的时间通常更长——你越晚发现错误,前面基于它做的事越多。

相关阅读


本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。

完整代码、踩坑清单与最新进展,都在公众号。

📱 关注公众号「西米分享」