2026 · 06 · 17 方 法 论

看见才算完成

AI 时代的验收哲学

"它说完成不算数——看见才算完成。"

这句话我对自己说了不下一百遍。每一遍,都是刚被 AI 坑过之后。

事情的起因都差不多:AI 跟我说"已经按要求实现,您可以测试",我扫了一眼代码长得像那么回事,回一句"好的辛苦了",合上电脑。第二天,要么是客户说"这个点不动",要么是自己打开发现某个按钮的 onClick 是空的——壳在,里子没写。

后来我把这种状态叫假成功轮回。AI 报告完成、我接受完成、谁都没真跑一遍、bug 蹲在原地等爆。

这篇文章不讲 AI 多强,讲一件更朴素的事:它说做完了,你怎么知道真的做完了。


一、"看见"是什么意思

先把这个动词说清楚。

看见,不是看代码。代码它当然写得像——变量名工整、注释贴心、逻辑闭环(在它自己看来)。你盯代码盯一小时,也未必盯出问题,因为你和它用的是同一套"看起来对"的直觉。

看见,是看效果。是你亲手把那个功能跑一遍,用真实的数据、真实的点击、真实的边界条件,让它在屏幕上活一次。它活了,才算数;它没活,写得再漂亮也是 PPT。

我给自己定了个规矩:截图是指挥棒。 AI 说"我做完了",我就说"那你截个图给我看"。它截不出来,就等于没做完。这比看代码准十倍。


二、一份偷懒但够用的验收清单

不是每次都要搞一份正式测试用例。多数时候,下面这五条走一遍,80% 的"假完成"会当场现形:

  1. 自己点一遍关键流程。从入口点到出口,每一步都亲手走。不是看它能不能跑,是看它跑出来是不是你想要的那个东西。
  2. 试一下边界值。输入框输个空、输个超长、输个乱码;数字输个负数、输个小数。AI 最爱在"正常情况"上做得很漂亮,一碰边界就翻车。
  3. 看一眼报错信息。故意让它报一次错。报错是不是人话、能不能指引到下一步,比功能本身更能说明它做得扎不扎实。
  4. 换个屏幕看一眼。桌面端漂亮,不代表手机端能用。AI 经常默认你只在一个尺寸上活着。
  5. 换个账号、换份数据再看。用 demo 账号跑通的功能,换成真实账号常常崩——因为真实数据有它自己的脾气。

这五条听起来都像废话。但正是这种"谁都懂"的废话,被偷懒跳过的次数最多。AI 不会替你做这五条——它甚至会让你觉得没必要做,因为它已经"全面自测"过了。


三、AI 为什么总说"完成了"

不是它故意骗你。是它的训练方式决定了它倾向于乐观报告

它被训练成"帮你解决问题",而"报告完成"是解决问题的标志性终点。所以哪怕里子还没填完,它也会先给你一个看起来完成的壳——这符合它对"完成任务"的理解,也符合它想让你满意的倾向。

更微妙的是测试。你让它写测试,它就写;你让它跑测试,它就跑。它自己写的测试,怎么会不过? 测试覆盖的是它想到的场景,而翻车的往往是它没想到的场景。用它的测试验证它的产出,等于让学生自己批改自己的卷子。

所以记住一条:AI 跑通的测试,只能说明它没明显自相矛盾;你亲手点过的,才说明它真能用。


四、我偷懒的那一次

讲个真实的。

有个功能,AI 跟我说做完了,代码我扫了一眼没毛病,时间又赶,我就直接发了。上线第一天,三个 bug。两个是我没想到的场景,一个是 AI 写了壳没写里子,我当时心存侥幸跳过了——对,就是验收清单第五条那个"换个账号再看"。

那晚我修到凌晨。修的时候我一直在想:如果当时多花五分钟点一遍,这五分钟会省下五个小时。

心存侥幸是不行的,我记住了。这句"我记住了",后来变成了金句墙上那句——点过的才叫完成。


五、看见,是给自己的规矩

说到底,"看见才算完成"不是给 AI 定的标准,是给我自己的。

AI 没变,它还是会说"已实现,您可以测试"。变的是我——我不再把这句话当成结论,而是当成一个待验证的假设。它说完了,我的活儿才刚开始:去点、去看、去用真实数据撞它一下。

听起来累,其实反而快。因为每一次"先点一遍",都把返工的种子掐死在发芽前。AI 帮我写得快,验收帮我省下因为快而埋下的债。

所以——

它说完成不算数。你亲眼看见它在你面前活了一次,才算完成。

这句话,送给每一个用 AI 做东西、又不想被 AI 坑到失眠的人。


这是我用 AI 做了十几个小系统之后,最想讲的一条心法。比它更重要的,大概是《关于被 AI 拿捏的那些事儿》里讲的"方向盘别脱手"。两条加一起,差不多就是我全部的经验了。
想聊聊你的验收方法,邮箱在这儿:517119171@qq.com

—— 大大小小的九月