可测试 AI 任务

AI 编码验收标准

当成功只被描述成感觉时,AI 编码很容易跑偏。验收标准把提示词变成可观察行为,让测试、评审者和 agent 使用同一套判断。

更新日期:2026-05-25

好的验收标准覆盖什么

成功路径

期望行为、状态流转、响应、UI 更新或副作用。

失败路径

校验错误、第三方失败、超时、冲突和回滚行为。

边界路径

权限、空状态、重复请求、并发和非目标。

验收标准就是 agent 的契约

提示词可以听起来很有说服力,却完全不可测试。验收标准给 agent 目标,也给 reviewer 一个拒绝越界 diff 的依据。

给 AI 的标准要具体到能映射到测试或截图。如果某条标准无法证明,它可能还只是需求草稿,不适合进入实现。

验收标准质量检查

  • 每条标准都有 Given/When/Then,或等价的状态、触发和结果。
  • 至少一条覆盖失败行为。
  • 至少一条覆盖权限、重复、空状态或边界行为。
  • 不用再问产品也能证明是否通过。
  • 评审证据能映射回 AC 编号。

可复制验收标准模板

把这段放进任何 spec.md 或 AI 规格包里。给每条标准编号,方便评审证据回填。

acceptance-criteria.md
## 验收标准

AC-1 成功路径
- Given ...
- When ...
- Then ...
- 证据:

AC-2 失败路径
- Given ...
- When ...
- Then ...
- 证据:

AC-3 权限或边界路径
- Given ...
- When ...
- Then ...
- 证据:

AC-4 非目标保护
- Given 实现完成
- When reviewer 检查 diff
- Then 没有修改范围外文件、schema、API、依赖或 UI 行为。

填好的示例

优惠券结账需求只有写清总额、错误和重复提交后,才真正可实现。

filled-example.md
AC-1 有效优惠券应用折扣
- Given 购物车总额为 $120 且 SAVE20 有效
- When 用户应用 SAVE20
- Then 订单小计减少 $20,折扣行显示 "SAVE20"
- 证据:checkout coupon test 和 UI 截图

AC-2 过期优惠券被拒绝
- Given SPRING10 昨天过期
- When 用户应用 SPRING10
- Then API 返回 coupon_expired,购物车总额不变
- 证据:API integration test

AC-3 重复应用保持幂等
- Given SAVE20 已经应用
- When 用户再次点击 Apply
- Then 不新增第二条折扣行
- 证据:duplicate apply test

弱验收标准模式

形容词标准

快速、流畅、安全、好用都不够,除非写出阈值或可观察行为。

实现型标准

“使用某 helper”是任务,不是结果。标准应该描述行为。

没有证据

每条标准都要有证明路径:测试、截图、日志、指标或手工检查。

相关资源

把验收标准作为整个 AI 编码流程的主线。

Given-When-Then 指南

学习通过/失败验收标准的结构。

阅读指南

AI PR 评审清单

合并生成代码前,把标准映射到测试证据。

打开清单

Vibe Coding vs Spec Coding

看模糊请求如何变成标准驱动的 AI 任务。

查看对比

AI 验收标准 FAQ

一个 AI 编码任务需要多少条验收标准?

小任务通常需要三到七条:成功路径、失败路径,以及至少一个边界或权限场景。

标准里要写实现文件吗?

通常不要。文件范围写在 scope 里;验收标准负责描述行为和证据。

可以让 AI 写验收标准吗?

可以让 AI 起草,但行为、风险和证据必须由人确认后再进入代码生成。

让 agent 写代码前,先把标准写到 reviewer 不需要你解释也能测试。

生成验收标准