跳转到内容

基于门控的阶段流转:AI 工作流的安全过渡模式

基于门控的阶段流转:AI 工作流的安全过渡模式

学习目标

读完本章后,你将能够:

  • 设计阶段门控(Stage Gate)机制,防止 AI Agent 在条件不成熟时进入下一阶段
  • 实现完成门、用户授权跳过门和共识证据门三种门控类型
  • 构建带审查循环的流水线架构,支持自动回退与重试
  • 理解 Autopilot 模式下的严格循环流水线设计

前置知识


核心概念

1. 为什么需要阶段门控

在多阶段 AI Agent 工作流中,阶段门控(Stage Gate)是一种防止 Agent 在条件不成熟时进入下一阶段的防御性设计模式。

典型的场景:

  • 在需求尚未澄清时,Agent 不应该直接进入编码阶段
  • 在方案未获批准时,Agent 不应该开始大规模文件修改
  • 在代码审查未通过时,不应该进入最终验收

没有门控的风险

风险后果门控防御
需求理解偏差编码方向错误,大量返工完成门:确认所有澄清问题已回答
方案未经评审架构缺陷导致系统性问题共识证据门:需要 Architect + Critic 一致通过
跳过测试直接部署生产环境故障质量门控:验证测试覆盖率 + 审查通过

2. 完成门(Completion Gate)

完成门是最基础的门控类型,检查前一阶段是否满足完成的必要条件。

伪代码:
function evaluateCompletionGate(phase, state):
switch phase:
case "deep-interview":
return {
passed: state.questions.length > 0
&& state.questions.every(q => q.answered),
reason: state.questions.length === 0
? "No questions were asked during interview"
: "Unanswered questions remain"
}

完成门的要素

要素说明
必要条件必须满足的客观条件(如”所有问题已回答”)
完成证据记录完成状态的工件(如已回答的问题列表)
失败原因门控未通过时的具体原因

3. 用户授权跳过门(User Authorization Skip Gate)

允许用户在特定条件下授权跳过某个阶段,但必须有显式的授权记录。

伪代码:
function evaluateSkipGate(phase, userActions):
authRecord = findUserAuthorization(userActions, phase)
if authRecord && authRecord.explicit:
return { passed: true, reason: "User authorized skip" }
return { passed: false, reason: "No user authorization found" }

授权记录的结构

字段说明
phase被跳过的阶段
explicit是否为显式授权(非默认同意)
rationale用户授权的简要理由
timestamp授权时间

为什么需要显式授权:防止 Agent 将用户的模糊表达(如”ok”、“sure”)误判为阶段跳过授权。显式授权要求用户明确表示”跳过这个阶段”或”直接进入下一阶段”。

4. 共识证据门(Consensus Evidence Gate)

共识证据门要求多个独立 Agent 对同一产出物达成一致意见,才能进入下一阶段。

共识门的判定逻辑

架构师批评者共识结果
通过通过✅ 通过(双方认可)
通过不通过❌ 不通过(存在分歧,需修改)
不通过通过❌ 不通过(存在分歧,需修改)
不通过不通过❌ 不通过(双方一致否定)

顺序要求:架构师先审查,批评者后审查。批评者可以看到架构师的审查结果,但必须独立判断。这防止了”先入为主”的偏差——批评者的角色是发现架构师可能遗漏的问题。

5. 质量门控(Quality Gate)

质量门控是最终完成前的综合检查,通常包含多个独立验证维度。

伪代码:
function evaluateQualityGate(evidence):
checks = []
checks.push(evaluateAISlopCleaner(evidence)) // AI 代码清理
checks.push(evaluateVerification(evidence)) // 验证测试
checks.push(evaluateCodeReview(evidence)) // 代码审查
return checks.every(c => c.passed)
? { passed: true }
: { passed: false, failures: checks.filter(c => !c.passed) }

质量门控的典型维度

维度检查内容通过标准
AI Slop Cleaner清除冗余的 AI 生成代码status = “passed”
验证测试构建、lint、单元测试所有命令通过
代码审查独立审查员和架构师双签审查通过 + 架构师 CLEAR

6. 审查循环(Review Loop)

当质量门控未通过时,流水线自动回退到规划阶段进行修复。

循环保护

保护机制说明
最大循环次数防止无限循环(如上限 10 次)
审查发现携带回退时将问题列表传递给规划阶段
循环计数记录审计日志记录每次回退的原因和时间

7. Autopilot 严格循环流水线

Autopilot 模式将多个阶段组成自动执行的严格循环:

$deep-interview → $ralplan → $ultragoal → $code-review → $ultraqa

如果任一阶段产出非清洁,自动回退到 $ralplan 并携带审查发现。

严格循环的特征

特征说明
全自动无需人工介入,每个阶段自动衔接
门控保障每个阶段间都有门控检查
循环上限防止无限循环的最大重试次数
状态持久化每次阶段转换都写入持久化状态

陷阱与对策

陷阱后果对策
门控条件过于严格流水线频繁阻塞提供用户授权跳过门作为逃生舱
门控条件过于宽松不合格产出物进入下一阶段定期审计门控通过率,调整阈值
共识门顺序不当后审查者被先审查者影响确保批评者在架构师之后但独立判断
循环无上限无限循环消耗资源设置最大循环次数并记录超限原因
门控状态丢失会话重启后无法恢复门控状态将门控状态写入持久化文件

参考来源

  • OpenAI Codex CLI — Goal workflows 模块
  • Workflow Patterns — https://www.workflowpatterns.com
  • Stage-Gate Process — Cooper, R. G. (2008), “Perspective: The Stage-Gate Idea-to-Launch Process”