跳转到内容

用多个 AI 模型自动化代码审查 — 告别单一视角

AI 代码审查已经不新鲜了。但你有没有想过:一个 AI 模型审查代码,和两个 AI 模型独立审查再合并,效果差多少?

答案是:差很多。就像人类 code review 需要多个 reviewer 一样,AI 审查也需要多视角。

单个模型做 code review 的典型问题:

  • 偏好一致性:同一个模型倾向于用同样的模式思考,容易漏掉它不熟悉领域的问题
  • 前后端割裂:擅长后端的模型可能忽略前端 XSS 风险,反之亦然
  • 确认偏误:模型可能对自己生成的代码过于宽容

CCG Workflow 的 review-audit 策略实现了真正的交叉审查:

> /ccg:go review 最近的代码改动

执行流程:

  1. 自动获取 git diff
  2. Codex 独立审查 — 关注后端逻辑、API 安全、数据一致性
  3. Gemini 独立审查 — 关注前端交互、XSS 风险、可访问性
  4. Claude 合并两份 findings,去重分级

输出格式:

## Review Report
### Critical
- [Codex] SQL injection risk in user query (line 42)
- [Gemini] Unsanitized innerHTML usage (line 158)
### Warning
- [Codex] Missing transaction rollback on error path
- [Gemini] Button missing aria-label for accessibility
### Info
- [Codex] Consider indexing the `created_at` column
- [Gemini] Component could be memoized for performance

关键:两个模型是独立审查,不知道对方的 findings。这避免了锚定效应——一个模型的结论不会影响另一个。

以一个典型的全栈 PR(认证模块改动)为例:

发现类型只用 ClaudeCCG 双模型审查
SQL 注入风险✅ 发现✅ 发现(Codex)
XSS 风险❌ 遗漏✅ 发现(Gemini)
竞态条件✅ 发现✅ 发现(Codex)
可访问性问题❌ 遗漏✅ 发现(Gemini)
缺失事务回滚⚠️ 可能发现✅ 发现(Codex)
CSS 性能问题❌ 遗漏✅ 发现(Gemini)

双模型覆盖率显著更高,尤其在跨领域问题上。

> /ccg:go 审查这次重构是否保持了行为等价

引擎使用 refactor-safely 策略:

  • 一个模型审查重构前代码的行为语义
  • 另一个模型验证重构后代码是否一致
  • 确保重构没有偷偷改变行为
/ccg:spec-review

在 OpenSpec 流程中,代码实现完成后触发双模型审查,验证实现是否满足所有约束。

> /ccg:go review this PR against the requirements

结合需求文档和代码 diff,双模型从不同角度验证实现完整性。

除了人工触发的审查,CCG 在复杂任务的策略流程中自动运行质量关卡

  • verify-security — 扫描安全漏洞(注入、越权、硬编码密钥等)
  • verify-quality — 检查复杂度、命名规范、函数长度等
  • verify-change — 分析变更影响范围,检查文档是否同步

这些关卡在 full-collaborateguided-develop 策略的验证阶段自动执行,不需要手动触发。

Terminal window
npx ccg-workflow

安装后,在 Claude Code 中用自然语言触发审查:

> /ccg:go review the changes on this branch
> /ccg:go 审查最近 3 个 commit 的代码质量
> /ccg:go security review the auth module

引擎自动选择最合适的审查策略。


了解更多:策略系统 | 质量关卡 | GitHub