关于 multi-model-code-review
multi-model-code-review 是通过多个 AI 模型审查代码改动的工作流技能,面向希望在人工审查前发现问题的开发者。它并行收集评审意见、综合反馈、实施修复,并可重复审查。
主要功能
- 01准备分支专属审查上下文
- 02并行调用多个模型评审
- 03分类并综合评审反馈
- 04根据反馈实施修复
- 05必要时重复审查
适用场景
- 01在提交人工审查前检查改动
- 02比较不同模型发现的问题
- 03根据评审意见迭代修复代码
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cosmastech/ skills --skill multi-model-code-review安装后在 Claude Code 中输入/multi-model-code-review确认已加载。
附带文件assets/code-review-prompt-template.md
详细介绍
多模型代码审查
使用多个 AI 模型审查代码变更,在人工审查前发现问题。每个模型独立审查,汇总反馈、进行修改,然后重复这一流程,直到代码足够完善。
前提条件
至少安装并完成身份验证的智能 CLI:
| CLI | 验证方式 | 打印模式标志 |
|---|---|---|
| Cursor Agent | agent --version | agent --model <model> --print "<prompt>" |
| Claude Code | claude --version | claude --model <model> -p "<prompt>" |
| OpenAI Codex | codex --version | codex --model <model> -q "<prompt>" |
如果已安装 Cursor 的 agent,始终优先使用它并指定模型,而不是混用不同的 CLI 工具。
工作流
1. 准备审查上下文
创建一个限定于当前分支的工作目录,确保不同审查的产物不会相互冲突:
BRANCH=$(git rev-parse --abbrev-ref HEAD)
REVIEW_DIR="/tmp/code-review-${BRANCH}"
mkdir -p "$REVIEW_DIR"
收集差异内容以及审查者所需的相关上下文。使用
assets/code-review-prompt-template.md 中的模板,将其写入
$REVIEW_DIR/。
git diff <parent-branch>...HEAD > "$REVIEW_DIR/diff.txt"
在 $REVIEW_DIR/review.md 中编写审查提示词。内容包括:
- 来源 — 工作的来源(工单链接、用户对话、事件、规格说明/RFC)。这能让审查者了解“原因”。
- 变更内容及原因 — 简要概述目标。
- 差异内容 — 实际的代码变更。
- 关键文件 — 新建或大幅修改文件的完整内容(仅有差异可能无法为新类提供足够上下文)。
- 相关约定 — 审查者应遵循的项目专属模式(例如命名、日志记录和测试约定)。
2. 并行发送给模型
在一条消息中同时发起两项审查请求,让它们并行运行。 使用用户偏好的 CLI 和模型。如果用户没有指定,则应始终使用来自两个不同提供商的最新高思考能力模型。
不要假设哪些模型可用。始终先通过 CLI 工具检查。
例如:
将每个模型的输出保存到 $REVIEW_DIR/,以便结果与生成它们的提示词一同保留:
# Cursor Agent
agent --model gpt-5.5-extra-high --print "$(cat "$REVIEW_DIR/review.md")" 2>&1 | tee "$REVIEW_DIR/response-gpt.md"
agent --model claude-opus-4-7-thinking-xhigh --print "$(cat "$REVIEW_DIR/review.md")" 2>&1 | tee "$REVIEW_DIR/response-opus.md"
# Claude Code
claude --model claude-sonnet-4-20250514 -p "$(cat "$REVIEW_DIR/review.md")" 2>&1 | tee "$REVIEW_DIR/response-sonnet.md"
# OpenAI Codex
codex --model o3 -q "$(cat "$REVIEW_DIR/review.md")" 2>&1 | tee "$REVIEW_DIR/response-o3.md"
3. 汇总反馈
收到两份回复后:
- 将每条反馈归类为关键、建议或琐碎。
- 找出共识——这些是可信度较高的问题。
- 找出分歧——通过检查实际代码库来判断哪个模型的看法正确。
- 对错误的反馈提出质疑(参见下方的指南)。
- 向用户总结汇总结果。
4. 实施修复
处理关键和建议类反馈。对于每项修复:
- 进行修改。
- 说明这项修改是由哪位审查者的反馈促成的。
5. 必要时重新审查
将更新后的代码发回进行新一轮审查。 琐碎修复(拼写错误、注释调整)无需重新审查。
重复上述流程,直到:
- 没有尚未解决的关键问题。
- 两个模型都通过,或仅建议进行少量修改后通过。
6. 提交人工审查
AI 审查者认可后,推送分支并创建 MR/PR。 AI 审查轮次是质量门槛,而不是人工审查的替代品。
准则
- 始终使用思考型模型。 代码审查需要深入推理代码行为、边界情况和执行顺序。切勿使用非思考型模型(例如
gpt-4o、claude-sonnet)。请使用具备扩展思考能力的模型(例如gpt-5.3-codex-high、composer-2、claude-sonnet-4-thinking、o3)。 - 使用不同的提供商。 同一提供商的模型存在相同的训练偏见。至少使用两个不同的提供商,以获得真正多元的观点。
- 在不提供先前背景的情况下发送审查请求。 不要在审查提示词中加入你自己的评估或观点。每个模型都必须仅根据代码独立判断。
- 质疑错误的反馈。 达成共识不等于盲从。如果审查者建议的修改与项目惯例相矛盾、误读了代码或会引入回归,就要提供证据并提出异议。在下一轮审查中附上更正,让模型结合背景进行判断。模型再自信,也不代表它一定正确。
- 让审查者查看代码库。 使用支持工作区访问的 CLI 时(例如带有
--print参数的agent),请从仓库根目录运行,以便审查者读取差异之外的文件,了解更多背景。 - 不要敷衍了事。 如果两个模型都认为“看起来没问题”,但你发现了问题,就要指出来。模型是审查者,不是权威。
- 保留现有测试覆盖率。 如果审查者建议移除或削弱测试,除非有明确理由(例如测试断言的是已更改的实现细节),否则应拒绝。