ANTIGRAVITY LABEN
記事一覧/Editor View
Editor View/2026-04-13中級

Gemma 4 × Antigravity:機密コードを外部に送らないローカル AI コードレビュー環境の構築

Gemma 4をローカルで動かし、Antigravityのコードレビュー機能と組み合わせることで、機密コードを一切外部送信せずにAIレビューを実現する方法を解説します。

Gemma 421Antigravity338コードレビュー9ローカルLLM20プライバシー2セキュリティ12

「このコード、AIに見せて大丈夫?」という不安を解消する

業務コードをAIにレビューしてもらいたい。だが、クラウドAPIにソースコードを送信することに対して、社内のセキュリティポリシーが許可しない——個人開発者でも、クライアントから預かったコードを外部サービスに投げるのは気が引ける。

この問題を根本から解決するのが、GoogleのオープンソースLLM「Gemma 4」をローカルで動かし、Antigravityのエディタ上でコードレビューに使うアプローチです。ネットワーク接続すら不要で、レビュー対象のコードが自分のマシンから一切出ありません。

私自身、受託案件のコードをレビューする際にこの構成を導入してから、「コードを外に出していいか」という確認プロセス自体が不要になりました。セットアップは30分もかからありません。

Gemma 4 をローカルで動かす準備

Gemma 4をローカルで実行するには、Ollamaを使うのが最も手軽です。Ollamaはモデルのダウンロードから推論サーバーの起動までをワンコマンドで完結させてくれます。

# Ollamaのインストール(macOS)
curl -fsSL https://ollama.com/install.sh | sh
 
# Gemma 4モデルのダウンロードと起動
# 12Bパラメータ版:16GB以上のRAMを推奨
ollama pull gemma4:12b
 
# モデルが正常に動作するか確認
ollama run gemma4:12b "Hello, respond with OK if you can hear me."
# 期待出力: OK(または類似の短い応答)

マシンスペックの目安として、Gemma 4の12Bモデルは約8GBのVRAM(またはシステムRAM 16GB以上)で動作します。M1以降のApple Siliconなら、Metal GPUアクセラレーションが自動的に有効になるため、推論速度は実用的なレベルです。

もしGPUメモリが足りない場合は、量子化版を使う選択肢があります。

# 4bit量子化版(RAM 8GBでも動作可能)
ollama pull gemma4:12b-q4_K_M
 
# 動作確認:レスポンス速度を計測
time ollama run gemma4:12b-q4_K_M "Explain what a mutex does in one sentence."
# 期待出力: A mutex (mutual exclusion) is a synchronization primitive...
# 所要時間: Apple M2で約2-3秒

量子化による精度低下はコードレビュー用途ではほぼ気にならありません。変数名のタイポ検出やロジックの矛盾指摘など、パターンマッチング的な作業では12Bの量子化版でも十分な精度が出る。

Antigravity でローカル LLM を接続する

Ollamaが起動したら、AntigravityからローカルのGemma 4に接続します。Antigravityの設定画面からカスタムモデルプロバイダーを追加します。

// .antigravity/settings.json に追加
{
  "ai.providers": {
    "ollama-local": {
      "type": "openai-compatible",
      "baseUrl": "http://localhost:11434/v1",
      "models": [
        {
          "id": "gemma4:12b",
          "displayName": "Gemma 4 12B (Local)"
        }
      ]
    }
  }
}

設定後、Antigravityのモデル選択メニューに「Gemma 4 12B (Local)」が表示されます。ここで重要なのは、baseUrllocalhostを指している点です。通信は自分のマシン内で完結し、外部には一切出ありません。

接続テストとして、Antigravityのインラインチャット(Cmd+I)を開き、モデルをGemma 4 Localに切り替えて簡単な質問を投げてみよう。レスポンスが返れば接続は成功です。

コードレビュー専用プロンプトを設定する

ローカルLLMの弱点は、クラウドの大規模モデルと比べてコンテキストの理解力が劣る点です。これを補うために、コードレビューに特化したシステムプロンプトを用意します。

<\!-- .antigravity/prompts/code-review.md -->
# Code Review Agent
 
あなたはシニアソフトウェアエンジニアとして、以下の観点でコードをレビューしてください。
 
## レビュー観点(優先順位順)
1. **セキュリティ**: SQLインジェクション、XSS、認証バイパスなどの脆弱性
2. **バグの可能性**: null参照、境界値エラー、競合状態
3. **パフォーマンス**: N+1クエリ、不要な再レンダリング、メモリリーク
4. **可読性**: 命名規則の一貫性、複雑すぎる条件分岐
 
## 出力形式
- 問題の深刻度を [CRITICAL] / [WARNING] / [INFO] で分類
- 問題のある行番号を明示
- 修正案を具体的なコードで提示
- 問題がなければ「LGTM」とだけ回答
 
## 制約
- 既存のコーディングスタイルを尊重する(スタイルの好みで指摘しない)
- 推測でなく、確実に問題がある箇所のみ指摘する

このプロンプトを保存しておけば、Antigravityのコマンドパレットから@code-reviewで呼び出せる。12Bモデルは指示に忠実に従う傾向が強いので、出力形式を厳密に指定することで、レビュー結果の品質が安定します。

実際のレビューワークフロー:diff ベースのレビュー

最も実用的なのは、gitのdiffに対してレビューを実行するワークフローです。変更箇所だけにフォーカスすることで、ローカルLLMのコンテキストウィンドウを効率的に使える。

# ステージング済みの変更をdiffとして抽出
git diff --staged > /tmp/review-target.diff
 
# diffの行数を確認(Gemma 4 12Bのコンテキスト上限は8K〜128Kトークン)
wc -l /tmp/review-target.diff
# 期待出力: 150(数百行程度なら問題なし)

Antigravityのインラインチャットで、このdiffを貼り付けてレビューを依頼します。あるいは、ターミナルから直接Ollamaに投げることもできます。

# ターミナルから直接レビューを実行
cat /tmp/review-target.diff | ollama run gemma4:12b "
以下のgit diffをレビューしてください。
セキュリティ問題、バグの可能性、パフォーマンス問題を
[CRITICAL]/[WARNING]/[INFO]で分類して指摘してください。
問題がなければLGTMと回答してください。
 
$(cat /tmp/review-target.diff)
"

私の経験では、TypeScriptのコードレビューにおいて、Gemma 4の12Bモデルは以下の検出精度を示しました。

  • 型の不整合: 高精度で検出(string | undefinedstringとして扱っているケースなど)
  • 未処理のPromise: awaitの付け忘れをほぼ確実に検出
  • SQL インジェクション: テンプレートリテラルでのSQL組み立てを高確率で検出
  • ビジネスロジックの誤り: ドメイン知識が必要な場合は見落とすことがある

クラウドの大規模モデル(Gemini 2.5 Proなど)と比べると、ビジネスロジックの理解は劣る。だが、機械的なパターン検出——型エラー、リソースリーク、セキュリティホール——では、ローカルの12Bモデルでも十分に実用的です。

クラウド API との使い分け:ハイブリッド戦略

「すべてをローカルで完結させる」のが理想だが、現実にはクラウドモデルの方が適切な場面もあります。私が採用しているのは、コードの機密度に応じた使い分けです。

ローカル Gemma 4 を使うケース:

  • クライアントの業務コード、API キー周辺のコード
  • 社内システムの認証・決済ロジック
  • NDA 対象のプロジェクト全般
  • オフライン環境(飛行機内、セキュリティルームなど)

クラウド Gemini を使うケース:

  • OSSプロジェクト(そもそも公開コード)
  • 設計レベルのアーキテクチャレビュー(大きなコンテキストが必要)
  • 自分の個人プロジェクト(機密性が低い)

Antigravityでは、モデル切り替えがワンクリックでできるため、この使い分けに摩擦がありません。レビュー対象のファイルを開いた状態で、モデルセレクターからローカルかクラウドかを選ぶだけです。

トラブルシューティング:よくある問題と対処法

Ollamaが応答しない

# Ollamaのプロセスを確認
ps aux | grep ollama
# 期待出力: ollama serve が実行中であること
 
# ポートが使われているか確認
lsof -i :11434
# 出力がなければOllamaが起動していない
 
# 再起動
ollama serve &

レスポンスが極端に遅い

12Bモデルで1トークンあたり1秒以上かかる場合、GPUが使われていない可能性があります。

# macOS: Metal GPUの利用状況を確認
# Activity Monitorの「GPU」タブでollamaのGPU使用率を確認
 
# Linux: NVIDIAドライバの確認
nvidia-smi
# CUDA対応GPUが検出されていることを確認
 
# GPUが使えない場合は軽量モデルに切り替え
ollama pull gemma4:4b

Antigravityが接続を拒否する

settings.jsonbaseUrlにタイポがないか確認します。よくある間違いは、httphttpsにしてしまうケースです。ローカルのOllamaはHTTPで動作するため、https://localhost:11434では接続できません。

コミット前の自動レビューを Git フックで実現する

手動でレビューを依頼するのが面倒なら、Gitのpre-commitフックで自動化できます。

#\!/bin/bash
# .git/hooks/pre-commit
# コミット前にGemma 4でローカルレビューを実行
 
DIFF=$(git diff --cached --diff-filter=ACMR)
 
if [ -z "$DIFF" ]; then
  exit 0
fi
 
echo "🔍 Gemma 4 ローカルレビューを実行中..."
 
REVIEW=$(echo "$DIFF" | ollama run gemma4:12b "
以下のdiffにセキュリティ問題またはCRITICALなバグがあれば指摘してください。
問題がなければ LGTM とだけ回答してください。
 
$DIFF
")
 
if echo "$REVIEW" | grep -q "CRITICAL"; then
  echo "❌ CRITICAL issue detected:"
  echo "$REVIEW"
  echo ""
  echo "コミットを中止しました。問題を修正してから再度コミットしてください。"
  exit 1
fi
 
echo "✅ $REVIEW"
exit 0

このフックを有効にすると、git commitのたびにGemma 4がdiffをチェックし、CRITICALレベルの問題があればコミットをブロックします。レビューは数秒で完了するため、開発のリズムを崩さありません。

ただし、pre-commitフックで全レビューを賄おうとするのは現実的ではありません。あくまで「明らかなセキュリティホールやバグを早期に検出するセーフティネット」として位置づけ、詳細なレビューはAntigravityのインラインチャットで行うのがバランスが良い。

次のステップ

ローカルAIコードレビュー環境が動き始めたら、まずは1週間、通常の開発フローに組み込んで使ってみてほしい。クラウドAPIへの依存が減ることで、オフラインでも生産性が落ちないという副次的なメリットにも気づくはずです。レビュー精度をさらに上げたい場合は、Gemma 4 と Antigravity の統合ガイドで、モデルのカスタマイズオプションを確認するとよい。ローカルLLMの基本的なセットアップでつまずいた場合は、Antigravity ローカル LLM 設定ガイドを参照してほしい。

シェア

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

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

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

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

関連記事

連携・プラグイン2026-05-04
Antigravity に Gemma 4 ローカルモデルを統合する — オフライン/エアギャップ環境での AI 開発
Apache 2.0でリリースされた Gemma 4 を Antigravity に統合することで、機密プロジェクトやオフライン環境でも Antigravity のエージェント体験が可能になります。Ollama / vLLM 経由の接続設定、Architect / Builder の挙動チューニング、本番運用の注意点までを実装ベースで解説します。
Editor View2026-07-12
会話パネルの幅を変えたら、エージェントのレビューが速くなった話
Antigravity v2.2.1 で追加された Conversation Width と構文ハイライトの拡充を、エージェントが生成した diff を読み切る作業に落とし込んだ実運用メモです。表示設定という地味な調整が、レビューの手数をどう変えたかを記録しました。
Editor View2026-07-11
エージェントが足した行だけを見たい — 変更行スコープの規約リンターで、レガシーの警告に埋もれない
エージェントに小さな修正を頼んだら、古いファイルに触れた瞬間に警告が13件出て、どれがエージェントの仕業か分からなくなりました。変更行だけに規約を当てるリンターを組んだら、13件が3件へ、約77%減りました。差分から追加行を取り出し、そこだけを検品する仕組みを、動くコードでまとめています。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →