AI を活用した開発支援ツールが次々と登場し、私たちの生産性は飛躍的に向上しています。Google が提供する Gemini CLI もその一つで、コマンドラインから Gemini の強力な機能を呼び出せる非常に便利なツールです。
しかし、その便利さの裏には、思わぬ落とし穴が潜んでいることがあります。今回は、私が Gemini CLI を使って GitHub の Pull Request(PR)をレビューしてもらおうとした際に実際に体験した怖い話について共有します。
/review があるClaude Code や Codex CLI といった AI コードアシスタントには、GitHub の PR 上で /review とメンションするだけでレビューを依頼できる機能があります。これらのツールは、デフォルトではあくまでレビューコメントを投稿するだけで、Approve や Merge といった破壊的な操作を自動で行うことはありません。開発者は AI の提案を参考にし、最終的な判断は自分自身で行うことができます。
一方、Gemini CLI にはそのような専用コマンドがありません。そこで私は、自然言語で「Review PR 番号」と依頼すれば同様のことができるのではないかと考え、試してみることにしました。
私は Terminal アプリで gemini CLI を起動して、対象の PR 番号を指定して以下のようなコマンドを実行しました。
gemini
Review PR 2354私の期待は、AI が PR の差分を読み取り、レビューコメントを投稿してくれること、ただそれだけでした。しかし、コマンド実行後にターミナルと GitHub の画面を見て、私は凍りつきました。
AI がレビューコメントを投稿した後、自動的にその PR を Approve し、あろうことか main ブランチに Merge までしてしまったのです。
幸いにも、今回は軽微な PR かつ結果的に Approve を付けるPRだったため事なきを得ましたが、これが Request changes が必要な PR だったらと考えると、冷や汗が出ます。
実際の挙動は、以下の PR で確認できます。AI によるレビューコメントの投稿後、即座に Approve と Merge が実行されていることがわかります。
ソフトウェア開発において、コードレビューは品質を担保するための重要なプロセスです。レビュアーからの指摘を元にコードを修正し、全ての懸念が解消されたことを確認した上で、レビュアーが Approve します。そして、最終的なマージは、通常、CI/CD のテストが通ったことなどを確認した上で、開発者自身が責任を持って行います。
Gemini CLI の現在の Review PR での挙動は、このプロセスをすべて飛び越えてしまいます。
Approve に至ったのかを人間が確認する間もありません。Gemini CLI は非常にポテンシャルの高いツールですが、Review PR は現時点ではレビューからマージまでを自動で行ってしまう可能性があります。この挙動を理解せずに安易に使用すると、意図しないマージを引き起こす危険性があります。
新しいコマンドをまず試してみる際は、必ず個人用の実験的リポジトリで行うなど、細心の注意を払ってください。
注意: 本番リポジトリでは、この機能を使用する前に必ずテストリポジトリで挙動を確認してください。
AI ツールは私たちの開発を加速させてくれる素晴らしいパートナーですが、その能力と挙動を正しく理解し、適切に使いこなすことが重要です。この情報が、皆さんが安全に AI を活用するための一助となれば幸いです。
以上、Gemini CLI で PR をレビューから Merge まで全自動で終わらせてしまった、現場からお送りしました。