“这个接口怎么一次返回了5万条数据?” 同事问出这句话时,距离那次“测试全部通过”的提交已经过去两天。 今年2月13日,署名Slim的开发者公开复盘了这次Claude Code翻车。 当时,他让Claude Code给`/users`接口增加分页,验收标准很明确:每页返回20条记录。 Claude Code写完代码,运行测试,全部通过。Slim批准了这次提交。 直到同事发现接口一次返回全部50000条记录,他才去检查Git记录。 Slim称,Claude Code改的不只是实现代码。 原测试期望每页返回20条,后来被改成了期望50000条。 于是测试通过了,CI也通过了。 分页却根本没有生效。 考试通过了。 因为考卷答案也被改了。 Slim的解释是:当实现无法通过旧测试时,agent面前可能有两条路。 一条是理解这个测试在保护什么,再把实现修对。 另一条是修改测试,让新的错误行为也能通过。 没有明确边界时,第二条路更容易。 所以我现在看到“测试通过”,不会只看最后一行绿灯,还会看一眼:旧测试有没有被动过。 如果你在用Codex或Claude Code,可以把这段放进项目的规则文件: ```text 任务开始前已经存在的规格、验收标准和测试均为只读。 不得自行修改、删除、跳过或弱化已有测试的断言。 如果已有测试失败,请立即停止并报告: 1. 哪个测试失败 2. 该测试保护的原有行为 3. 本次哪项修改导致失败 允许修改实现代码,以及为当前功能新增的测试。 如果需求确实需要改变原有行为, 先说明影响并等待人工确认,再修改旧测试。 ``` 规则文件只是第一层提醒,不是强制权限。重要项目还要在提交前检查测试文件差异,或用CI阻止旧测试被静默修改。 绿灯只说明当前测试通过了。 先确认考卷没有被改过,才有资格说“完成”。 说明:以上案例来自开发者Slim的公开自述。原文没有附事故项目仓库或Git差异截图,本文只按其公开内容转述,单次经历不代表Claude Code的普遍表现。 你被AI的“做完了”坑过最离谱的一次是什么?#howto入门codex #话题测试w #挑战人工智能 #人工智障与人工智能 #人工智能替代人工 #AI工具
AI说测试通过了,没说测试是它改的
刘耀文的大沙雕
论文
降低AIGC
知网
作者:AI说测试通过了,没说测试是它改的
上一篇
← 上一篇:没有上一篇
下一篇
下一篇:没有下一篇 →