定义

Validation Pipeline 不是传统 CI/CD(跑测试和 lint),而是将对抗性代码审查自动化为管线一环——Agent 在新 context window 中以审查者身份 review 另一个 Agent 的代码,生成证据(截图/视频/日志),并在低风险变更中免除人类审查。

管线步骤(No Mistakes 实现)

  1. 创建分支 + commit — 如果不存在分支则自动创建
  2. 隔离 worktree — 在独立 worktree 中执行验证,不影响当前 repo
  3. 意图理解 — 分析原始 agent session,理解变更的真实意图
  4. Rebase — 在最新 remote main 上 rebase 并解决 merge conflict
  5. 对抗性审查(Adversarial Review)— 在全新 context window 中审查代码;明显问题自动修复,有产品影响的歧义问题升级给人类
  6. 端到端测试 — 基于原始意图测试变更,记录证据(截图/视频/日志)
  7. 文档更新 — 自动更新相关文档以反映最新变更
  8. Lint 检查 — 确保无 lint 问题
  9. Push + PR — 推送分支并创建 PR
  10. PR Babysitting — 持续监控 PR 直到 merge,处理后续 merge conflict 和 CI 失败

关键数据点

  • 作者(Kun Chen)日常 ship 40-50 production commits/天,依赖此管线扩展 velocity
  • 低风险变更不看 diff——经验证后管线已覆盖人类能发现的问题
  • 管线生成 PR 摘要包含:原始意图、变更内容、测试方式、管线发现的问题及修复
  • 风险评估(risk assessment)指导人类决定审查深度:低风险 → 不看 diff;高风险 → 详细审查

前提与局限性

  • 依赖隔离环境:必须在 worktree 中运行,否则验证过程可能影响工作目录
  • 对抗性审查可能产生 false positive:新 context window 的审查者可能误判,需要人类仲裁
  • e2e 测试覆盖率取决于测试基础设施:如果项目没有好的 e2e 测试框架,管线的验证能力受限
  • 证据质量不均:截图和视频对 UI 变更有效,对后端逻辑变更可能只有日志,证据说服力不一
  • PR babysitting 增加 token 消耗:持续监控直到 merge 可能消耗大量 tokens,需要设定上限

与传统 CI/CD 的区别

维度传统 CI/CDValidation Pipeline
审查人类审 diffAgent 对抗性审查 + 人类仲裁
测试单元测试 + 集成测试基于意图的 e2e 测试
证据测试通过/失败截图/视频/日志等直接证据
PR 维护人类处理 conflict/CI自动 babysitting
人类介入每 PR 必须仅高风险变更

关联概念