ESSAY·

AI 产品价值(二):测试通过之后,还需要哪些交付证据

以登录超时修复为例,定义独立验收、缺陷检出与人工审查成本。

最近修订:2026.09.05

阅读导航 · 第 2 / 5 篇

AI 产品价值系列:1 · 统一框架 · 2 · 编程实战 · 3 · 终端实战 · 4 · 办公实战 · 5 · 深入思考

阅读时间为估计,包含图表理解;动手实验另计。

本系列是作者提出的产品验收方法,不是厂商内部 KPI 或统一实测排名。案例数据均为假设;已有产品能力以链接的官方文档及具体版本为准。

用户要求“修复登录超时,补上回归测试,不推送代码”。一次成功的交付至少包含两种行为:改变应该改变的部分,保留不应该改变的部分。

我们不比较哪个助手生成代码更多,而比较同一任务契约下的完成证据。

编程助手:先证明修改有效,再衡量生成效率

用户提交一个需求:“修复登录超时,并补上回归测试。”产品必须理解约束、检索代码、定位根因、修改实现、运行验证,最终交付可以审查的改动。

Claude Code 官方文档将其执行过程描述为收集上下文、采取行动、验证结果;OpenAI 的官方仓库将 Codex CLI 定义为在本地计算机上运行的编程智能体。本文以代码理解、修改和验证任务为两类产品建立共同验收框架,不作性能排序。Claude Code 工作机制Codex 官方仓库

能力模块用户可感知的表现主指标与验收口径
NLU/需求理解要改的行为和必须保留的行为都理解对需求约束满足率:通过的验收条款数/全部条款数
语义与代码检索找到真正相关的函数、配置、测试关键代码召回率:找到的必要位置数/人工标注的必要位置数
长上下文理解跨文件修改后接口和依赖仍一致跨文件一致性通过率:预设一致性检查通过比例
LLM/代码生成功能能按要求工作首轮交付验收通过率:首次提交结果即可通过独立验收的任务比例
推理与故障定位修好根因,未引入相关回归有效修复率:原问题消失且相关回归检查通过的任务比例
测试生成测试能发现真实错误缺陷检出率:检出的已知或有效注入缺陷数/缺陷总数
代码审查报告的问题真实、具体且可行动有效发现精确率:确认有效的问题数/报告问题总数;同时记录漏检率
工具调用选对命令、参数、工作目录与操作对象工具动作正确率:动作和实际结果均符合预期的调用比例
Agent 规划与恢复多步骤执行中遇到失败还能推进无人工补救完成率:无需用户纠错或代操作即可验收的任务比例
CV/OCR/VLM从截图理解界面、报错或设计要求视觉需求通过率:预设布局、文案、状态和交互验收项的通过比例

这里有两个容易影响结论的口径问题。

第一,首轮交付可以包含 Agent 自主测试和修复,但不能悄悄包含用户追加的纠错指导。自主迭代和人工补救是两种不同能力,需要分别记录。

第二,验收必须独立于生成过程。模型写出的实现和测试可能共享同一个错误理解,因此不能仅凭“它自己写的测试全部通过”认定任务成功。应结合预设验收测试、既有回归检查和必要的人工审查。SWE-bench 的任务解决比例提供了一种外部参考,但公司自己的仓库、依赖和任务分布仍需要独立验证。SWE-bench

在总体层面,应同时记录任务验收通过率、人工审查与返工时间、单位成功任务成本,以及约定观察期内的交付后缺陷率。生成更多代码、调用更多工具,都不天然意味着创造了更多价值。

实践:准备三个版本,而不只是一份正确答案

在隔离的测试仓库里保留故障基线、候选修复,以及用于检验测试有效性的错误实现。先确认复现用例在基线上失败,再检查候选是否通过,并检查测试能否抓住已知错误。

验收项检查方法反例
原问题消失相同输入触发登录流程只把超时阈值无限调大
正常路径未退化已有认证回归修复超时却跳过认证
测试独立有效在已知错误版本上确认会失败测试只断言函数被调用
范围符合要求检查 Diff 与工作区顺便升级无关依赖
禁止推送独立操作记录与远端状态生成通过后自行发布

这是一份验收设计,不提供真实认证系统的通用修复补丁。安全相关代码必须由熟悉业务的维护者审查。

用失败证据选择下一次改动

找不到关键调用位置,先检查检索与仓库理解;工具选对但工作目录错,先改执行上下文;测试无效,先改验收;环境缺少依赖,先修环境。不要所有问题都归结为“换更强模型”。

flowchart LR
  B[故障基线] --> R[独立复现]
  R --> C[候选修改]
  C --> T{功能与回归检查}
  T -->|失败| D[定位具体缺口]
  D --> C
  T -->|通过| H[Diff 与业务审查]
  H --> A[按授权交付]

图 1|独立复现、候选修改与业务审查的验证链。矩形表示模块或步骤,圆柱表示存储,菱形表示判断;实线表示主路径,虚线表示约束、信息支撑或反馈。图为教学抽象,不代表全部实现细节。

每次试验保留同一张记录卡

记录模型与工具版本、代码快照、任务说明、权限、测试日志、人工追加指导、审查和返工时间。机器自修复属于一次预算内的执行过程,用户提示它“应该改另一个函数”则属于人工补救。

配套 docs/editorial-labs/evaluation_lab.py 演示了结果、约束与独立证据如何合并判断;它不是 Coding Agent 基准。真正落到代码任务,应将其中的确定性检查替换成你的独立测试和状态采集。

本篇的产物不是一句“生成质量提升”,而是一组能重新运行、能够解释通过原因的证据。


上一篇:统一框架

编程任务的结果留在代码和测试中。下一篇把视角移到终端设备:系统说“已经改好了”,实际状态是否真的变化?

下一篇:听懂一句话,不等于改对一个闹钟