从代码生成到可信交付:AI Coding“假通过”的识别与防控实践
议题背景:
在复杂业务系统建设过程中,AI Coding 开始逐步融入研发流程,改变了部分研发工作的协作方式。但随着 AI 深度参与研发流程,一个新的问题也逐渐显现:代码实现速度提升后,如何保证业务结果真正正确。
我司在建设埋点测试平台的过程中,尝试将 Claude、Codex 等 AI Coding 工具应用于需求分析、方案设计、代码实现、测试补充和问题修复等环节。经过约 8 周、238 次提交,平台功能逐步完善,但同时也暴露出新的质量挑战:修复类提交占比超过四成。
这些问题并不是代码无法运行,而更多表现为“假通过(False Pass)”:系统没有报错,流程也显示成功,但由于业务规则理解、查询边界或数据验证不足,最终输出的业务结论可能并不正确,甚至验证体系自身也可能失效。
这让我意识到,AI Coding 带来的变化不仅是开发方式变化,更要重新思考如何定义正确、验证正确,并将问题沉淀为长期可复用的工程能力。
本次分享将结合埋点测试平台建设实践,复盘“假通过”的产生原因,并介绍一套经过实战验证的质量保障方法:规则定义 → 独立审查 → 真实验证 → 经验沉淀,让 AI Coding 从代码生成走向可信交付。
内容大纲:
1. 真实风险:AICoding 时代,“正确”正在变得难以证明
1.1 提效之后,验证成为新的主要投入
约 1个多月建成埋点测试平台,AI 参与需求分析、方案设计、编码、测试、修复全流程,实现效率显著提升;
但 238 次提交中,修复类 98 次、新功能 58 次,比例约 1.7 : 1,其余为重构、测试与文档。四成以上的提交用于修复问题;
关键不在数量,而在性质:多数问题并非无法运行,而是运行正常、结果错误。AI 报告任务已通过,实际并没有。
1.2 两个典型案例:错误如何隐藏在“成功”里
案例一「查询范围静默失控」:点位 ID 解析缺陷导致查询条件被解析为空,SQL 无任何过滤、静默查询全量数据。发现问题时,整份验收报告 81.3% 的通过率已整体存疑,平台的核心产出险些作废;
案例二「验证体系自身的假通过」:一次改动中,重名测试类静默覆盖了 9 个既有测试,这些测试从未运行,AI 却仍然汇报测试全部通过。用于兜底的验证体系,自身先失效了。
1.3 为什么“假通过”比报错更危险:问题的复杂性
它不抛异常、没有错误日志、监控无法感知。埋点验收需要同时满足事件、属性、终端、业务线、时间窗口等多维业务规则,任何一处偏差都可能产生一个看似合理的错误结果;
AI 的自证倾向:实现者与验证者是同一条推理链,会持续强化自身的假设;
实现速度越快,错误结论的产出也越快,提效反而放大了验证缺口。
2. 破解“假通过”:从单点修复到系统化防控的四轮演进
2.1 第一轮:人工复查与 AI 自查,很快失效
让 AI 自查,它会用同样的假设再“证明”一遍自己是对的;
人工逐条核对数据,等于退回建平台之前的原点;
结论:同一推理链内部,发现不了自身的假设错误。
2.2 第二轮:实现与审查分离,双 AI 独立审查
一个 AI 负责实现,另一个独立的 AI 专职对抗性审查:提出反例、挑战边界、补充测试,由人做最终判断;
实际效果:一次交叉审查揪出 2 个 P1 缺陷,起因是同编号事件被不同事件复用,导致报告卡片误合并、编辑器深链绑到错误事件,顺藤排查出 7 处同类隐患;
新的要求:审查方的结论同样需要先验证再采信,否则只是增加了一个假通过来源。独立审查成立的前提是证据。
2.3 第三轮:以真实运行结果为最终依据
审查代码并不足够,必须用真实数据运行验证。前后端各有一套解析逻辑,通过基准用例与跨端一致性校验,要求两套实现对同一批真实数据输出一致的结果;
主动构造错误场景(错误事件、缺失属性、越界数据、跨端/跨业务线数据),验证系统“该失败时真的会失败”;
以「静默查全量」为例的完整闭环:实测发现 → 统一解析规则并加安全网告警 → 单测 / 一致性校验 / e2e 回归全绿 → 回查全部已执行用例,确认历史验收结论未被污染(修复只是起点,证明“修对了、且没伤到过去”才是终点)。
2.4 第四轮:把每个问题变成资产,防复发体系
每个假通过问题固化为:e2e 回归用例、项目记忆、验收口径、AI 协作规范;
项目记忆随代码仓库版本化管理,更换环境或模型均不丢失,AI 下次介入时自动携带历史问题的上下文;
不能仅解决当前问题,需要通过方法沉淀,降低同类问题的复发概率。
3. 方法沉淀:一套可复制的 AI Coding 可信交付框架
把四轮实践提炼为“可信交付四层防线”:
3.1 规则层:从 Prompt 驱动到规则驱动
在编码之前先定义什么是正确:业务规则、验收标准、边界约束是 AI 输出稳定性的上限,规则越清晰,验证成本越低。
3.2 对抗层:从自证到他证
实现与审查使用独立推理链互相约束,任何一方的结论都必须过证据关,避免同一推理过程自我强化。
3.3 实证层:从模型结论到 Ground Truth
验收依据只能来自真实数据、真实运行与真实日志;错误场景与正常场景具有同等的验证权重。
3.4 资产层:从个人经验到组织记忆
规则、用例、记忆、规范持续沉淀,让验证能力可积累、可迁移、可复用。
该框架不绑定任何特定模型或工具:模型会过时,验证体系不会。
4. 行业价值:当代码不再稀缺,“信任”成为新的交付物
4.1 AI Coding 的最后一公里不是生成,而是证明
从 80% 演示效果到 100% 生产可用,差的不是更强的模型,而是一套让结果可被验证的工程能力。
4.2 质量工程的重心迁移:从“发现缺陷”到“构建信任”
验证体系正在成为 AI 时代研发的核心基础设施:生成能力决定研发速度,验证体系决定是否敢于交付生产。
4.3 开发者角色重定义:从代码生产者到交付可信度的交付者
业务理解、问题拆解、AI 协作、质量判断,是不会被模型迭代淘汰的核心能力。
4.4 团队落地路径:先建验证体系,再放大生成能力
团队级 AI Coding 落地的合理顺序,是先建立统一的验证体系与业务上下文,再扩大生成规模。
听众收益:
1.识别复杂业务场景下 AI Coding“假通过”的典型模式,避开“系统正常运行 = 结果正确”的认知陷阱;
2.获得一套经 238 次提交、多个真实案例检验的防控方法:规则定义 → 独立审查 → 真实验证 → 资产沉淀,可直接迁移到自己的项目;
3.理解 AI Coding 从个人提效走向团队生产交付所需的工程能力,以及开发者角色的转变方向。