AIで客観視点レビューをどう作るか。
最近、ローカルの Claude Code でガッと実装して、そのまま review コマンドでレビュー→プッシュ…という開発フローが増えてきました。
ところが——
そのコードをGitHubにプッシュした途端、Copilot CIの指摘が大量発生。PHPStanの警告もドサッと。
「いや、さっきAIが“LGTM”って言ってたやん……?」
こんな話が今日のミーティングで話に上がっていました。
自分もまったく同じ落とし穴に何度もハマりました。
でも今日、phpstanの指摘0、copilotの指摘0でうまく行った例をまとめておきます。
なぜ「AIが書いたコード × AIレビュー」で事故るのか
単純で、そしてちょっと残酷。
AIが書いたコードは、そのAIと“同じ視点・同じクセ”で書かれる。
だから同じAIにレビューさせてもヌケを指摘できない。
完全に「自分が書いたコードを自分でレビューする」状態。
そりゃ抜け漏れが取れないよね、という話。
だからこそ、多くの勉強会でも言われる。
AI時代ほど“客観視点”をどう挟むかがレビューの肝。
これ、ほんとに大事ですね。
レビュー構成をどうやるか
いろいろ試して落ち着いたのが、
AIを“並列”じゃなく “異なる視点で段階的に通す”という方法。
① Claude Code の review(or エージェントモード)で初期レビュー
最初の粗を取る段階。
普段やっているのは review コマンドだけど、
たまに“エージェントモード”でコーディングエージェントを作り、
レビュー専用のサブエージェントにチェックさせることもある。
コーディング主体エージェント
レビュー専用サブエージェント
みたいに役割を分けると、途中段階のミスがよく拾える。
ただしこの段階は、あくまで“同系統の視点”。
偏りは残るので、あくまで初期の粗を落とす用途。
② clear → 再 review
Claude Code の文脈をいったんクリアして再レビュー。
これだけで見えるものが変わる。
“文脈に引っ張られないチェック”という意味で地味に効く。
③ 別AIレビュー(Copilot Review をローカルで)
Claude と Copilot でも違ってくるので、指摘されるポイントも変わってくる。
それからgithubにプッシュ
最終的に、CIでのレビューへ。
この ①〜④ を全部通してから PR を作った結果、
今日なんと、
github Copilot の指摘 0
PHPStan の指摘 0
ドサッとくるかと思ったので気持ちよかった。
気づき:AIにも客観視点でレビューさせる
AIが書いたコードをAIにレビューさせると視点が偏るので“客観視点”をどう差し込むかが大事。
みなさんどうされていますでしょうか。
ご意見お待ちしております。
Discussion