大家好,我是Zack。
先说今天早上刚发生的一件事。
我的发帖脚本跑完,日志连着三次报 POSTED_OK: false。意思是三条推文都没发出去。
脚本自己也信了,直接打印一行:第 3 条发送失败,中止队列,不继续发。
要是就这么算了,今天的活等于白干,还得重发一遍。
但我去 X 上搜了一下,三条全在。06:30、06:31、06:33,一条不少。
日志错了三次,行为对了三次。
今天就聊聊这个话题:AI 说「做完了」,你怎么知道它真做完了?尤其你根本不会看代码的时候。
先说老办法为什么坑人
大多数人验收 AI 干的活,靠两样东西:AI 的汇报,和日志。
AI 的汇报长这样:「已完成!功能全部实现」。它自己说自己行,跟商家自己给自己打五星一个道理。
日志呢,是程序运行时吐出来的记录。POSTED_OK: false 就是一个返回值——程序跑完告诉外界的一句「结果汇报」。
问题在哪?这个返回值是代码算出来的。
今天那个脚本的判断逻辑是:发完帖看页面地址有没有停在原地。而 X 发帖成功后会跳回首页,地址一变,它就判 false。
判断逻辑写错了,返回值就是错的。而且错得很自信,三次全错,一条没漏。
信日志的下场是什么?两条路:要么重发三条重复帖,要么像今天这样直接中止队列不跑了。实际活全干完了,白报一场错误。
所以记住一句话:日志是代码写的,代码会错;行为是真实世界的结果,不会。
我现在的验收法:三步,全是看行为
第一步:验收标准提前写进需求
别等它做完再想怎么验,下需求时就加一句:
做完别停,开页面演示。按钮点一遍,
填一条真实数据给我看结果。
这句的作用是让它自己先演一遍。演示翻车,它自己就返工了,轮不到你发现。
这步省的时间最多:以前是你发现问题→描述问题→它返工,一来一回半小时。现在是它自己演自己修,你只看最后一场演示。
第二步:填真实数据,不用假数据
演示的时候,别让它用 test、123、aaa 这种假数据。拿你自己真实场景里的数据填。
为什么?假数据哪都能过。
我见过表单用「test」提交一切正常,换成真名字带个空格就报错的。假数据永远验不出这种坑。
具体操作:让它当场填一条你明天真的会用的数据,然后你拿这个结果跟你手工做一遍的对照。对得上,才算过。对不上,当场打回。
第三步:只认你亲眼看到的,不认它说的
它说「按钮都能点」,不算数,你要自己点一遍。
它说「数据已保存」,不算数,你刷新一下页面,看数据还在不在。
今天那三条推文,我最后认的是搜索结果页里能看到帖子原文——这叫行为验证。脚本日志说失败,我不认,因为页面上有真东西。
我现在的固定动作已经改成:发一条,验证一条,再发下一条。验证就是去页面上找这条帖子在不在。三条全找到,才算真发完。今天这套流程跑下来,零重试,一分钟都没浪费在「以为失败」上。
前后对比
| 以前 | 现在 | |
|---|---|---|
| 验收依据 | AI 汇报 + 日志 | 页面行为 |
| 出问题的时机 | 拿来用才发现 | 演示环节就拦下 |
| 一轮返工成本 | 半小时起步 | 5 分钟内定生死 |
| 今天的实际结果 | 信日志 = 3/3 全误判 | 看行为 = 3/3 确认,零重试 |
误判率 100% 的日志,和 100% 准的行为,你选哪个?
什么情况这招不够用
行为验收能证明「你试过的这条路是通的」,证明不了「所有路都通」。两类场景要加东西:
一是量大。10 个页面挨个点一遍还行,100 个就不现实了。这时候让 AI 写一个自动检查脚本,把点按钮的活交给脚本跑。注意,你还是要用行为验收——验那个检查脚本本身跑出来的结果对不对。
二是涉及钱和删数据的操作。光演示不够,先在测试环境跑一遍,或者动手前先备份。这类操作返工的代价不是时间,是真金白银。
两条能带走的
一,你不需要看懂代码,你需要看得懂行为。按钮、数据、页面,这些东西你天天都在用,它们就是你的验收工具。
二,验收标准提前写进需求,比做完再验省一半时间。它自己先演,翻车它自己修,你的时间只花在最终确认上。
你最近一次被 AI 的「已完成」坑过是什么情况?评论区聊聊,看看大家踩的坑是不是同一个。