AI 说“测试通过”,就真的通过了吗?
· 阅读需 16 分钟
用过 AI 编程 agent 的人,大概都见过这一幕:agent 忙活了一阵,信心满满地汇报——“所有测试通过 ✅”。你打开页面一看,白屏;或者接口直接 404。所谓“通过”,有时候只是 agent 自己觉得通过了。
这正是当下 AI 辅助开发的尴尬之处:写代码已经不是瓶颈了,瓶颈是验收——在你不亲自盯着、不逐个功能点一遍的前提下,怎么确认 AI 交付的东西端到端真的能用?笔者在《AI 的最后一公里,不是智能,是基础设施》里论证过这个判断:智能已经够用了,缺的正是这一类基础设施。
目前常见的两种做法都不理想。一是 每次改动后人工验收:跟不上 agent 的产出速度,而且人眼恰恰看不见那类最要命的问题——系统自称一切正常,实际某条关键路径已经悄悄断了。二是写 端到端(e2e)测试:e2e 测试本质上是一段需要长期维护的程序——异步、等待、重试、flaky——agent 一重构底层实现它就断;更何况如今不少测试本身也是 AI 写的,运动员兼职裁判,这样的绿灯含金量可想而知。
笔者认为还有第三条路,于是我们做了 Duhem——一个开源的整体性验证(holistic verification)工具。这篇文章介绍它是什么,以及它最近在我们自己的产品上抓住的一个真实 bug:那个 bug 连容器自带的健康检查都骗过了,Duhem 却把它拦在了发布之前。
