Verifier 与 Code-Reviewer

📑 目录

这是「GSD 全景代码解析」专题的第 25 篇。在前面的文章中,我们从命令系统到工作流编排,从 execute-phase 的 Wave 调度到 verify-phase 的质量门禁,逐步构建了 GSD 运转机制的全景图。但有一个问题始终悬而未决:执行质量检查的主体是谁? 工作流只是编排器,真正执行验证逻辑、逐行审查代码的,是 GSD 中两个至关重要的专用 Agent——gsd-verifiergsd-code-reviewer

如果说工作流是 GSD 的神经系统,那么 Agent 就是它的感官与四肢。本章将聚焦 Agent 系统,逐一拆解 GSD 33 个专业 Agent 的设计哲学、角色定义和协作协议。本文先从质量保障体系中两个最核心的 Agent 开始——负责阶段验证的 Verifier,和负责代码审查的 Code-Reviewer。


Verifier 与 Code-Reviewer

在 GSD 的多 Agent 编排体系中,质量保障不是某个工作流的"附加功能",而是由专门设计的 Agent 专职负责的系统性工程。gsd-verifiergsd-code-reviewer 分别镇守两条质量防线:前者验证"阶段目标是否达成",后者审查"代码实现是否合格"。两者相互独立又紧密协作,共同构成了 GSD 质量保障体系的核心执行层

本文将深入解析这两个 Agent 的定义文件——agents/gsd-verifier.md(约 30KB)和 agents/gsd-code-reviewer.md(约 15KB),揭开它们的工作方式、审查标准和协作机制。


一、gsd-verifier:阶段目标的守门人

1.1 Agent 定位与核心职责

gsd-verifier 是 GSD 中专门负责阶段级验证的 Agent。与工作流层的 verify-phase 不同,verifier 不是编排器,而是执行者——它接收工作流传递的上下文,独立执行验证逻辑,生成结构化的验证报告。

它的核心职责可以概括为三个问题:

  1. Goal 达成了吗? —— 阶段定义的成功标准(must-haves)是否全部满足
  2. 交付物完整吗? —— 代码、测试、文档是否按 PLAN.md 的约定全部产出
  3. 质量达标吗? —— 测试通过率、覆盖率、Schema 一致性等量化指标是否达到 gates.md 的阈值
flowchart TD
    subgraph Input["输入上下文"]
        I1[PLAN.md — 计划定义]
        I2[SUMMARY.md — 执行结果]
        I3[REQUIREMENTS.md — 需求基线]
        I4[gates.md — 质量标准]
    end

    subgraph Verifier["gsd-verifier 执行"]
        V1[解析 must-haves]
        V2[检查交付物完整性]
        V3[运行量化指标]
        V4[综合判定]
    end

    subgraph Output["输出产物"]
        O1[VERIFICATION.md]
    end

    I1 --> V1
    I2 --> V2
    I3 --> V1
    I4 --> V3
    V1 --> V4
    V2 --> V4
    V3 --> V4
    V4 --> O1

1.2 角色定义与工作方式

gsd-verifier.md(30KB)的文件结构遵循 GSD 统一的 Agent 定义格式:

---
name: gsd-verifier
description: 验证阶段目标达成度的专用 Agent
model: ${config.model}
permissions:
  - read:workspace
  - read:planning
  - read:tests
  - exec:test-suite
tools:
  - gsd-sdk query
  - bash (read-only)
---

角色提示(System Prompt)的核心指令

你是一个严格的阶段验证器。你的任务不是找出代码中的 Bug(那是 Code-Reviewer 的工作),而是判断整个阶段的目标是否已经达成。你必须:

  1. 只依据 PLAN.md 中定义的 must-haves 进行验证,不引入额外的标准
  2. 对每条 must-have 给出明确的 PASS / FAIL / NEEDS_HUMAN 判定
  3. 如果存在 gaps,提供 gap-closure 路径而非直接修复
  4. 保持客观,不因代码写得"漂亮"就放松对功能完整性的要求

这段角色定义体现了一个关键设计:Verifier 的判定标准是"功能性"而非"审美性"。它不关心代码风格,只关心"承诺的功能是否实现"。

1.3 验证流程与检查点

Verifier 的验证流程包含 7 个顺序检查点:

flowchart TD
    A[接收验证请求] --> B[加载 PLAN.md]
    B --> C[提取 must-haves 列表]
    C --> D[加载 SUMMARY.md 和交付物]
    D --> E{每条 must-have
都有对应交付物?} E -->|否| F[标记缺失项] E -->|是| G[加载 gates.md 阈值] G --> H[运行测试套件] H --> I{测试通过率 ≥ 阈值?} I -->|否| J[标记测试失败] I -->|是| K[检查 Schema 一致性] K --> L{Schema drift?} L -->|是| M[标记 drift] L -->|否| N[检查文档完整性] N --> O[生成 VERIFICATION.md] F --> O J --> O M --> O

各检查点的详细说明:

检查点输入判定逻辑失败处理
Must-Have 覆盖PLAN.md每条 must-have 都有对应交付物标记 gaps,不进入后续检查
交付物存在性SUMMARY.md + git status所有声明修改的文件真实存在标记"幽灵交付物"
测试通过率gates.md 阈值 + 测试报告通过率 ≥ 阈值列出失败测试,分析根因
Schema 一致性Schema 文件 + DB 状态无未推送的 schema 变更标记 schema drift
代码库漂移执行前后的 codebase 结构无意外文件变更标记 codebase drift
文档同步性API 变更 + 文档文件接口变更已同步到文档标记文档缺口
回归检测前期阶段测试套件前期功能未被破坏标记 regression

1.4 验收标准的制定与执行

Verifier 不自行制定验收标准,而是严格执行 PLAN.mdgates.md 中预定义的标准。这种"标准前置"的设计确保了验证的客观性和一致性:

sequenceDiagram
    participant Planner as gsd-planner
    participant Plan as PLAN.md
    participant Executor as gsd-executor
    participant Verifier as gsd-verifier
    participant Gates as gates.md

    Planner->>Plan: 写入 must-haves + 验收标准
    Planner->>Gates: 写入阶段质量阈值
    Executor->>Plan: 按 must-haves 执行
    Executor->>Verifier: 交付 SUMMARY.md
    Verifier->>Plan: 读取 must-haves
    Verifier->>Gates: 读取阈值
    Verifier->>Verifier: 执行验证逻辑
    Verifier->>Plan: 写入 VERIFICATION.md

关键设计原则:标准在规划时确定,验证时只读

这种设计避免了"标准漂移"——如果 Verifier 在验证时自行解释什么是"足够好",不同运行之间就会产生不一致的判定。GSD 通过将标准固定在 PLAN.mdgates.md 中,实现了:

  • 可预测性:同样的输入总是产生同样的判定
  • 可追溯性:验收标准可以追溯到规划阶段的讨论
  • 可审计性:人类可以审查 PLAN.md 中的标准是否合理

1.5 与 verification-patterns.md 的关系

gsd-verifierverification-patterns.md 的关系常被混淆。实际上它们的职责有明确分工:

维度gsd-verifier Agentverification-patterns.md
定位执行验证逻辑的 Agent定义通用验证模式的参考文档
内容角色定义、工作方式、输出格式跨项目的通用检查清单
使用方式被工作流 spawn被 Agent 通过 @reference 引用
定制化每个项目统一可按项目裁剪
典型内容"验证 must-haves 的步骤""测试覆盖率计算公式"、"Schema drift 检测方法"

verification-patterns.md 是一个知识库,而 gsd-verifier 是一个执行器。Verifier 在执行验证时,会按需引用 verification-patterns 中的具体方法(如"如何检测 N+1 查询"、"如何验证 API 兼容性"),但验证的判定权和输出格式由 Verifier 自身定义。


二、gsd-code-reviewer:代码质量的显微镜

2.1 Agent 定位与核心职责

如果说 gsd-verifier 是站在 10,000 米高空俯瞰"阶段目标是否达成",那么 gsd-code-reviewer 就是拿着显微镜逐行检查"代码实现是否合格"。它的核心职责是:

  1. 发现缺陷:Bug、安全漏洞、性能隐患、边界情况遗漏
  2. ** enforce 规范**:编码风格、命名约定、项目架构约束
  3. 评估可维护性:圈复杂度、重复代码、注释质量
  4. 验证测试充分性:测试覆盖率、边界测试、Mock 使用
flowchart TD
    subgraph Input["输入上下文"]
        I1[git diff — 变更范围]
        I2[CLAUDE.md — 架构规范]
        I3[PROJECT.md — 项目约定]
        I4[verification-patterns.md — 审查清单]
    end

    subgraph Reviewer["gsd-code-reviewer 执行"]
        R1[生成 diff 摘要]
        R2[按文件分组审查]
        R3[逐行分析]
        R4[标注问题等级]
        R5[汇总建议]
    end

    subgraph Output["输出产物"]
        O1[REVIEW.md]
    end

    I1 --> R1
    I2 --> R2
    I3 --> R2
    I4 --> R3
    R1 --> R2
    R2 --> R3
    R3 --> R4
    R4 --> R5
    R5 --> O1

2.2 代码审查标准

gsd-code-reviewer.md(15KB)定义了详细的审查标准,这些标准来自 verification-patterns.md 的 40+ 条检查项,按类别组织如下:

类别检查项示例问题等级
安全性无明文存储密码、输入校验、XSS 防护、CORS 配置Critical
可靠性错误处理、超时设置、重试策略、幂等性Major
性能N+1 查询检测、大文件读取、内存泄漏、事件监听器清理Major
可维护性圈复杂度控制、函数长度、命名规范、注释完整性Minor
测试分支覆盖、边界测试、Mock 使用、测试隔离性Major
架构层间依赖方向、接口稳定性、重复代码检测Minor

Critical 问题的判定标准(部分示例)

## Critical(阻塞性)判定规则

以下情况必须标记为 Critical:

1. **安全漏洞**
   - 密码、Token、密钥以明文形式存储或传输
   - 用户输入未经校验直接拼接 SQL / HTML
   - 敏感接口缺少鉴权

2. **数据完整性风险**
   - 并发场景下缺少事务保护
   - 关键操作无幂等性保证
   - 缺少数据备份/恢复机制

3. **系统稳定性**
   - 无限递归或死循环风险
   - 资源泄漏(文件句柄、连接池未释放)
   - 未捕获的异常可能导致进程崩溃

2.3 审查深度控制:quick / standard / deep

gsd-code-reviewer 支持三种审查深度,通过 --depth 参数或工作流配置控制。这是 GSD Agent 设计的典型模式——同一 Agent,不同深度,不同上下文预算

深度描述耗时上下文预算适用场景
quick仅模式匹配 + 安全扫描~2 分钟~50K tokens预提交检查、快速扫描
standard逐文件分析 + 语言特定检查~5-15 分钟~150K tokens常规阶段审查(默认)
deep跨文件分析 + 导入图和调用链~15-30 分钟~300K tokens关键模块、安全审查
flowchart TD
    subgraph Quick["quick 模式"]
        Q1[安全模式匹配] --> Q2[已知漏洞扫描]
        Q2 --> Q3[生成快速报告]
    end

    subgraph Standard["standard 模式"]
        S1[quick 全部检查] --> S2[逐文件 AST 分析]
        S2 --> S3[编码规范检查]
        S3 --> S4[测试覆盖率评估]
        S4 --> S5[生成详细报告]
    end

    subgraph Deep["deep 模式"]
        D1[standard 全部检查] --> D2[跨文件调用链分析]
        D2 --> D3[架构约束验证]
        D3 --> D4[性能热点检测]
        D4 --> D5[生成深度报告]
    end

    Quick --> Standard --> Deep

三种模式的上下文差异

  • quick:只加载变更文件的 diff + 安全规则库
  • standard:加载变更文件 + 相关接口定义 + 编码规范 + 测试报告
  • deep:加载完整项目结构 + 依赖图 + 性能基线 + 架构文档

这种分层设计使得审查资源可以被合理分配——80% 的场景用 standard 即可,只有关键模块才需要 deep 级别的投入。

2.4 与 gates.md 的集成

gsd-code-reviewer 的审查判定不是二元的"通过/失败",而是与 gates.md 中的质量门控阈值联动:

# gates.md 中与代码审查相关的配置
code_review:
  depth: standard                    # 默认审查深度
  critical_threshold: 0              # Critical 问题必须为零
  major_threshold: 3                 # Major 问题最多 3 个
  coverage_threshold: 80             # 测试覆盖率最低 80%
  cyclomatic_complexity_max: 15      # 圈复杂度上限
  duplicate_lines_threshold: 5%      # 重复代码比例上限

Code-Reviewer 在执行审查时,会将发现的问题与这些阈值对比,生成结构化的判定结果:

## 审查判定

| 检查项 | 发现数 | 阈值 | 状态 |
|--------|--------|------|------|
| Critical 问题 | 0 | 0 | ✅ 通过 |
| Major 问题 | 2 | 3 | ✅ 通过 |
| 测试覆盖率 | 82% | 80% | ✅ 通过 |
| 圈复杂度 | 18(auth.js:45) | 15 | ❌ 超标 |

## 综合判定:CONDITIONAL_PASS

> 圈复杂度超标,建议重构 auth.js 中的 `validateToken` 函数。
> 其他指标全部达标,不影响合并。

2.5 输出格式:REVIEW.md 的结构化设计

gsd-code-reviewer 的输出严格遵循 REVIEW.md 模板,这是 Agent 可组合性的关键——工作流可以可靠地解析 Reviewer 的输出,驱动后续流程:

# Code Review Report

## 变更概要
- 审查范围:12 个文件,+482/-127 行
- 审查时间:2026-04-24
- Reviewer:gsd-code-reviewer
- 深度:standard

## 问题列表

### 🔴 Critical(阻塞性)
- **[auth.js:45]** 密码以明文形式存储到 localStorage,存在严重安全风险
  - 建议:使用 Web Crypto API 加密存储
  - 关联规则:SEC-001(verification-patterns.md)

### 🟠 Major(重要)
- **[utils.ts:23]** 递归函数缺少终止条件检测
  - 建议:添加深度限制或改为迭代实现

### 🟡 Minor(建议性)
- **[styles.css:34]** 魔法数字应提取为常量

## 质量指标
| 指标 || 阈值 | 状态 |
|------|-----|------|------|
| 测试覆盖率 | 82% | 80% ||
| 平均圈复杂度 | 8 | 15 ||

## 通过标准检查
- [x] 所有 Critical 问题已修复或已接受风险
- [x] 所有 Major 问题已修复或有合理解释
- [x] Minor 问题不影响合并

## 签名
- Reviewer Agent: gsd-code-reviewer
- 审查标准版本: verification-patterns.md @ v2.3

关键设计点

  1. 规则溯源:每个问题都标注关联的 verification-patterns 规则编号,便于追溯标准来源
  2. 可操作建议:不只是指出问题,还要给出修复建议
  3. 可解析结构:工作流可以通过正则或结构化解析提取问题列表和判定结果
  4. 版本追踪:记录审查标准的版本,确保审查结果可复现

三、Verifier 与 Code-Reviewer 的协作关系

3.1 职责分离:功能验证 vs 代码审查

Verifier 和 Code-Reviewer 虽然都涉及"质量",但它们的关注点截然不同:

维度gsd-verifiergsd-code-reviewer
关注点"功能是否正确交付""代码是否高质量实现"
输入PLAN.md + SUMMARY.mdgit diff + 架构规范
输出VERIFICATION.mdREVIEW.md
判定标准must-haves + gates.md 阈值verification-patterns 检查清单
失败处理生成 gap-closure 路径生成修复任务
上下文预算~200K tokens~150K tokens(standard)
flowchart LR
    subgraph Executor["gsd-executor"]
        E1[编写代码]
        E2[编写测试]
        E3[生成 SUMMARY.md]
    end

    subgraph Quality["质量检查层"]
        direction TB
        V["gsd-verifier
功能验证
'目标达成了吗?'"] R["gsd-code-reviewer
代码审查
'实现得好吗?'"] end subgraph Result["结果"] V_OK["VERIFICATION.md
PASSED"] R_OK["REVIEW.md
APPROVED"] end Executor --> V Executor --> R V --> V_OK R --> R_OK V_OK --> Merge["允许合并"] R_OK --> Merge

3.2 串行 vs 并行执行策略

在 GSD 的工作流编排中,Verifier 和 Code-Reviewer 的执行顺序取决于具体场景:

场景 A:execute-phase 后的默认流程(串行)

execute-phase 完成
  → code-review(先审查代码质量)
    → code-review-fix(修复问题)
      → verify-phase(再验证功能目标)
        → 生成 VERIFICATION.md

这种顺序的逻辑是:先确保代码质量过关,再验证功能是否完整。如果代码本身有问题(如安全漏洞),即使功能实现了也不应该通过验证。

场景 B:audit-milestone 中的并行执行

Milestone 完成
  → [并行] gsd-verifier 验证所有 Phase
  → [并行] gsd-code-reviewer 审查全部变更
  → 汇总 AUDIT.md

在里程碑审计时,由于变更量大、时间预算充足,两个 Agent 可以并行执行,最后由 orchestrator 汇总结果。

flowchart TD
    subgraph Milestone["audit-milestone 工作流"]
        A[Milestone 标记完成] --> B{审查策略}
        B -->|常规| C[串行: review → verify]
        B -->|大版本| D[并行: review + verify]
    end

    subgraph Serial["串行模式"]
        S1[code-review] --> S2[code-review-fix]
        S2 --> S3[verify-phase]
    end

    subgraph Parallel["并行模式"]
        P1[gsd-code-reviewer] --> P3[汇总结果]
        P2[gsd-verifier] --> P3
    end

    C --> Serial
    D --> Parallel

3.3 结果冲突的处理

当 Verifier 和 Code-Reviewer 的结果出现冲突时(例如 Verifier 判定 PASSED 但 Code-Reviewer 发现了 Critical 问题),GSD 的处理策略是:

Code-Reviewer 的判定优先于 Verifier 的功能判定。

原因很明确:一个存在安全漏洞的功能"实现",不能被视为"达成目标"。GSD 的质量哲学是**"质量是前提,功能是结果"**。

flowchart TD
    V{Verifier: PASSED?}
    R{Code-Reviewer:
Critical 问题?} V -->|是| R V -->|否| F1[进入修复流程] R -->|否| F2[全部通过,允许合并] R -->|是| F3[阻塞合并,优先修复 Critical] F3 --> F4[code-review-fix] F4 --> V

四、与 verify-phase 工作流的衔接

4.1 Verifier 在 verify-phase 中的位置

verify-phase 工作流( Orchestrator )与 gsd-verifier Agent(执行者)的关系,是 GSD "Thin Orchestrator" 设计原则的典型体现:

sequenceDiagram
    participant User as 用户
    participant Cmd as /gsd:verify-phase
    participant WF as verify-phase.md
工作流 participant SDK as gsd-sdk participant V as gsd-verifier
Agent participant FS as 文件系统 User->>Cmd: 触发验证 Cmd->>WF: 调用工作流 WF->>SDK: query init.verify-phase SDK-->>WF: 返回上下文 payload WF->>WF: 组装验证参数 WF->>V: spawn Agent + 传递上下文 V->>FS: 读取 PLAN.md / SUMMARY.md / gates.md V->>V: 执行 7 步验证流程 V->>FS: 写入 VERIFICATION.md V-->>WF: 返回验证结果信号 WF->>FS: 更新 STATE.md WF->>User: 输出验证摘要

在这个流程中:

  • 工作流负责:参数解析、上下文组装、Agent spawn、结果收集、状态更新
  • Verifier负责:实际的验证逻辑执行、判定、报告生成

两者通过文件系统VERIFICATION.md)和信号(return code / done signal)进行通信,而非通过对话上下文传递结果。

4.2 验证结果的三种状态与后续路由

Verifier 生成的 VERIFICATION.md 有三种状态,驱动 verify-phase 工作流的后续路由:

状态含义后续动作
passed所有 must-haves 验证通过更新 ROADMAP,标记阶段完成
human_needed自动化检查通过,需人工确认创建 HUMAN-UAT.md,暂停等待用户
gaps_found发现缺口提供 /gsd:plan-phase {X} --gaps 路径
flowchart TD
    A[verify-phase 工作流] --> B[spawn gsd-verifier]
    B --> C[读取 VERIFICATION.md]
    C --> D{status?}
    D -->|passed| E[更新 STATE.md
标记 COMPLETED] D -->|human_needed| F[创建 HUMAN-UAT.md
暂停等待用户] D -->|gaps_found| G[提取 gap 列表] G --> H{auto_fix?} H -->|是| I[调用 plan-phase --gaps] H -->|否| J[生成修复任务清单
等待用户决策]

4.3 与 execute-phase 的自动推进链

workflow.auto_advance 启用时,execute-phase 在 Wave 执行完成后会自动触发 verify-phase,形成"执行-验证-推进"的闭环:

flowchart LR
    subgraph Execute["execute-phase"]
        E1[Wave 执行] --> E2[代码审查门控]
        E2 --> E3[回归测试门控]
        E3 --> E4[Schema 漂移门控]
    end

    subgraph Verify["verify-phase"]
        V1[spawn gsd-verifier] --> V2{passed?}
        V2 -->|是| V3[标记完成]
        V2 -->|否| V4[进入修复循环]
    end

    subgraph Advance["auto-advance"]
        A1[调用 transition] --> A2[启动下一阶段]
    end

    Execute --> Verify
    V3 --> Advance
    V4 --> Execute

关键设计:Verifier 是自动推进链的"把关者"。如果验证不通过,链条自动断裂,不会盲目推进到下一阶段。这防止了"带病前行"——一个未达标的功能不会被带入下一阶段累积技术债务。

4.4 上下文隔离与 Fresh Context 原则

Verifier 在与 verify-phase 工作流衔接时,严格遵循 GSD 的 Fresh Context Per Agent 原则:

flowchart TD
    subgraph Orchestrator["verify-phase 工作流
(主会话)"] O1[上下文窗口
~30% 占用] end subgraph VerifierAgent["gsd-verifier Agent
(独立会话)"] V1[全新上下文窗口
~200K tokens] V2[加载 PLAN.md] V3[加载 SUMMARY.md] V4[加载 gates.md] V5[执行验证] V6[写入 VERIFICATION.md] end O1 -->|spawn + payload| V1 V1 --> V2 V2 --> V3 V3 --> V4 V4 --> V5 V5 --> V6 V6 -->|done signal| O1

Verifier 不会继承 execute-phase 中 Executor 的上下文。它看到的是:

这种隔离确保了 Verifier 的判定不受执行过程中"中间推理"的污染——它只依据最终结果和标准进行判定,避免了"因为知道你是怎么想的,所以理解你的偏差"的宽容错误。


五、两个 Agent 的设计哲学对比

5.1 规模差异背后的设计意图

Agent文件大小设计意图
gsd-verifier.md~30KB验证逻辑复杂,需要覆盖 7 个检查点、3 种判定状态、多种失败处理策略
gsd-code-reviewer.md~15KB审查逻辑相对聚焦,核心是对照检查清单逐行分析,深度控制通过参数实现

Verifier 更大的体积并非因为它"更重要",而是因为它的判定逻辑更复杂

  • 需要处理 must-have 的多种匹配模式(精确匹配 / 模糊匹配 / 人工确认)
  • 需要与 gates.md 的动态阈值联动
  • 需要生成 gap-closure 路径(这比简单的"通过/失败"复杂得多)
  • 需要处理三种判定状态(passed / human_needed / gaps_found)的差异化输出

Code-Reviewer 的审查逻辑虽然也需要细致,但基本是"对照清单检查 → 标注问题等级 → 汇总报告"的线性流程,通过 verification-patterns.md 外部化了大部分规则内容。

5.2 可组合性设计

两个 Agent 都遵循 GSD 的可组合性原则:独立运行、标准输入输出、可被任意工作流调用

flowchart TD
    subgraph Callers["可能的调用方"]
        C1[verify-phase]
        C2[audit-milestone]
        C3[audit-fix]
        C4[/gsd:verify]
    end

    subgraph Verifier["gsd-verifier"]
        V1[标准输入: PLAN + SUMMARY + gates]
        V2[标准输出: VERIFICATION.md]
    end

    subgraph Callers2["可能的调用方"]
        D1[code-review]
        D2[code-review-fix]
        D3[execute-phase 门控]
        D4[/gsd:code-review]
    end

    subgraph Reviewer["gsd-code-reviewer"]
        R1[标准输入: diff + 规范 + 深度参数]
        R2[标准输出: REVIEW.md]
    end

    C1 --> Verifier
    C2 --> Verifier
    C3 --> Verifier
    C4 --> Verifier
    D1 --> Reviewer
    D2 --> Reviewer
    D3 --> Reviewer
    D4 --> Reviewer

这种设计使得:

  • 新增工作流时可以直接复用现有 Agent,无需重写验证逻辑
  • Agent 的升级(如改进验证算法)会自动惠及所有调用方
  • 可以针对特定场景 spawn 多个 Verifier 并行验证不同维度

六、小结

本文深入解析了 GSD 质量保障体系中两个核心 Agent 的设计与实现:

Agent核心职责关键设计
gsd-verifier验证阶段目标达成度7 步检查流程、3 状态判定、标准前置、gaps 路径生成
gsd-code-reviewer逐行审查代码质量3 级审查深度、40+ 检查项、与 gates.md 阈值联动、结构化 REVIEW.md

两者的协作关系:Verifier 回答"目标达成了吗",Code-Reviewer 回答"实现得好吗"。前者关注功能性,后者关注实现质量。当两者冲突时,Code-Reviewer 的 Critical 问题优先——因为质量是前提,功能是结果。

与工作流的衔接:两个 Agent 都不是独立运行的,它们被 verify-phase、code-review、audit-milestone 等工作流 spawn,遵循 Thin Orchestrator 原则——工作流负责编排,Agent 负责执行。通过文件系统(VERIFICATION.md / REVIEW.md)和信号进行通信,确保上下文隔离和判定客观性。

GSD 的质量保障体系设计体现了一个核心理念:

质量不是检查出来的,而是内建在 Agent 的 DNA 中的。

Verifier 和 Code-Reviewer 不是可选的"附加组件",而是 GSD 执行管道的必经关卡。它们的专业化分工、标准化输出和可组合设计,使得质量保障可以从"靠运气"变为"可工程化"。


下一篇预告:第 26 篇《文档与研究 Agent》

在解析了质量保障体系的核心 Agent 之后,我们将继续探索 GSD Agent 系统的另外两个重要维度——gsd-doc-writergsd-ai-researcher。文档 Agent 如何确保代码变更与文档同步?研究 Agent 如何在规划阶段提供深度技术调研?它们如何与 Planner、Executor 形成完整的知识生产闭环?敬请期待!