𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
Google Antigravity コードレビュー自動化ガイド|AIでレビュー品質と速度を両立する方法

Google Antigravity コードレビュー自動化ガイド|AIでレビュー品質と速度を両立する方法

Google AntigravityコードレビューAI自動化GitHubSESエンジニア
目次
⚡ 3秒でわかる!この記事のポイント
  • Google Antigravityの antigravity review コマンドでPRの差分をAIが自動レビューできる
  • セキュリティ・パフォーマンス・設計・テストカバレッジの4観点を一括チェック可能
  • GitHub Actions連携で、PR作成時に自動でレビューコメントを投稿する仕組みが構築できる

「レビュー依頼が溜まっている」「レビューが属人化してスピードが出ない」——SES現場でチーム開発に参画すると、コードレビューのボトルネックに直面する場面は少なくありません。

Google Antigravityには、Gemini 2.5 Proの高度なコード理解力を活かしたAIコードレビュー機能が搭載されています。この記事では、CLIでの手動レビューからGitHub Actionsでの完全自動化まで、SES現場で即実践できるコードレビュー自動化の全手順を解説します。

なぜコードレビューの自動化が必要なのか

コードレビューはソフトウェア品質を担保する最重要プロセスですが、多くの現場で以下の課題を抱えています。

  • レビュー待ち時間:シニアエンジニアに依頼が集中し、PRが数日放置される
  • レビュー品質のばらつき:レビュアーの経験やコンディションで指摘の深さが変わる
  • 表面的な指摘に偏る:命名規則やフォーマットの指摘は多いが、設計上の問題は見逃される
  • セキュリティ観点の漏れ:SQLインジェクションやXSSなど、セキュリティ上の問題がすり抜ける

Google AntigravityのAIコードレビューは、これらの課題に対して機械的に一貫した品質チェックを提供します。人間のレビューを置き換えるものではなく、人間が本質的な設計議論に集中するための下地づくりとして機能します。

AIコードレビューの4つの観点

Antigravityのコードレビュー機能の全体像

Antigravityのコードレビュー機能は3つのモードで利用できます。

モードコマンド用途
差分レビューantigravity reviewステージング済みの差分をレビュー
PRレビューantigravity review --pr <番号>GitHub PRの差分を直接レビュー
ファイルレビューantigravity review --file <パス>特定ファイル全体をレビュー

いずれのモードでも、Gemini 2.5 Proがコードの文脈を理解した上で、以下の4観点からレビューコメントを生成します。

  1. セキュリティ:インジェクション、認証バイパス、機密情報の漏洩リスク
  2. パフォーマンス:N+1クエリ、不要な再レンダリング、メモリリーク
  3. 設計・保守性:責務の分離、DRY原則、命名の適切さ
  4. テスト:テストカバレッジ、エッジケースの網羅性

ステップ1:CLIでの基本的なコードレビュー

まずはコマンドラインでの手動レビューから始めましょう。

ステージング済みの差分をレビュー

# まず変更をステージング
git add .

# ステージング済みの差分をAIレビュー
antigravity review

出力例:

🔍 Reviewing staged changes (4 files, +127 -23 lines)

━━━ src/api/userController.ts ━━━

[SECURITY] Line 42: SQLクエリにユーザー入力を直接埋め込んでいます。
  パラメータ化クエリを使用してSQLインジェクションを防止してください。
  
  現在のコード:
    const query = `SELECT * FROM users WHERE email = '${req.body.email}'`;
  
  修正案:
    const query = `SELECT * FROM users WHERE email = $1`;
    const result = await db.query(query, [req.body.email]);

[PERFORMANCE] Line 78: ループ内でデータベースクエリが実行されています(N+1問題)。
  バッチ取得に変更することを推奨します。

━━━ src/components/UserList.tsx ━━━

[DESIGN] Line 15-45: このコンポーネントはデータ取得とUIレンダリングの
  両方を担っています。カスタムフックに分離することを推奨します。

━━━ Summary ━━━
  🔴 Critical: 1 (Security)
  🟡 Warning:  2 (Performance, Design)
  🟢 Info:     0

特定ブランチとの差分をレビュー

# mainブランチとの差分をレビュー
antigravity review --base main

# 特定のコミットとの差分をレビュー
antigravity review --base HEAD~3

レビューの観点を絞る

# セキュリティ観点のみでレビュー
antigravity review --focus security

# セキュリティとパフォーマンスの2観点でレビュー
antigravity review --focus security,performance

ステップ2:GitHub PRの自動レビュー

Antigravityは、GitHub CLIと連携してPRの差分を直接レビューし、コメントを投稿できます。

PRをレビューしてコメントを投稿

# PR #42 をレビューし、結果をGitHubにコメント投稿
antigravity review --pr 42 --post-comments

# レビュー結果をターミナルに表示するだけ(コメント投稿なし)
antigravity review --pr 42

--post-comments オプションを使うと、PRの該当行にインラインコメントとして投稿されます。レビューサマリーもPRのコメント欄に自動投稿されます。

GitHub CLIの認証が必要です

PRレビュー機能を使うには、gh auth login でGitHub CLIの認証が完了している必要があります。また、対象リポジトリへの読み取り権限が必要です。

レビューの厳格度を調整する

# 厳格モード:些細な問題も全て報告
antigravity review --pr 42 --severity all

# 標準モード(デフォルト):Warning以上を報告
antigravity review --pr 42 --severity warning

# クリティカルのみ:セキュリティ問題など重大な問題のみ
antigravity review --pr 42 --severity critical
👤
新人のPRはallで丁寧にチェックして、シニアのPRはcriticalだけにする、みたいな使い分けもできますか?
🤖
できます。config.yamlでPRの作成者ごとに厳格度を設定することもできますし、GitHub Actionsの条件分岐でも対応可能です。

ステップ3:カスタムレビュールールの設定

プロジェクト固有のルールをAntigravityに教えることで、チームの規約に沿ったレビューが可能になります。

レビュールール設定ファイルの作成

プロジェクトルートに .antigravity/review-rules.yaml を作成します。

# .antigravity/review-rules.yaml

rules:
  # セキュリティルール
  security:
    - name: no-raw-sql
      description: "生のSQLクエリを使用しないこと。必ずORMまたはクエリビルダーを使用する"
      severity: critical
      patterns:
        - "db.query(\`"
        - "db.raw("
        - "knex.raw("

    - name: no-hardcoded-secrets
      description: "APIキーやパスワードをコードに直書きしないこと"
      severity: critical
      patterns:
        - "password = \""
        - "apiKey = \""
        - "secret = \""

  # パフォーマンスルール
  performance:
    - name: no-sync-fs
      description: "同期的なファイルシステム操作を使用しないこと"
      severity: warning
      patterns:
        - "readFileSync"
        - "writeFileSync"

  # 設計ルール
  design:
    - name: max-function-length
      description: "1つの関数は50行以内に収めること"
      severity: info
      max_lines: 50

    - name: no-any-type
      description: "TypeScriptでany型を使用しないこと"
      severity: warning
      patterns:
        - ": any"
        - "as any"

  # テストルール
  testing:
    - name: require-tests
      description: "src/ 配下の変更にはテストファイルの追加・変更が必要"
      severity: warning
      require_test_changes_for:
        - "src/**/*.ts"
        - "src/**/*.tsx"

コンテキストファイルでプロジェクト背景を共有

レビュールールだけでなく、プロジェクトの背景知識をAntigravityに渡すこともできます。

# .antigravity/review-context.yaml

project:
  name: "社内顧客管理システム"
  architecture: "Clean Architecture(Domain / Application / Infrastructure)"
  language: "TypeScript"
  framework: "NestJS + React"
  database: "PostgreSQL(Prismaを使用)"

conventions:
  - "エラーハンドリングはResult型(neverthrow)を使用する"
  - "ログ出力にはconsole.logではなくPinoロガーを使用する"
  - "APIレスポンスは必ずDTO経由で返す(Entityを直接返さない)"
  - "環境変数はConfigServiceから取得する(process.envを直接参照しない)"
# カスタムルールを使ってレビュー
antigravity review --rules .antigravity/review-rules.yaml

# コンテキストも含めてレビュー
antigravity review --rules .antigravity/review-rules.yaml --context .antigravity/review-context.yaml

ステップ4:GitHub Actionsで完全自動化する

PR作成時に自動でAntigravityのコードレビューを実行するワークフローを構築します。

# .github/workflows/ai-code-review.yml
name: AI Code Review

on:
  pull_request:
    types: [opened, synchronize]

permissions:
  contents: read
  pull-requests: write

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install Antigravity
        run: pip install google-antigravity

      - name: Run AI Code Review
        env:
          GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          antigravity review \
            --pr ${{ github.event.pull_request.number }} \
            --post-comments \
            --severity warning \
            --rules .antigravity/review-rules.yaml \
            --context .antigravity/review-context.yaml \
            --format github-actions
GitHub Secretsの設定を忘れずに

リポジトリの Settings → Secrets and variables → Actions に GOOGLE_API_KEY を追加してください。GITHUB_TOKEN はGitHub Actionsが自動で提供するため設定不要です。

レビュー結果でCIをブロックする

セキュリティ上の重大な問題が見つかった場合にマージをブロックする設定も可能です。

      - name: Run AI Code Review
        env:
          GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          antigravity review \
            --pr ${{ github.event.pull_request.number }} \
            --post-comments \
            --severity warning \
            --fail-on critical

--fail-on critical を指定すると、Critical(セキュリティ問題等)が検出された場合にexit code 1を返し、CIが失敗します。これをブランチプロテクションルールと組み合わせることで、重大な問題があるPRのマージを防止できます。

ステップ5:レビュー結果をカスタマイズする

出力フォーマットの指定

# JSON形式で出力(他のツールとの連携用)
antigravity review --format json > review-result.json

# Markdown形式で出力(ドキュメント化用)
antigravity review --format markdown > review-result.md

# GitHub Actions形式(ワークフローアノテーション付き)
antigravity review --format github-actions

レビュー対象の絞り込み

# 特定のディレクトリのみレビュー
antigravity review --include "src/api/**" --include "src/services/**"

# テストファイルを除外
antigravity review --exclude "**/*.test.ts" --exclude "**/*.spec.ts"

# 特定の言語のファイルのみ
antigravity review --lang typescript,python

SES現場での活用パターン

活用パターン1:参画初期のキャッチアップ加速

SES現場に新しく参画した直後は、プロジェクトの規約やアーキテクチャに不慣れな状態でPRを出すことになります。antigravity review を自分のPRに対して事前に実行しておけば、レビュー依頼前に規約違反やアンチパターンを自己修正でき、レビュアーの負担を軽減できます。

# PRを出す前にセルフレビュー
git add .
antigravity review --severity all
# 指摘を修正してからPRを作成
活用パターン2:レガシーコードの改修時のリスク検出

テストが不十分なレガシーコードを改修する際、変更の影響範囲をAIが解析してくれます。特に --focus security,performance で重点的にチェックすることで、既存の脆弱性を悪化させるような変更を事前に検出できます。

# レガシーコード改修の差分をセキュリティ重点でレビュー
antigravity review --base main --focus security,performance
活用パターン3:複数人チームでのレビュー標準化

review-rules.yaml をリポジトリにコミットしてチーム全員で共有することで、レビュー基準を属人化させずに標準化できます。人間のレビュアーは、AIが検出した表面的な問題の修正を確認した上で、設計判断やビジネスロジックの妥当性など、より本質的な議論に集中できます。

AIレビューと人間レビューの役割分担

AIコードレビューの導入にあたって重要なのは、AIと人間の役割を明確に分けることです。

AIレビューは「機械的に検出できる問題」を担当し、人間は「文脈を踏まえた判断」に集中する——これがベストな分担です。

AIが得意な領域

  • セキュリティ脆弱性の検出(SQLインジェクション、XSS、認証バイパス)
  • パフォーマンスのアンチパターン検出(N+1クエリ、不要な再計算)
  • コーディング規約の準拠チェック(命名規則、フォーマット、型安全性)
  • テストカバレッジの確認(変更に対するテストの有無)
  • 依存関係の問題検出(未使用のimport、循環参照)

人間が担当すべき領域

  • ビジネスロジックの正当性:仕様通りの動作をするか
  • 設計判断:このアーキテクチャで将来の拡張に耐えられるか
  • ユーザー体験:エラーメッセージは適切か、UIの挙動は直感的か
  • チーム文脈:なぜこの実装方法を選んだのか(技術的負債の背景等)

トラブルシューティング

レビュー結果が大量に出て読みきれない場合は?
--severity critical で重大な問題だけに絞るか、--max-comments 10 で指摘数の上限を設定してください。最初はcriticalのみで運用し、チームが慣れてきたらwarningに拡げるのがおすすめです。
誤検出(False Positive)が多い場合の対処法は?
review-rules.yaml に ignore セクションを追加して、特定のパターンやファイルを除外できます。また、PRのコメントで /antigravity ignore と返信すると、そのコメントの指摘を以後無視するように学習します。
GitHub Actions以外のCI/CDツールでも使えますか?
GitLab CI、CircleCI、Jenkins等でも利用可能です。antigravity review --format json で結果をJSON出力し、各CI/CDツールのコメント投稿APIと組み合わせて使用してください。
プライベートリポジトリのコードがGoogleに送信されますか?
AntigravityのAIレビュー機能はGemini APIを使用しますが、送信されるのはレビュー対象の差分コードのみです。また、Gemini APIの利用規約により、APIに送信されたデータがモデルのトレーニングに使用されることはありません。企業のセキュリティポリシーに応じて、オンプレミス版のGeminiを利用する選択肢もあります。

まとめ

Google Antigravityのコードレビュー機能を活用することで、レビューの速度と品質を同時に向上させることができます。

今回解説したポイントをおさらいします:

  • antigravity review でステージング差分・PR・ファイル単位のAIレビューが可能
  • セキュリティ・パフォーマンス・設計・テストの4観点を一括チェック
  • review-rules.yaml でプロジェクト固有のルールをカスタマイズ
  • GitHub Actionsと連携してPR作成時に自動実行できる
  • AIは機械的なチェック、人間は文脈を踏まえた判断という役割分担が重要

SES現場では特に、参画初期のセルフレビューやレビュー基準の標準化に効果的です。まずは antigravity review を自分のPRに実行するところから始めてみてください。

コードレビューの前段階であるCI/CDパイプラインの自動化については、Google AntigravityとGitHub Actionsで実現する最強のCI/CDパイプラインもあわせてご覧ください。プロンプトの書き方を工夫してレビュー精度を上げたい方は、Google Antigravity プロンプトエンジニアリング完全ガイドも参考になります。

この記事は役に立ちましたか?

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修