🙆‍♀️

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