为什么人工监督正从编写代码转向定义需求

为什么人工监督正从编写代码转向定义需求

💡 原文英文,约3200词,阅读约需12分钟。
📝

内容提要

AI代理流水线中,代码与测试由同一需求生成,天然一致,下游关卡只能验证是否符合规格,无法发现规格本身的错误。作者植入错误需求后,六项测试与追溯门禁全部通过,系统却违背核心承诺。真正的防线是人工记录决策与未决问题,并确保追溯配置生效。

🔎

延伸解读

规格错误为何能穿透所有自动化关卡

文章指出,AI代理流水线中代码与测试由同一需求生成,天然一致,因此下游关卡只能验证是否符合规格,无法发现规格本身的错误。作者植入错误需求后,六项测试与追溯门禁全部通过,系统却违背核心承诺。这揭示了一个架构性缺陷:所有护栏都以规格为输入,规格错误时它们会一致地认可错误,而非提出异议。

人工监督应聚焦于需求定义与决策记录

文章强调,人工监督应从编写代码转向定义需求。具体做法包括:在范围会议中记录所有决策与未决问题,明确每项未决问题的负责人;当争议解决时,要求有人对着录音明确陈述结论。这些记录成为后续AI生成代码和测试的源头,确保错误需求在进入流水线前被拦截。

追溯门禁的局限与配置陷阱

追溯门禁仅验证每个标准是否有测试声明,不验证测试是否真正断言该标准。作者用六个空测试通过门禁,证明其可被轻易满足。此外,若未注册自定义标记并启用严格模式,拼写错误只会产生警告而非错误,导致门禁形同虚设。文章建议编写元测试,确保门禁在应失败时确实失败。

流程成本与适用边界

文章承认,完整规格驱动流程可能比常规方法慢约10倍,对于简单修改可跳过。但其价值在于当多个工程师有不同意见时,强制他们在可记录的环境中解决冲突。若规格仅由一人提示生成,则只是昂贵镜子,无法暴露基础假设错误。因此,该流程适用于跨团队、需求复杂的场景。

Q&A

为什么说AI代理流水线中下游关卡无法发现需求本身的错误?

因为代码和测试都由同一需求生成,它们天然一致,下游关卡只能验证是否符合规格,无法发现规格本身的错误。

作者如何演示错误需求能通过所有自动化检查?

作者植入一个错误需求(AC-05:当同意查询无结果时,默认视为同意并发送通知),让实现和测试从该需求生成,结果六项测试全部通过,追溯门禁也通过,但系统违背了核心承诺(不向撤回同意者发送通知)。

在AI代理流水线中,人工决策应该集中在哪些环节?

人工决策应集中在两个环节:一是决定意图和范围(如记录范围会议),二是检查意图(如规格评审)。其中规格阶段是最后一个人类决策点。

范围文档中哪两个部分能防止错误需求到达代理?

一是列出故意未决定的事项并指定负责人,作为围栏;二是记录书面需求文档与会议最终结论之间的分歧,包括裁决和理由。

为什么让代理主动询问不确定性不能作为主要控制手段?

因为模型在判断歧义时表现不佳:被明确要求判断时成功率60%-80%,但自然回应时超过95%给出确定性答案,且提供检索上下文反而降低澄清率。

追溯门禁有什么局限性?

追溯门禁只能确认测试声明了它断言某个标准,但无法验证测试是否真正断言了该标准。例如,六个空测试(assert True)也能通过门禁。

为什么说“一个静默降级为警告的护栏比没有护栏更糟”?

因为它显示绿色对勾,而实际上硬性阻止已失效,让人误以为规则仍在执行。例如pytest的strict-markers配置失效时,错误变成警告,测试套件变绿,无人察觉。

🏷️

标签

➡️

继续阅读