ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
連携・プラグイン/2026-03-27初級

Antigravity × GitHub で Pull Request レビューを AI 自動化する実践ガイド

Antigravity の AI エージェントを活用して GitHub Pull Request のコードレビューを自動化する方法を、環境構築からワークフロー設計まで丁寧に解説します。

antigravity435github5code-review7ai-automationpull-request2ci-cd15

取り組みの背景 — なぜ AI で PR レビューを自動化するのか

チーム開発でもっとも時間がかかる工程のひとつが、Pull Request(PR)のコードレビューです。レビュー待ちの間に作業が止まり、マージまでのリードタイムが伸びてしまう——多くの開発者が経験している課題ではないでしょうか。

Antigravity の AI エージェントと GitHub を組み合わせると、PR が作成された瞬間にコードの品質チェック、セキュリティリスクの検出、改善提案の生成を自動で行えます。人間のレビュアーは AI が見つけた問題点をベースに確認するだけでよくなり、レビュー時間を大幅に短縮できます。

初めて AI コードレビューに取り組む方でも安心して進められる内容です。

前提環境と準備するもの

AI による PR レビュー自動化を始めるために、以下の環境を準備しましょう。

  • Antigravity IDE(最新版を推奨)
  • GitHub アカウント(リポジトリへの書き込み権限)
  • Node.js 18 以上(スクリプト実行用)
  • Git(ローカル環境にインストール済み)

まず、Antigravity から GitHub に接続します。Antigravity のターミナルで以下を実行してください。

# GitHub CLI のインストール確認
gh --version
# gh version 2.x.x
 
# GitHub 認証(初回のみ)
gh auth login
# ブラウザが開くので GitHub アカウントで認証する

認証が完了すると、Antigravity のエージェントが GitHub の PR 情報を直接取得できるようになります。

Antigravity エージェントで PR の差分を自動解析する

Antigravity の最大の強みは、AI エージェントがリポジトリ全体のコンテキストを理解した上でコードレビューを行える点です。単なる静的解析ツールとは異なり、プロジェクトの設計方針や既存コードとの整合性まで考慮した指摘が可能です。

基本的な PR レビューの流れ

Antigravity のエージェントチャットで、以下のようにリクエストします。

このリポジトリの PR #42 をレビューしてください。
特に以下の観点で確認をお願いします:
1. 型安全性に問題がないか
2. エラーハンドリングが適切か
3. パフォーマンスに影響する変更がないか

エージェントは gh pr diff 42 を実行して差分を取得し、変更されたファイルを1つずつ読み込みながらレビューコメントを生成します。

diff を取得してレビューするスクリプト例

手動でも自動でも使える、PR レビュー補助スクリプトを作成しましょう。

// scripts/ai-pr-review.ts
// Antigravity × GitHub PR レビュー自動化スクリプト
import { execSync } from "child_process";
 
interface ReviewComment {
  file: string;
  line: number;
  severity: "error" | "warning" | "info";
  message: string;
}
 
function getPRDiff(prNumber: number): string {
  // PR の差分を取得
  const diff = execSync(`gh pr diff ${prNumber}`, {
    encoding: "utf-8",
  });
  return diff;
}
 
function parseDiffFiles(diff: string): string[] {
  // 変更されたファイル名を抽出
  const files = diff
    .split("\n")
    .filter((line) => line.startsWith("diff --git"))
    .map((line) => {
      const match = line.match(/b\/(.+)$/);
      return match ? match[1] : "";
    })
    .filter(Boolean);
  return files;
}
 
function generateReviewPrompt(
  diff: string,
  files: string[]
): string {
  return `
以下の PR 差分をレビューしてください。
 
## レビュー観点
- 型安全性(TypeScript の型エラーの可能性)
- エラーハンドリング(未処理の例外、エッジケース)
- セキュリティ(インジェクション、認証漏れ)
- パフォーマンス(不要な再レンダリング、N+1クエリ)
- コード品質(命名規則、関数の責務分離)
 
## 変更ファイル
${files.map((f) => `- ${f}`).join("\n")}
 
## 差分
\`\`\`diff
${diff}
\`\`\`
 
各ファイルについて、問題があれば具体的な行番号と改善案を提示してください。
問題がない場合は「LGTM」と記載してください。
  `.trim();
}
 
// メイン処理
const prNumber = parseInt(process.argv[2] || "0");
if (!prNumber) {
  console.error("使い方: npx tsx scripts/ai-pr-review.ts <PR番号>");
  process.exit(1);
}
 
const diff = getPRDiff(prNumber);
const files = parseDiffFiles(diff);
const prompt = generateReviewPrompt(diff, files);
 
console.log("📝 レビュー対象ファイル:");
files.forEach((f) => console.log(`  - ${f}`));
console.log("\n🤖 Antigravity エージェントに以下のプロンプトを渡してください:\n");
console.log(prompt);
 
// 期待される出力:
// 📝 レビュー対象ファイル:
//   - src/components/UserProfile.tsx
//   - src/lib/api.ts
//
// 🤖 Antigravity エージェントに以下のプロンプトを渡してください:
// (レビュープロンプトが表示される)

このスクリプトを npx tsx scripts/ai-pr-review.ts 42 のように実行すると、PR の差分とレビュー用プロンプトが自動生成されます。

GitHub Actions で PR 作成時に自動レビューを実行する

手動でのレビューだけでなく、PR が作成されるたびに自動でレビューを実行する仕組みを構築しましょう。GitHub Actions を使えば、CI/CD パイプラインの一部としてコードレビューを組み込めます。

# .github/workflows/ai-review.yml
name: AI Code Review
 
on:
  pull_request:
    types: [opened, synchronize]
 
permissions:
  contents: read
  pull-requests: write
 
jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
 
      - name: Get changed files
        id: changed
        run: |
          FILES=$(gh pr diff ${{ github.event.pull_request.number }} --name-only)
          echo "files<<EOF" >> $GITHUB_OUTPUT
          echo "$FILES" >> $GITHUB_OUTPUT
          echo "EOF" >> $GITHUB_OUTPUT
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
      - name: Run lint and type check
        run: |
          npm ci
          npm run lint -- --format json > lint-results.json || true
          npx tsc --noEmit 2> type-errors.txt || true
 
      - name: Post review summary
        if: always()
        run: |
          LINT_ERRORS=$(cat lint-results.json | jq '[.[] | .messages | length] | add // 0')
          TYPE_ERRORS=$(wc -l < type-errors.txt | tr -d ' ')
 
          BODY="## 🤖 AI Code Review Summary\n\n"
          BODY+="| Check | Result |\n"
          BODY+="| --- | --- |\n"
          BODY+="| Lint Errors | ${LINT_ERRORS} |\n"
          BODY+="| Type Errors | ${TYPE_ERRORS} |\n\n"
 
          if [ "$LINT_ERRORS" -gt 0 ] || [ "$TYPE_ERRORS" -gt 0 ]; then
            BODY+="⚠️ 自動チェックで問題が検出されました。詳細は各ステップのログを確認してください。"
          else
            BODY+="✅ 自動チェックをパスしました。"
          fi
 
          gh pr comment ${{ github.event.pull_request.number }} --body "$(echo -e "$BODY")"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

このワークフローでは、PR の作成・更新時に自動で lint チェックと型チェックを実行し、結果を PR コメントとしてポストします。

GitHub Actions を活用した CI/CD パイプラインの構築についてさらに詳しく知りたい方は、Antigravity × GitHub Actions 上級CI/CDパイプライン構築ガイド で、マトリクスビルドやセキュリティスキャンを含む本格的な構成を解説しています。

AGENTS.md でレビュー基準をカスタマイズする

Antigravity のエージェントに一貫したレビュー基準を守らせるには、AGENTS.md ファイルにレビューポリシーを明記するのが効果的です。

# AGENTS.md — PR レビューポリシー
 
## コードレビュー基準
 
### 必ず確認する項目(ブロッカー)
- 未処理の Promise / async-await エラー
- ユーザー入力のバリデーション不足
- ハードコードされた秘密情報(API キー等)
- 型アサーション(as any)の不適切な使用
 
### 推奨事項(改善提案)
- 関数が 50 行を超える場合は分割を提案する
- マジックナンバーは定数に切り出す
- コメントは「なぜ」を説明するものを推奨する
 
### レビュー対象外
- フォーマット(Prettier で自動整形済み)
- import 順序(ESLint ルールで強制済み)

この設定をリポジトリのルートに配置しておくと、Antigravity のエージェントがレビュー時に自動的に参照し、プロジェクト固有の基準に沿ったコメントを生成してくれます。

レビュー結果を GitHub コメントに自動投稿する

レビュー結果を手動でコピーするのは手間がかかります。GitHub API を使って、レビューコメントを自動投稿する仕組みを作りましょう。

// scripts/post-review-comment.ts
// レビュー結果を GitHub PR にコメントとして投稿する
import { execSync } from "child_process";
 
interface ReviewResult {
  summary: string;
  issues: Array<{
    file: string;
    line: number;
    message: string;
  }>;
  approved: boolean;
}
 
function postReviewComment(
  prNumber: number,
  review: ReviewResult
): void {
  const body = formatReviewBody(review);
 
  // gh コマンドで PR コメントを投稿
  execSync(
    `gh pr comment ${prNumber} --body '${body.replace(/'/g, "'\\''")}'`,
    { stdio: "inherit" }
  );
 
  console.log(`✅ PR #${prNumber} にレビューコメントを投稿しました`);
}
 
function formatReviewBody(review: ReviewResult): string {
  let body = "## 🤖 Antigravity AI Review\n\n";
  body += `**判定**: ${review.approved ? "✅ LGTM" : "⚠️ 要修正"}\n\n`;
  body += `### サマリー\n${review.summary}\n\n`;
 
  if (review.issues.length > 0) {
    body += "### 検出された問題\n\n";
    for (const issue of review.issues) {
      body += `- **${issue.file}:${issue.line}** — ${issue.message}\n`;
    }
  }
 
  return body;
}
 
// 使用例
const sampleReview: ReviewResult = {
  summary:
    "全体的にコード品質は良好です。エラーハンドリングの改善点が1件あります。",
  issues: [
    {
      file: "src/lib/api.ts",
      line: 45,
      message:
        "fetch のエラーハンドリングが不足しています。ネットワークエラー時の処理を追加してください。",
    },
  ],
  approved: false,
};
 
const prNumber = parseInt(process.argv[2] || "0");
if (prNumber) {
  postReviewComment(prNumber, sampleReview);
}
 
// 期待される出力:
// ✅ PR #42 にレビューコメントを投稿しました

実践的なワークフロー設計のポイント

AI による PR レビューを効果的に運用するために、いくつかの実践的なポイントをお伝えします。

レビューの段階を分ける

すべてを AI に任せるのではなく、段階的にレビューを行うのが効果的です。

  • 第1段階(AI 自動): lint、型チェック、セキュリティスキャン
  • 第2段階(AI 補助): コードの設計妥当性、パフォーマンス影響の分析
  • 第3段階(人間): ビジネスロジックの正しさ、UX への影響確認

レビューコメントの質を高める

Antigravity のエージェントに具体的なコンテキストを渡すことで、より有益なレビューコメントが得られます。

PR #42 をレビューしてください。
このPRの目的は「ユーザー認証フローの刷新」です。
既存の session ベース認証から JWT ベースに移行しています。
特に認証トークンの取り扱いとセキュリティ面を重点的に確認してください。

背景情報を添えることで、エージェントは変更の意図を理解し、的確なフィードバックを返してくれます。

GitHub 連携の基礎について

Antigravity と GitHub の基本的な連携方法については Antigravity × GitHub 連携の基本設定ガイド で解説しています。また、日常の Git 操作を効率化するテクニックは Antigravity で Git ワークフローを効率化する方法 も参考になります。

まとめ

Antigravity × GitHub の PR レビュー自動化は、開発チームの生産性を大きく向上させる実践的なアプローチです。この記事で紹介した内容を振り返ります。

  • Antigravity のエージェントで PR 差分を自動解析し、型安全性・セキュリティ・パフォーマンスの観点からレビューを行う
  • GitHub Actions と連携して、PR 作成時に自動で品質チェックを実行する
  • AGENTS.md でプロジェクト固有のレビュー基準を定義し、一貫した品質を保つ
  • AI と人間の役割を明確に分け、効率的なレビューワークフローを設計する

まずは小さなプロジェクトから試してみて、チームに合ったレビュー基準を育てていくのがおすすめです。セキュリティ面の自動監査にも興味がある方には、Antigravity × AI駆動セキュリティ監査自動化ガイド で、脆弱性検出から自動修正までのパイプラインを詳しく解説していますので、あわせてご覧ください。

シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

連携・プラグイン2026-03-10
Antigravity で GitHub を扱う実践ワークフロー — git・gh CLI・エージェントの合わせ技
Antigravity の統合ターミナルで git と gh CLI を組み合わせ、エージェントに差分要約やPR本文の下書きを任せる実践ワークフロー。ブランチ運用からPull Request、レビュー前チェックまでを実際のコマンドとともに整理します。
連携・プラグイン2026-07-07
サムネイルの見た目が少しずつズレていた — pHash と SSIM で画像アセットの回帰をエージェント運用に組み込む
エージェントに画像パイプラインを書き換えさせた後の「静かな見た目のズレ」を、pHash と SSIM という二つの数値で検知して CI で止める実装をまとめました。壁紙サムネイルや OGP 画像を対象に、しきい値の決め方からゲートスクリプト、Antigravity への組み込みまで扱います。
連携・プラグイン2026-06-28
無人で回したエージェントの変更を、どこから見るか — 再入場のためのダイジェスト
無人で動かしたエージェントが残した大量の変更を、朝、どこから見るか。全 diff でもチャットログでもなく、リスク階級で束ねた再入場ダイジェストを設計します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →