Skip to content

Google Search Grounding:Gemini でリアルタイムのウェブ情報を検索

このチュートリアルで学べること

  • Gemini モデルで Google Search を有効化し、AI がリアルタイムのウェブ情報を検索できるようにする
  • 検索閾値を調整して、モデルの検索頻度を制御する
  • Google Search Grounding の仕組みと適用シーンを理解する
  • タスクの要件に応じて適切な設定を選択する

現状の課題

Google Search Grounding とは?

Google Search Grounding は Gemini の機能で、必要に応じてモデルが自動的に Google 検索を行い、リアルタイム情報(ニュース、統計データ、製品価格など)を取得できます。トレーニングデータだけに頼る必要がなくなります。

Gemini に「今日の天気は?」や「VS Code の最新バージョンは?」と聞いても、トレーニングデータが古いため回答できないことがあります。Google Search Grounding を有効にすると、モデルが自分でウェブ検索して回答を見つけられます。ブラウザで検索するのと同じです。

この機能を使うべきシーン

シーン有効化の必要性理由
コード生成、プログラミングの質問❌ 不要プログラミング知識は比較的安定しており、トレーニングデータで十分
最新情報の取得(ニュース、価格、バージョン)✅ 強く推奨リアルタイムデータが必要
ファクトチェック(具体的な日付、統計)✅ 推奨モデルの情報捏造を防止
クリエイティブライティング、ブレインストーミング❌ 不要事実の正確性は不要
技術ドキュメントの検索✅ 推奨最新の API ドキュメントを検索

基本的な考え方

Google Search Grounding の核心は、モデルが必要なときだけ自動的に検索することです。毎回検索するわけではありません。プラグインは googleSearchRetrieval ツールを注入し、Gemini が Google 検索 API を呼び出せるようにします。

重要な概念

  • Auto モード:モデルが検索するかどうかを自分で判断(閾値に基づく)
  • 閾値(grounding_threshold):モデルの検索「ハードル」を制御。値が小さいほど、検索頻度が高くなる

🎒 始める前の準備

前提条件の確認

始める前に、以下を確認してください:

手順

ステップ 1:設定ファイルの場所を確認

プラグインの設定ファイルは以下の場所にあります:

  • macOS/Linux: ~/.config/opencode/antigravity.json
  • Windows: %APPDATA%\opencode\antigravity.json

ファイルが存在しない場合は、まず作成します:

bash
# macOS/Linux
cat > ~/.config/opencode/antigravity.json << 'EOF'
{
  "$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json"
}
EOF
powershell
# Windows
@"
{
  "$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json"
}
"@ | Out-File -FilePath "$env:APPDATA\opencode\antigravity.json" -Encoding utf8

確認ポイント:設定ファイルが作成され、$schema フィールドが含まれている

ステップ 2:Google Search を有効化

設定ファイルに web_search 設定を追加します:

json
{
  "$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
  "web_search": {
    "default_mode": "auto",
    "grounding_threshold": 0.3
  }
}

設定の説明

フィールド説明
web_search.default_mode"auto" または "off"Google Search の有効/無効、デフォルトは "off"
web_search.grounding_threshold0.0 - 1.0検索閾値、デフォルトは 0.3auto モードでのみ有効

確認ポイント:設定ファイルが更新され、web_search 設定が含まれている

ステップ 3:検索閾値を調整(オプション)

grounding_threshold はモデルの検索頻度を制御します:

閾値動作適用シーン
0.0 - 0.2頻繁に検索、不確かなときはほぼ毎回検索高精度のリアルタイムデータが必要
0.3(デフォルト)適度、モデルがある程度確信を持ったときに検索日常使用、精度と速度のバランス
0.7 - 1.0検索頻度が低い、高い確信度のときのみ検索検索回数を減らし、速度を向上

実践的なアドバイス

デフォルト値 0.3 から始めて、以下の場合に調整してください:

  • モデルが検索しない → 閾値を下げる(例:0.2
  • 検索が頻繁すぎて応答が遅い → 閾値を上げる(例:0.5

確認ポイント:閾値が調整され、実際の使用体験に基づいて最適化できる

ステップ 4:設定を検証

OpenCode を再起動するか、設定をリロード(サポートされている場合)してから、リアルタイム情報が必要なリクエストを送信します:

ユーザー入力:
VS Code の最新バージョンは何ですか?

システム応答(Google Search 有効時):
VS Code の最新安定版は 1.96.4 です(2026 年 1 月時点)...

[citation:1] ← 引用元マーク

確認ポイント

  • モデルの回答に引用元([citation:1] など)が含まれている
  • 回答内容が最新で、トレーニングデータの古いバージョンではない

ステップ 5:異なる閾値をテスト

grounding_threshold を調整して、モデルの動作変化を観察します:

json
// 低閾値(頻繁に検索)
"grounding_threshold": 0.1

// 高閾値(検索頻度が低い)
"grounding_threshold": 0.7

調整するたびに、同じ質問でテストして以下を観察します:

  • 検索したかどうか(応答に引用があるか確認)
  • 検索回数(複数の citation
  • 応答速度

確認ポイント

  • 低閾値:検索頻度が高いが、応答がやや遅い
  • 高閾値:検索頻度が低いが、回答が不正確な可能性がある

チェックポイント ✅

クリックして検証チェックリストを展開

以下のチェックを完了して、設定が正しいことを確認してください:

  • [ ] 設定ファイルに web_search 設定が含まれている
  • [ ] default_mode"auto" に設定されている
  • [ ] grounding_threshold0.0 から 1.0 の間にある
  • [ ] リアルタイム情報が必要なリクエストを送信し、モデルが引用付きで応答する
  • [ ] 閾値を調整後、モデルの検索動作が変化する

すべて通過すれば、Google Search Grounding が正しく有効化されています!

よくある問題と解決策

問題 1:モデルが検索しない

症状auto モードを有効にしても、モデルが検索せず、引用元もない。

原因

  • 閾値が高すぎる(例:0.9)、モデルが極めて高い確信度でないと検索しない
  • 質問自体が検索を必要としない(例:プログラミングの質問)

解決方法

  • grounding_threshold0.2 以下に下げる
  • 明らかにリアルタイム情報が必要な質問でテストする(例:「今日の天気は?」「最新ニュース」)

問題 2:検索が頻繁すぎて応答が遅い

症状:すべての質問で検索が行われ、応答時間が明らかに増加。

原因

  • 閾値が低すぎる(例:0.1)、モデルが過度に頻繁に検索をトリガー
  • 質問のタイプ自体がリアルタイム情報を必要とする(例:株価、ニュース)

解決方法

  • grounding_threshold0.5 以上に上げる
  • タスクがリアルタイム情報を必要としない場合、default_mode"off" に変更

問題 3:設定ファイルのフォーマットエラー

症状:プラグインがエラーを報告し、設定を読み込めない。

原因:JSON フォーマットエラー(余分なカンマ、引用符の不一致など)。

解決方法:JSON 検証ツールを使用して設定ファイルをチェックし、フォーマットが正しいことを確認。

bash
# JSON フォーマットを検証
cat ~/.config/opencode/antigravity.json | python3 -m json.tool

このレッスンのまとめ

  • Google Search Grounding により、Gemini モデルがリアルタイムのウェブ情報を検索できる
  • web_search.default_mode: "auto" で有効化、"off" で無効化
  • grounding_threshold で検索頻度を制御:値が小さいほど検索頻度が高い
  • デフォルト閾値 0.3 はほとんどのシーンに適しており、実際の体験に基づいて調整可能
  • モデルは回答に引用元を含め、[citation:1] などでマークする

次のレッスンの予告

次のレッスンでは デュアルクォータシステム を学びます。

学べること:

  • Antigravity と Gemini CLI の 2 つの独立したクォータプールの仕組み
  • クォータプール間の切り替え方法と利用率の最大化
  • クォータプーリングのベストプラクティス

付録:ソースコード参照

クリックしてソースコードの場所を表示

更新日:2026-01-23

機能ファイルパス行番号
Google Search 設定スキーマsrc/plugin/config/schema.ts303-319
Google Search 型定義src/plugin/transform/types.ts85-88
Google Search 注入ロジックsrc/plugin/transform/gemini.ts402-419
Google Search 設定読み込みsrc/plugin/config/loader.ts173-184
Google Search 設定適用src/plugin.ts1194-1196

主要な設定項目

  • web_search.default_mode: "auto" または "off"、デフォルトは "off"
  • web_search.grounding_threshold: 0.0 - 1.0、デフォルトは 0.3

主要な関数

  • applyGeminiTransforms():Google Search 注入を含むすべての Gemini 変換を適用
  • normalizeGeminiTools():ツールフォーマットを正規化し、googleSearchRetrieval ツールを保持
  • wrapToolsAsFunctionDeclarations():ツールを functionDeclarations フォーマットにラップ

動作原理

  1. プラグインが設定ファイルから web_search.default_modeweb_search.grounding_threshold を読み込む
  2. mode === "auto" の場合、リクエストの tools 配列に googleSearchRetrieval ツールを注入:
    json
    {
      "googleSearchRetrieval": {
        "dynamicRetrievalConfig": {
          "mode": "MODE_DYNAMIC",
          "dynamicThreshold": 0.3  // grounding_threshold
        }
      }
    }
  3. Gemini モデルが閾値に基づいて検索ツールを呼び出すかどうかを判断
  4. 検索結果は応答に含まれ、引用元([citation:1] など)でマークされる