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 が少なくとも 1 つインストールされ、認証されている必要があります。
| 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. 複数のモデルに並行して送信する
両方のレビュー依頼を 1 つのメッセージで送信し、並行して実行します。ユーザーが希望する CLI とモデルを使用してください。ユーザーから指定がない場合は、異なる 2 つのプロバイダーから、思考能力の高い最新モデルを使用してください。
利用可能なモデルを決めつけないでください。必ず先に 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)を使用してください。 - 異なるプロバイダーを使用してください。 同じプロバイダーのモデルは、学習時のバイアスを共有しています。真に多様な視点を得るため、少なくとも2つの異なるプロバイダーを使用してください。
- 事前のコンテキストなしでレビューを依頼してください。 レビュープロンプトに、自分の評価や意見を含めないでください。各モデルがコードだけを見て独立した判断を下せるようにしてください。
- 誤ったフィードバックには異議を唱えてください。 合意は盲従を意味しません。レビュアーの提案がプロジェクトの慣例に反する場合、コードを誤読している場合、またはリグレッションを引き起こす場合は、根拠を示して反論してください。次のレビューラウンドに訂正内容を含め、モデルがそのコンテキストから学べるようにしてください。モデルが自信を持っているからといって、その判断が正しいとは限りません。
- レビュアーがコードベースを確認できるようにしてください。 ワークスペースへのアクセスに対応したCLI(例:
agentと--print)を使用する場合は、差分以外のファイルも確認できるよう、リポジトリのルートから実行してください。 - 形式だけの承認はしないでください。 両方のモデルが「問題ありません」と言っても、自分で問題に気付いた場合は指摘してください。モデルはレビュアーであり、絶対的な権威ではありません。
- 既存のテストカバレッジを維持してください。 レビュアーからテストの削除や弱体化を提案されても、明確な正当な理由(例:変更された実装の詳細をテストが検証していた場合)がない限り、拒否してください。