Skip to content

使用示例:多代理协作代码审核

本文档演示如何使用 Vibe Kanban 编排多个 AI 代理进行全面的代码审核,检测 Bug、安全漏洞和性能问题,并生成带有完整解决方案的中文审核报告。

场景背景

代码审核是保证代码质量的重要环节。使用多个 AI 代理协作审核可以:

  • 从不同角度发现问题
  • 交叉验证减少误报
  • 并行处理提高效率
  • 生成全面的审核报告

核心约束

  • 禁止修改任何源代码 - 所有代理只能读取代码
  • ✅ 只能在 .code_review/ 目录下生成审核报告
  • 🔄 所有问题必须经过二次确认验证
  • 📝 报告使用中文 Markdown 格式
  • 💡 必须提供完整的解决方案

审核报告结构

.code_review/
├── 2024-01-20_143052/                    # 审核时间戳目录
│   ├── 00_审核摘要.md                    # 总体摘要
│   ├── 01_Bug分析报告.md                 # Bug 详细报告
│   ├── 02_安全漏洞报告.md                # 安全问题报告
│   ├── 03_性能问题报告.md                # 性能问题报告
│   ├── 04_二次验证报告.md                # 验证确认报告
│   └── 05_最终审核报告.md                # 整合后的最终报告
└── latest -> 2024-01-20_143052/          # 指向最新报告的软链接

工作流设计

整体流程图

┌─────────────────────────────────────────────────────────────────────────┐
│                    Vibe Kanban - 代码审核工作流                          │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  阶段 1: 准备          阶段 2: 并行审核          阶段 3: 验证            │
│  ┌──────────┐         ┌──────────────┐         ┌──────────┐            │
│  │ 代码结构 │────────▶│   并行审核   │────────▶│ 二次确认 │            │
│  │   分析   │         │              │         │   验证   │            │
│  └──────────┘         └──────────────┘         └──────────┘            │
│       │                      │                       │                  │
│       ▼                      ▼                       ▼                  │
│  Claude Code           ┌─────────────┐          Claude Code            │
│  (只读分析)            │ Claude Code │ Bug      (交叉验证)             │
│                        │ Gemini CLI  │ Security                        │
│                        │ Codex CLI   │ Perf                            │
│                        └─────────────┘                                  │
│                                                                         │
│  阶段 4: 报告生成                                                        │
│  ┌──────────────────────────────────────────────────────────┐          │
│  │              生成最终中文 Markdown 报告                    │          │
│  │              包含问题描述 + 完整解决方案                   │          │
│  └──────────────────────────────────────────────────────────┘          │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

代理分工策略

阶段任务代理模式说明
1代码结构分析Claude CodePlan (只读)建立代码地图
2.1Bug 检测Claude CodePlan (只读)逻辑错误、边界问题
2.2安全漏洞扫描Gemini CLIPlan (只读)OWASP Top 10、注入攻击
2.3性能问题分析Codex CLIPlan (只读)算法复杂度、资源泄漏
3二次验证Claude CodePlan (只读)交叉验证所有发现
4报告生成Claude CodeBuild生成中文 Markdown 报告

MCP 服务配置

json
{
  "mcp": {
    "servers": {
      "filesystem": {
        "type": "local",
        "command": ["mcp-server-filesystem"],
        "args": ["--root", "/path/to/project"],
        "enabled": true,
        "permissions": {
          "read": ["**/*"],
          "write": [".code_review/**/*"],
          "deny_write": [
            "src/**/*",
            "lib/**/*",
            "include/**/*",
            "app/**/*",
            "tests/**/*",
            "*.ts",
            "*.js",
            "*.py",
            "*.go",
            "*.java",
            "*.cpp",
            "*.c",
            "*.h",
            "*.rs"
          ]
        }
      }
    }
  },
  "constraints": {
    "protected_paths": ["**/*.ts", "**/*.js", "**/*.py", "**/*.go", "**/*.java", "**/*.cpp", "**/*.c", "**/*.h", "**/*.rs", "**/*.vue", "**/*.jsx", "**/*.tsx"],
    "writable_paths": [".code_review/**/*"],
    "on_violation": "block_and_abort",
    "violation_message": "⛔ 代码审核模式禁止修改任何源代码!只能在 .code_review/ 目录下生成报告。"
  }
}

详细任务设计与提示词

阶段 1:代码结构分析

任务:建立代码地图

markdown
## 任务描述
分析项目代码结构,建立完整的代码地图,为后续审核提供基础信息。

## 🔒 严格约束(必须遵守)
-**绝对禁止**修改任何源代码文件
-**绝对禁止**创建、编辑、删除 .code_review/ 目录以外的任何文件
- ✅ 此阶段为**纯分析阶段**,只读取和分析代码
- ✅ 将分析结果保存在内存中,传递给下一阶段

## 交付物
1. 项目技术栈识别
2. 目录结构分析
3. 核心模块依赖关系
4. 入口点和关键路径识别
5. 第三方依赖清单

## 提示词

```
你是一个专业的代码结构分析师。你的任务是分析项目代码结构,为后续的代码审核提供基础信息。

【绝对约束 - 违反将导致任务失败】
1. 你只能读取代码,绝对不能修改任何文件
2. 你不能创建任何文件(此阶段不生成报告)
3. 你不能执行任何可能改变代码的操作

【分析任务】
请对项目进行全面的结构分析:

1. **技术栈识别**
   - 编程语言和版本
   - 框架和库
   - 构建工具和包管理器

2. **目录结构分析**
   - 源代码目录布局
   - 配置文件位置
   - 测试代码位置
   - 静态资源位置

3. **模块依赖分析**
   - 核心模块识别
   - 模块间依赖关系
   - 外部服务依赖

4. **关键路径识别**
   - 应用入口点
   - 核心业务流程
   - 数据流向

5. **第三方依赖**
   - 依赖清单
   - 版本信息
   - 已知漏洞依赖(如有)

【输出格式】
以结构化的方式整理分析结果,供后续审核任务使用。不需要生成文件。
```

指派代理:Claude Code (Plan 模式) 约束:只读模式


阶段 2.1:Bug 检测

任务:深度 Bug 检测分析

markdown
## 任务描述
对代码进行深度 Bug 检测,识别逻辑错误、边界问题、异常处理缺陷等。

## 🔒 严格约束(必须遵守)
-**绝对禁止**修改任何源代码文件
-**绝对禁止**尝试"修复"你发现的任何问题
- ✅ 只读取和分析代码
- ✅ 将发现的问题记录下来,传递给验证阶段

## Bug 检测清单
- [ ] 空指针/未定义引用
- [ ] 数组越界访问
- [ ] 整数溢出
- [ ] 资源泄漏(内存、文件句柄、连接)
- [ ] 竞态条件
- [ ] 死锁风险
- [ ] 异常处理缺陷
- [ ] 逻辑错误
- [ ] 边界条件处理
- [ ] 类型转换错误

## 提示词

```
你是一个资深的 Bug 猎人和代码质量专家。你的任务是对代码进行深度 Bug 检测。

【绝对约束 - 违反将导致任务失败】
1. 你只能读取代码进行分析,绝对不能修改任何文件
2. 你不能尝试"修复"任何发现的问题
3. 你不能执行任何写入操作
4. 发现问题后,只记录不修改

【检测范围】
请对代码进行以下类型的 Bug 检测:

## 1. 内存和资源问题
- 空指针解引用风险
- 未初始化变量使用
- 内存泄漏
- 资源未释放(文件句柄、数据库连接、网络连接)
- 双重释放

## 2. 逻辑错误
- 条件判断错误(off-by-one、边界条件)
- 循环终止条件错误
- 短路求值误用
- 逻辑运算符混淆(&& vs &, || vs |)
- 比较运算错误(== vs ===, = vs ==)

## 3. 并发问题
- 竞态条件
- 死锁风险
- 数据竞争
- 原子性违反
- 线程安全问题

## 4. 异常处理
- 未捕获的异常
- 空的 catch 块
- 异常吞没
- 错误的异常类型捕获
- 资源清理缺失(finally/defer)

## 5. 数据处理
- 类型转换错误
- 精度丢失
- 编码问题
- 数据截断
- 溢出风险

## 6. API 使用
- 废弃 API 使用
- API 误用
- 返回值未检查
- 参数校验缺失

【输出要求】
对于每个发现的问题,请记录:
1. 问题位置(文件路径:行号)
2. 问题类型(从上述分类中选择)
3. 严重程度(Critical/High/Medium/Low)
4. 问题描述(清晰描述问题是什么)
5. 触发条件(在什么情况下会触发此 Bug)
6. 潜在影响(此 Bug 可能造成什么后果)

【注意】
- 只记录高置信度的问题,避免过多误报
- 优先关注 Critical 和 High 级别问题
- 记录足够的上下文信息以便后续验证
```

指派代理:Claude Code (Plan 模式) 约束:只读模式


阶段 2.2:安全漏洞扫描

任务:安全漏洞深度扫描

markdown
## 任务描述
对代码进行安全漏洞扫描,识别 OWASP Top 10 及其他常见安全问题。

## 🔒 严格约束(必须遵守)
-**绝对禁止**修改任何源代码文件
-**绝对禁止**尝试"修复"安全漏洞
- ✅ 只读取和分析代码
- ✅ 将发现的漏洞记录下来,传递给验证阶段

## 安全检测清单(OWASP Top 10 + 其他)
- [ ] A01: 访问控制失效
- [ ] A02: 加密失败
- [ ] A03: 注入攻击(SQL、NoSQL、OS、LDAP)
- [ ] A04: 不安全设计
- [ ] A05: 安全配置错误
- [ ] A06: 易受攻击和过时的组件
- [ ] A07: 身份认证失败
- [ ] A08: 软件和数据完整性失败
- [ ] A09: 安全日志和监控失败
- [ ] A10: 服务端请求伪造 (SSRF)
- [ ] XSS 跨站脚本攻击
- [ ] CSRF 跨站请求伪造
- [ ] 敏感信息泄露
- [ ] 不安全的反序列化
- [ ] 路径遍历

## 提示词

```
你是一个专业的安全审计专家,精通 OWASP Top 10 和各类安全漏洞检测。你的任务是对代码进行全面的安全审计。

【绝对约束 - 违反将导致任务失败】
1. 你只能读取代码进行分析,绝对不能修改任何文件
2. 你不能尝试"修复"任何安全漏洞
3. 你不能执行任何写入操作
4. 发现漏洞后,只记录不修改

【安全审计范围】

## 1. 注入类漏洞 (Injection)
检查以下注入风险:
- **SQL 注入**:字符串拼接 SQL、未使用参数化查询
- **NoSQL 注入**:MongoDB 查询构造、JSON 注入
- **命令注入**:shell 命令执行、exec/system 调用
- **LDAP 注入**:目录服务查询
- **XPath 注入**:XML 查询
- **表达式注入**:模板引擎、EL 表达式

关注点:
- 用户输入直接拼接到查询/命令中
- 缺少输入验证和转义
- 动态代码执行

## 2. 身份认证和会话管理
- 硬编码凭证
- 弱密码策略
- 明文存储密码
- 不安全的会话管理
- 缺少多因素认证
- 会话固定攻击风险
- JWT 实现缺陷

## 3. 敏感数据暴露
- 敏感信息明文传输
- 敏感信息明文存储
- 日志中记录敏感信息
- 错误信息泄露敏感数据
- API 响应包含过多信息
- 硬编码的 API 密钥/密码

## 4. 访问控制
- 垂直越权(普通用户访问管理功能)
- 水平越权(用户A访问用户B数据)
- 缺少权限检查
- 不安全的直接对象引用 (IDOR)
- 路径遍历

## 5. XSS 跨站脚本
- 反射型 XSS
- 存储型 XSS
- DOM 型 XSS
- 缺少输出编码
- 不安全的 innerHTML 使用

## 6. 不安全的配置
- 调试模式在生产环境启用
- 默认凭证未修改
- 不必要的服务/端口暴露
- 错误的 CORS 配置
- 缺少安全 HTTP 头

## 7. 加密问题
- 使用弱加密算法(MD5、SHA1、DES)
- 不安全的随机数生成
- 密钥管理不当
- 缺少 HTTPS
- 证书验证禁用

## 8. 其他安全问题
- 不安全的反序列化
- SSRF 服务端请求伪造
- XXE XML 外部实体注入
- 文件上传漏洞
- 开放重定向

【输出要求】
对于每个发现的漏洞,请记录:
1. 漏洞位置(文件路径:行号)
2. 漏洞类型(OWASP 分类或其他)
3. 严重程度(Critical/High/Medium/Low)
4. CVSS 评分估算(如适用)
5. 漏洞描述(清晰描述漏洞是什么)
6. 攻击向量(攻击者如何利用此漏洞)
7. 潜在影响(成功利用后的后果)
8. 相关 CWE 编号(如 CWE-89 SQL注入)

【注意】
- 优先关注 Critical 和 High 级别漏洞
- 提供足够的上下文以便验证
- 避免误报,只记录高置信度的发现
```

指派代理:Gemini CLI (Plan 模式) 约束:只读模式


阶段 2.3:性能问题分析

任务:性能问题深度分析

markdown
## 任务描述
对代码进行性能问题分析,识别算法复杂度问题、资源使用效率问题等。

## 🔒 严格约束(必须遵守)
-**绝对禁止**修改任何源代码文件
-**绝对禁止**尝试"优化"代码
- ✅ 只读取和分析代码
- ✅ 将发现的问题记录下来,传递给验证阶段

## 性能检测清单
- [ ] 算法复杂度问题(O(n²) 或更高)
- [ ] N+1 查询问题
- [ ] 不必要的循环/递归
- [ ] 内存使用效率
- [ ] 缓存缺失或无效
- [ ] 同步阻塞操作
- [ ] 资源池配置不当
- [ ] 大对象频繁创建
- [ ] 字符串拼接效率
- [ ] 正则表达式性能

## 提示词

```
你是一个性能优化专家,精通各种编程语言的性能分析和优化。你的任务是对代码进行全面的性能审计。

【绝对约束 - 违反将导致任务失败】
1. 你只能读取代码进行分析,绝对不能修改任何文件
2. 你不能尝试"优化"任何代码
3. 你不能执行任何写入操作
4. 发现问题后,只记录不修改

【性能审计范围】

## 1. 算法复杂度问题
- 嵌套循环导致的 O(n²) 或更高复杂度
- 不必要的重复计算
- 可以用哈希表优化的线性查找
- 递归没有记忆化
- 排序算法选择不当

检查模式:
```
# O(n²) 模式
for item1 in list1:
    for item2 in list2:  # 可能需要优化
        if item1 == item2:
            ...
```

## 2. 数据库性能
- N+1 查询问题
- 缺少索引的查询
- 全表扫描
- 过度查询(SELECT *)
- 缺少分页
- 未使用连接池
- 事务范围过大

## 3. I/O 性能
- 同步阻塞 I/O 在关键路径
- 频繁的小文件读写
- 缺少缓冲
- 未使用流式处理大文件
- 网络请求未并发

## 4. 内存使用
- 大对象频繁创建销毁
- 内存泄漏风险
- 缓存无界增长
- 字符串拼接在循环中(应用 StringBuilder/Buffer)
- 不必要的数据复制

## 5. 并发性能
- 锁粒度过大
- 锁竞争严重
- 线程/协程创建过多
- 线程池配置不当
- 异步操作未正确使用

## 6. 缓存问题
- 可缓存的重复计算
- 缓存命中率低
- 缓存过期策略不当
- 缓存穿透/雪崩风险
- 本地缓存 vs 分布式缓存选择不当

## 7. 序列化/反序列化
- 频繁的 JSON 解析
- 大对象序列化
- 不必要的深拷贝
- 反射使用过度

## 8. 资源管理
- 连接池大小不合理
- 连接未正确关闭
- 线程池配置不当
- 资源泄漏

【输出要求】
对于每个发现的问题,请记录:
1. 问题位置(文件路径:行号)
2. 问题类型(从上述分类中选择)
3. 严重程度(Critical/High/Medium/Low)
4. 性能影响估算(如:O(n) -> O(n²)、响应时间增加 X%)
5. 问题描述(清晰描述问题是什么)
6. 触发场景(在什么数据量/并发下会出现问题)
7. 潜在影响(对系统性能的具体影响)

【注意】
- 关注实际会影响性能的问题,避免过度优化建议
- 优先关注热点路径上的性能问题
- 提供足够的上下文以便验证
```

指派代理:Codex CLI (Plan 模式) 约束:只读模式


阶段 3:二次确认验证

任务:交叉验证所有发现

markdown
## 任务描述
对前面阶段发现的所有问题进行二次验证,确认真实性,过滤误报。

## 🔒 严格约束(必须遵守)
-**绝对禁止**修改任何源代码文件
- ✅ 只读取和分析代码
- ✅ 对每个发现进行独立验证

## 提示词

```
你是一个资深的代码审核验证专家。你的任务是对其他审核员发现的问题进行独立的二次验证。

【绝对约束 - 违反将导致任务失败】
1. 你只能读取代码进行验证,绝对不能修改任何文件
2. 你必须独立验证每个问题,不能假设前面的发现都是正确的
3. 你不能执行任何写入操作

【验证任务】
你将收到以下类型的问题报告:
1. Bug 检测报告
2. 安全漏洞报告
3. 性能问题报告

对于每个报告的问题,请执行以下验证步骤:

## 验证流程

### 步骤 1:定位验证
- 确认问题所在的文件和行号是否正确
- 确认代码是否确实存在于该位置

### 步骤 2:问题存在性验证
- 独立分析该代码段
- 确认问题是否真实存在
- 检查是否有被忽略的上下文(如:已有的防护措施)

### 步骤 3:严重程度验证
- 评估问题的实际影响
- 确认严重程度评级是否合理
- 如有必要,调整严重程度

### 步骤 4:可利用性验证(针对安全问题)
- 分析攻击路径是否真实可行
- 检查是否有其他防护层
- 评估实际风险

### 步骤 5:影响范围验证
- 确认影响范围是否准确
- 检查是否有遗漏的影响点

## 验证结果分类

对于每个问题,给出以下验证结论之一:

1. **✅ 确认 (Confirmed)**
   - 问题真实存在
   - 严重程度评估准确
   - 无需修改原报告

2. **⚠️ 部分确认 (Partially Confirmed)**
   - 问题存在但需要调整
   - 说明需要调整的内容(如严重程度、影响范围)

3. **❌ 误报 (False Positive)**
   - 问题不存在或已有防护
   - 详细说明为什么是误报

4. **🔍 需要更多信息 (Need More Info)**
   - 无法确定问题是否存在
   - 说明需要什么额外信息

## 输出格式

对于每个验证的问题:

```
### 问题 ID: [原报告中的问题编号]
- 原始位置: [文件:行号]
- 原始类型: [Bug/Security/Performance]
- 原始严重程度: [Critical/High/Medium/Low]

**验证结论**: [✅ 确认 / ⚠️ 部分确认 / ❌ 误报 / 🔍 需要更多信息]

**验证说明**:
[详细说明验证过程和结论依据]

**调整建议**(如适用):
[如需调整严重程度或描述,在此说明]
```

【注意】
- 保持客观,不要因为想减少问题数量而轻易判定为误报
- 也不要因为想显得严格而确认不存在的问题
- 如有疑问,倾向于保留问题并标注需要更多验证
```

指派代理:Claude Code (Plan 模式) 约束:只读模式


阶段 4:生成最终报告

任务:生成中文 Markdown 审核报告

markdown
## 任务描述
基于所有验证后的发现,生成完整的中文 Markdown 格式审核报告,包含问题描述和完整解决方案。

## 🔒 约束条件
-**绝对禁止**修改任何源代码文件
- ✅ 只能在 `.code_review/` 目录下创建报告文件
- ✅ 报告必须使用中文
- ✅ 报告必须使用 Markdown 格式
- ✅ 每个问题必须提供完整的解决方案

## 报告文件结构
```
.code_review/
└── YYYY-MM-DD_HHMMSS/
    ├── 00_审核摘要.md
    ├── 01_Bug分析报告.md
    ├── 02_安全漏洞报告.md
    ├── 03_性能问题报告.md
    ├── 04_二次验证报告.md
    └── 05_最终审核报告.md
```

## 提示词

```
你是一个专业的技术文档撰写专家。你的任务是将所有经过验证的审核发现整理成完整、专业的中文 Markdown 格式报告。

【绝对约束 - 违反将导致任务失败】
1. 绝对不能修改任何源代码文件
2. 只能在 .code_review/ 目录下创建文件
3. 报告必须使用中文
4. 每个问题必须提供完整、可执行的解决方案

【创建报告目录】
首先,创建以当前日期时间命名的目录:
.code_review/YYYY-MM-DD_HHMMSS/

【报告模板】

## 00_审核摘要.md

```markdown
# 代码审核摘要报告

## 基本信息

| 项目 | 信息 |
|------|------|
| 项目名称 | [项目名] |
| 审核时间 | YYYY-MM-DD HH:MM:SS |
| 审核范围 | [涵盖的目录/模块] |
| 代码行数 | [总代码行数] |
| 审核工具 | Vibe Kanban 多代理协作审核 |

## 审核结果概览

| 问题类型 | Critical | High | Medium | Low | 总计 |
|----------|----------|------|--------|-----|------|
| Bug | X | X | X | X | X |
| 安全漏洞 | X | X | X | X | X |
| 性能问题 | X | X | X | X | X |
| **总计** | **X** | **X** | **X** | **X** | **X** |

## 风险评估

### 整体风险等级: [高/中/低]

[简要说明整体风险评估依据]

## 优先处理建议

按优先级排序的待处理问题:

1. 🔴 **[Critical]** [问题简述] - [文件位置]
2. 🔴 **[Critical]** [问题简述] - [文件位置]
3. 🟠 **[High]** [问题简述] - [文件位置]
...

## 审核团队

| 审核阶段 | 负责代理 | 状态 |
|----------|----------|------|
| 代码结构分析 | Claude Code | ✅ 完成 |
| Bug 检测 | Claude Code | ✅ 完成 |
| 安全漏洞扫描 | Gemini CLI | ✅ 完成 |
| 性能问题分析 | Codex CLI | ✅ 完成 |
| 二次验证 | Claude Code | ✅ 完成 |
| 报告生成 | Claude Code | ✅ 完成 |
```

## 01_Bug分析报告.md / 02_安全漏洞报告.md / 03_性能问题报告.md

每个问题报告使用以下模板:

```markdown
# [类型]分析报告

## 概述

- **发现问题总数**: X 个
- **Critical**: X 个
- **High**: X 个
- **Medium**: X 个
- **Low**: X 个

---

## 问题详情

### 问题 #1: [问题标题]

#### 基本信息

| 属性 | 值 |
|------|-----|
| 严重程度 | 🔴 Critical / 🟠 High / 🟡 Medium / 🟢 Low |
| 问题类型 | [具体类型] |
| 文件位置 | `path/to/file.ts:123` |
| 发现阶段 | [Bug检测/安全扫描/性能分析] |
| 验证状态 | ✅ 已确认 |

#### 问题描述

[详细描述问题是什么,用通俗易懂的中文解释]

#### 问题代码

```[language]
// 文件: path/to/file.ts
// 行号: 120-130

[展示有问题的代码片段]
```

#### 触发条件

[描述在什么情况下会触发这个问题]

#### 潜在影响

[描述这个问题可能造成的后果]

#### ✅ 解决方案

**方案概述**: [一句话概述解决思路]

**修复步骤**:

1. [步骤1]
2. [步骤2]
3. [步骤3]

**修复后代码**:

```[language]
// 文件: path/to/file.ts
// 修改行号: 120-130

[展示修复后的完整代码]
```

**验证方法**:

[描述如何验证修复是否成功]

---

### 问题 #2: [问题标题]
...
```

## 04_二次验证报告.md

```markdown
# 二次验证报告

## 验证概述

| 指标 | 数量 |
|------|------|
| 总审核问题数 | X |
| ✅ 确认 | X |
| ⚠️ 部分确认 | X |
| ❌ 误报 | X |
| 🔍 待定 | X |
| **有效问题数** | **X** |

## 验证详情

[列出每个问题的验证结果]
```

## 05_最终审核报告.md

```markdown
# 最终代码审核报告

[整合所有报告的完整版本,包含:]
1. 执行摘要
2. 所有确认的问题(按严重程度排序)
3. 每个问题的完整解决方案
4. 修复优先级建议
5. 预估修复工作量
6. 后续建议
```

【解决方案要求】
每个问题的解决方案必须包含:

1. **明确的修复步骤** - 具体到每一步操作
2. **完整的修复代码** - 可以直接复制使用的代码
3. **代码解释** - 解释为什么这样修复
4. **验证方法** - 如何确认修复成功
5. **注意事项** - 修复时需要注意的点

【输出要求】
1. 创建 .code_review/YYYY-MM-DD_HHMMSS/ 目录
2. 生成所有 6 个报告文件
3. 更新 .code_review/latest 软链接指向最新报告目录
4. 所有报告使用中文
5. 所有报告使用 Markdown 格式
```

指派代理:Claude Code (Build 模式) 约束:只能写入 .code_review/ 目录


完整工作流配置文件

yaml
# vibe-kanban-code-review.yaml
name: "Multi-Agent Code Review"
description: "多代理协作代码审核工作流"

# 全局约束配置 - 绝对禁止修改源代码
constraints:
  protected_paths:
    - "**/*.ts"
    - "**/*.js"
    - "**/*.tsx"
    - "**/*.jsx"
    - "**/*.py"
    - "**/*.go"
    - "**/*.java"
    - "**/*.cpp"
    - "**/*.c"
    - "**/*.h"
    - "**/*.rs"
    - "**/*.vue"
    - "**/*.rb"
    - "**/*.php"
    - "**/*.swift"
    - "**/*.kt"
    - "src/**/*"
    - "lib/**/*"
    - "app/**/*"
    - "include/**/*"
  writable_paths:
    - ".code_review/**/*"
  on_violation: "block_and_abort"
  violation_message: "⛔ 代码审核模式严禁修改源代码!任务已终止。"

# 报告配置
report:
  output_dir: ".code_review"
  format: "markdown"
  language: "zh-CN"
  timestamp_format: "YYYY-MM-DD_HHMMSS"
  create_latest_link: true

stages:
  - name: structure-analysis
    description: "代码结构分析"
    agent: claude-code
    mode: plan
    timeout: 15m
    constraints:
      read_only: true

  - name: parallel-review
    description: "并行代码审核"
    parallel: true
    depends_on: [structure-analysis]
    tasks:
      - name: bug-detection
        description: "Bug 检测"
        agent: claude-code
        mode: plan
        timeout: 30m
        constraints:
          read_only: true

      - name: security-scan
        description: "安全漏洞扫描"
        agent: gemini-cli
        mode: plan
        timeout: 30m
        constraints:
          read_only: true

      - name: performance-analysis
        description: "性能问题分析"
        agent: codex-cli
        mode: plan
        timeout: 25m
        constraints:
          read_only: true

  - name: verification
    description: "二次验证"
    agent: claude-code
    mode: plan
    depends_on: [parallel-review]
    timeout: 20m
    constraints:
      read_only: true

  - name: report-generation
    description: "生成审核报告"
    agent: claude-code
    mode: build
    depends_on: [verification]
    timeout: 30m
    constraints:
      writable_paths: [".code_review/**/*"]
    outputs:
      - ".code_review/${timestamp}/00_审核摘要.md"
      - ".code_review/${timestamp}/01_Bug分析报告.md"
      - ".code_review/${timestamp}/02_安全漏洞报告.md"
      - ".code_review/${timestamp}/03_性能问题报告.md"
      - ".code_review/${timestamp}/04_二次验证报告.md"
      - ".code_review/${timestamp}/05_最终审核报告.md"

success_criteria:
  source_code_unchanged: true
  reports_generated: true
  all_issues_have_solutions: true

最佳实践

1. 代码保护策略(最重要)

yaml
# 四层防护机制
protection:
  # 层级 1:MCP 文件系统权限
  mcp_permissions:
    deny_write: ["**/*.ts", "**/*.js", "**/*.py", "src/**/*"]
    allow_write: [".code_review/**/*"]

  # 层级 2:工作流约束
  workflow_constraints:
    all_stages_read_only: true  # 除报告生成外
    on_violation: "block_and_abort"

  # 层级 3:Git 预检查
  git_hooks:
    pre_commit: |
      # 检查是否有源代码被修改
      if git diff --name-only | grep -vE '^\.code_review/' | grep -qE '\.(ts|js|py|go|java|cpp)$'; then
        echo "❌ 错误:检测到源代码被修改!代码审核不应修改任何源代码。"
        git diff --name-only | grep -vE '^\.code_review/'
        exit 1
      fi

  # 层级 4:审核后验证
  post_review:
    verify_no_changes: true
    command: "git diff --exit-code src/ lib/ app/"

2. 二次验证的重要性

  • 不同代理可能有不同的误报率
  • 交叉验证可以显著提高准确性
  • 确保每个报告的问题都是真实存在的
  • 减少开发者处理误报的时间浪费

3. 解决方案质量标准

每个解决方案必须达到以下标准:

标准要求
完整性提供可直接使用的完整代码
可执行性开发者可以直接复制修复
解释性说明为什么这样修复
可验证性提供验证修复成功的方法
无副作用修复不会引入新问题

4. 报告语言规范

  • 使用准确、专业的中文技术术语
  • 避免中英文混杂(专有名词除外)
  • 代码注释使用中文
  • 问题描述要通俗易懂

预期成果

指标说明
问题覆盖率发现 80%+ 的代码问题
误报率经二次验证后 < 10%
解决方案完整性100% 问题提供解决方案
源代码完整性0 文件被修改

审核报告示例输出

.code_review/
└── 2024-01-20_143052/
    ├── 00_审核摘要.md           (2KB)
    ├── 01_Bug分析报告.md        (15KB, 12个问题)
    ├── 02_安全漏洞报告.md       (18KB, 8个问题)
    ├── 03_性能问题报告.md       (10KB, 6个问题)
    ├── 04_二次验证报告.md       (8KB)
    └── 05_最终审核报告.md       (45KB, 完整报告)

下一步

aicodex 文档网站