怎么判断 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:初期会,习惯之后主要成本在第一步。而且返工的时间通常更长——你越晚发现错误,前面基于它做的事越多。
相关阅读
- AI 写业务逻辑为什么总漏,我找到 3 个原因
- AI 输出格式不稳定,我用这 4 招锁住
- 写提示词要不要学框架,我只留了 3 个套路
- 同一个提示词换 AI,结果差很多怎么办
- 怎么提高 AI 生成代码的准确率,5 个动作
本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。
完整代码、踩坑清单与最新进展,都在公众号。
📱 关注公众号「西米分享」