Interactions API × Deep Research Agent 入門:Google が描く「自律型エージェント」の未来

僕が休んでいる間にも、エージェントは数百のサイトを読み解いていく未来
2025年12月11日、Google は生成 AI 開発の歴史を変える重要なリリースを行いました。
それが、Interactions API と、その上で動作する Gemini Deep Research Agent です。
これまで、LLM を使ったアプリケーション開発といえば、「チャットボット」が主流でした。しかし、今回のアナウンスは、AI の活用フェーズが「チャット」から「自律型エージェント」へと完全に移行したことを告げるものです。
この記事では、たった数行のコードで、数時間かかる市場調査レポートを AI に自律作成させるサンプルを通じて、この新技術の衝撃をお伝えします。
1. 何がすごいの?:Interactions API の革新性
従来の generateContent API との違いを一言で言えば、エージェントの思考ループを、クライアントからサーバーへ移譲(オフロード)したことです。
従来の LLM アプリケーション開発は、ステートレスな API(generateContent など)を中心に設計されていました。開発者は、会話の履歴やコンテキストをクライアント側で管理し、リクエストごとに全ての履歴をトークンとして送信する必要がありました。
ステートフル(Stateful)なアーキテクチャ
これまでの LLM アプリ開発(Function Calling 等)では、開発者がクライアント側で会話履歴を管理し、「モデルがツールを呼び出す」→「クライアントが実行して結果を返す」→「モデルがまた考える」というループ処理を実装する必要がありました。
具体的には以下の課題がありました。
-
コンテキストウィンドウの浪費: 毎回履歴を送信するため、トークン消費量が増大し、コストとレイテンシが悪化する。
-
複雑なオーケストレーション: 「思考(Thinking)」、「ツール実行(Tool Use)」、「結果の統合」といったマルチステップの処理を、クライアント側のコードで複雑に制御する必要があった。
-
セッションの断絶: 長時間のタスク(例:数分かかるリサーチ)を実行中にネットワークが切断されると、処理が中断してしまう。
Interactions API は、これらの課題に対する Google の回答です。
サーバーサイドでステート(状態)を管理し、非同期でのバックグラウンド実行を可能にすることで、開発者は「プロンプトエンジニアリング」から「エージェントオーケストレーション」へと注力領域をシフトできます。

サーバー側で会話履歴やエージェントの思考プロセス(Chain of Thought)を全て管理してくれるため、開発者は interaction_id さえ持っていれば、いつでも・どこからでも同じ文脈で会話を再開できます。
Model Context Protocol (MCP) との統合
Interactions API のもう一つの革新的な点は、Model Context Protocol (MCP) のネイティブサポートです。MCP は、AI モデルが外部ツールやデータソースに接続するための標準規格です。
Google は、Google Maps、BigQuery、Google Compute Engine (GCE) などの自社サービスを MCP サーバーとして提供開始しました。
これにより、開発者は複雑な関数呼び出し(Function Calling)の定義をクライアントコードに記述する代わりに、リモートの MCP サーバーを指定するだけで、エージェントに「Google Maps の検索能力」や「BigQuery の分析能力」を付与できます。
これが「Deep Research Agent」のような高度なエージェントを支える技術基盤となっています。
バックグラウンド実行(Long-running tasks)
従来の HTTP リクエスト/レスポンスモデルでは、タイムアウト(通常数分)の壁がありました。Interactions API の background=True オプションを使えば、HTTP 接続を維持し続けることなく、サーバー側で数十分かかるタスクを非同期に実行させることが可能です。
これにより、PC を閉じている間に「思考 → 検索 → 読解 → 再考」というループを数百回繰り返すような、真に自律的なエージェントの実装が可能になりました。
応用ユースケース
この「バックグラウンド実行」と「ステートフル」な特性を組み合わせると、私たちの働き方はどう変わるのでしょうか?

-
自宅 (7:00): 出かける前に「競合調査しておいて」とエージェントに投げ、PC を閉じる(
background=True)。 - 通勤中 (8:00): 電車に揺られている間、エージェントはクラウド上で「思考→検索→読解」のループを何百回も回し続ける。
- 会社 (9:00): オフィスに着いて PC を開くと、そこには数時間分の調査結果が凝縮されたレポートが届いている。
「待ち時間」が「生産時間」に変わる。これが Interactions API がもたらす体験の変革です。
2. 登場:Gemini Deep Research Agent
Interactions API の威力を最も体感できるショーケースが、同時に公開された 「Gemini Deep Research Agent」 です。
これは単なる検索ボットではありません。Gemini 3 Pro の高度な推論能力をフル活用した、人間レベルの自律型リサーチャーです。
圧倒的なベンチマーク性能
Deep Research Agent の実力は、最新のベンチマーク結果が証明しています。
Humanity's Last Exam (HLE)
Center for AI Safety と Scale AI が共同開発した、既存の AI ベンチマークが飽和する中で作られた超難関テスト「Humanity's Last Exam (HLE)」において、Deep Research Agent は 46.4% という SOTA (State-of-the-Art) スコアを記録しました。
- Gemini Deep Research Agent: 46.4%
- Gemini 3 Pro 単体: 37.52%
- GPT-5 Pro: 31.64%
- Claude Opus 4.5: 25.20%

Benchmark results provided by Google
この結果は、Deep Research Agent が単なるモデルのラッパーではなく、反復的な推論と検索を通じて、ベースモデル(Gemini 3 Pro)の知能を大幅に拡張させていることを示しています。
DeepSearchQA と BrowseComp
- DeepSearchQA: 17 分野にわたる「因果連鎖」タスクにおいて 66.1% を記録。
- BrowseComp: Web ブラウジング能力テストで 59.2% を記録。
これらのデータは、Deep Research Agent が「情報を探す」だけでなく、「情報の欠落を認識し、計画を修正しながら調査を完遂する」能力において卓越していることを示しています。
自律的リサーチの 4 ステップ
このエージェントは、以下のプロセスを何度も反復(Iterate)してアウトプットを出します。
- Planning(計画): ユーザーの漠然とした問いを、具体的な調査ステップに分解する。
- Execution(実行): ウェブ検索や内部ドキュメント検索を数百回規模で実行する。
- Iteration(反復): 知識の空白(Knowledge Gaps)を特定し、追加調査を行う。
- Synthesis(統合): 詳細な引用リンク(Citations)付きのレポートを作成する。
3. 試してみよう:「生成 AI 市場動向レポート」を自動生成する
では、実際に Python SDK (google-genai) を使って、このエージェントを動かしてみましょう。
今回は、エージェントに市場調査を依頼し、完了まで待つ(ポーリングする)シンプルな実装を行います。
シナリオは専門家レベルの生成 AI 市場動向と技術トレンド調査です。
事前準備
仮想環境の作成と有効化
Python の仮想環境 (venv) を使用することを推奨します。
python -m venv .venv
OS に合わせて仮想環境を有効化します。
# Mac / Linux
source .venv/bin/activate
# Windows CMD:
.venv\Scripts\activate.bat
# Windows PowerShell:
.venv\Scripts\Activate.ps1
Google Gen AI SDK のインストール
Google Gen AI SDK v1.0 以上をインストールします。
pip install -q -U google-genai
環境変数の設定
Gemini API Key を環境変数として設定します。
export GEMINI_API_KEY="あなたのAPIキー"
実装コード
驚くほどコードは短いです。
background=True でタスクを投げ、終わるまで待つだけです。
下記の Python Code を実行します。
リサーチ完了後、Current Direcotry に report.md が作成され、リサーチレポートが格納されます。
import time
import os
from google import genai
# クライアントの初期化(環境変数 GEMINI_API_KEY を使用推奨)
# 実際の実行には有効な API キーが必要です
client = genai.Client(api_key=os.environ.get("GEMINI_API_KEY"))
# 1. 調査タスクの定義
# 具体的であるほど、Deep Research の真価が発揮されます
prompt = """
以下のテーマについて、専門家レベルの調査レポートを作成してください。
テーマ: 「2025年における生成AI分野の市場動向と技術トレンド」
以下の構成で出力すること:
1. エグゼクティブサマリー
2. 主要な市場成長要因(エンタープライズ導入、マルチモーダル化など)
3. 2025年の注目技術トレンド(エージェント、動画生成、Gemini 3、推論モデルなど)
4. 主要プレイヤー(企業名)とその戦略の比較表
5. 結論と推奨事項
信頼できる複数の情報源に基づき、具体的な数値を交えて記述してください。
"""
print("🕵️ Deep Research Agent を起動します...")
# 2. Interactions API でエージェントを呼び出す
# 再開機能の実装:IDがあればそれを使い、なければ新規作成
interaction_id = input("再開する Interaction ID があれば入力してください (なければ Enter で新規作成): ").strip()
if interaction_id:
print(f"🔄 ID: {interaction_id} のタスク状況を確認します...")
else:
# background=True にすることで、非同期実行を開始
try:
interaction = client.interactions.create(
agent="deep-research-pro-preview-12-2025", # 最新のDeep Research Agentを指定
input=prompt,
background=True
)
interaction_id = interaction.id
print(f"✅ 調査を開始しました。Interaction ID: {interaction_id}")
print("💡 ヒント: このスクリプトを停止しても、上記の ID を入力すれば続きから再開できます!")
except Exception as e:
print(f"❌ エージェントの呼び出しに失敗しました: {e}")
exit(1)
print("☕ コーヒーでも飲んでお待ちください(数分〜数十分かかります)...")
# 3. 完了までポーリング(非同期実行の結果待ち)
while True:
try:
# 現在のステータスを確認
status_check = client.interactions.get(id=interaction_id)
status = status_check.status
if status == "completed":
print("\n🎉 調査完了!レポートを出力します。\n")
# 最後の出力(レポート本文)を取得
if status_check.outputs:
report_content = status_check.outputs[-1].text
# ファイルに保存
filename = "report.md"
with open(filename, "w", encoding="utf-8") as f:
f.write(report_content)
print(f"📄 レポートを {filename} に保存しました!")
print("------------- レポートプレビュー -------------")
print(report_content[:500] + "...\n(続きはファイルで確認してください)")
print("------------------------------------------")
break
elif status == "failed":
print(f"\n❌ エラーが発生しました: {status_check.error}")
break
# 進行中...
print(".", end="", flush=True)
time.sleep(10) # 10秒ごとに確認
except Exception as e:
print(f"\n⚠️ ステータス確認中にエラーが発生しました: {e}")
time.sleep(10)
実行結果のイメージ
数分(場合によっては 10 分以上)待つと、以下のようなレポートが出力されます(抜粋):

情報の深度と鮮度に注目してください。従来の LLM が「学習データ」から答えるのに対し、Deep Research は「今、Web を検索して」答えます。昨日発表されたニュースや、最新の規制文書までカバーされているはずです。
自社データも調査対象に
Deep Research Agent は、Web 検索だけでなく、ユーザーがアップロードしたファイル(PDF や CSV) も調査対象にできます。
tools=[{'type': 'file_search'}] を指定し、社内ドキュメントをアップロードしておけば、「自社の決算資料と、Web 上の競合ニュースを比較して分析する」といった高度なタスクも可能です。
4. エコシステム全体(ADK, A2A)との連携
この記事を読んでいるエンジニアの皆さんが気になるのは、「これを自社のシステムにどう組み込むか?」でしょう。
ここで登場するのが、Agent Development Kit (ADK) と Google が提唱するエージェント間通信の標準規格 Agent2Agent (A2A) Protocol です。
ADK との統合
Interactions API は、ADK を置き換えるものではなく、ADK のバックエンドとしても機能します。
これは、自作エージェントの推論エンジンとして Interactions API を採用するパターンです。
従来の Gemini モデルの設定にフラグを1つ足すだけで、会話履歴(ステート)の管理をサーバー側にオフロードできます。

-
メリット:
-
previous_interaction_idを渡すだけで会話が継続できるため、DBでの履歴管理コードが不要になる。 - 思考プロセス(Thoughts)がサーバー側で構造化され、取り扱いが容易になる。
-
# ADKでの実装イメージ
from google.adk.agents.llm_agent import Agent
from google.adk.models.google_llm import Gemini
from google.adk.tools.google_search_tool import GoogleSearchTool
root_agent = Agent(
model=Gemini(
model="gemini-2.5-flash",
# このフラグだけで Interactions API モードになり、ステート管理が不要に!
use_interactions_api=True,
),
name="my_stateful_agent",
tools=[
# Converted Google Search to a function tool
GoogleSearchTool(bypass_multi_tools_limit=True),
get_current_weather,
],
)
応用例と ADK 1.21.0 アップデートについて
Transparent Bridge (A2A Agent としての統合)
これは、Agent2Agent (A2A) プロトコルの相互運用性が最も輝くパターンです。
-
概念: 開発者は Agent2Agent (A2A) プロトコル を使用して、Google のホストするエージェント(Interactions API)と通信します。これにより、既存のマルチエージェントシステムに Deep Research を「リモートの同僚」としてシームレスに参加させることができます。
-
実装:
InteractionsApiTransportというアダプターを使用することで、A2A プロトコルのメッセージを自動的に Interactions API 呼び出しに変換します。このレイヤーは、A2A プロトコルの表面を直接 Interactions API の表面にマッピングします。つまり、API エンドポイントが「A2A を話す」ようになるのです。
これにより、Google がホストするエージェントを、単なる「リモートの A2A エージェント」として扱えるようになります。
ブリッジの仕組み
Transport レイヤーは、舞台裏で以下のような翻訳を行います:
-
A2A SendMessage → Interactions
create -
A2A Task →
Interaction ID -
A2A TaskStatus →
Interaction Status(例: IN_PROGRESS → TASK_STATE_WORKING)
なぜこれが重要なのか?
このアプローチにより、Interactions API は開発者体験にとって「透明(Transparent)」になります。
マルチエージェントシステムをリファクタリングすることなく、Deep Research のような強力な新しいツールに即座にアクセスできます。
- 新しい SDK の学習は不要: A2A クライアントコードはそのままです。
- ストリーミングのサポート: エージェントからのリアルタイム更新もマッピングされます。
-
設定のスマグリング: A2A の拡張機能(Extensions)を使用して、プロトコルを壊すことなく
thinking_summariesなどの固有設定を渡すことができます。
A2A プロトコルを使用した「Transparent Bridge」の実装イメージ
from interactions_api_transport import InteractionsApiTransport
from a2a.client import ClientFactory, ClientConfig
# 1. Transportの設定
# A2Aクライアントが Interactions API を "話せる" ようにする
client_config = ClientConfig()
client_factory = ClientFactory(client_config)
InteractionsApiTransport.setup(client_factory)
# 2. Deep Research Agent を「Agent Card」として定義
# 既存の A2A エージェントと同じように扱えるようになります(URLと名前を指定)
deep_research_card = InteractionsApiTransport.make_card(
url="https://generativelanguage.googleapis.com",
agent="deep-research-pro-preview-12-2025"
)
# Tips: 通常の Gemini モデルも A2A エージェントとして扱えます
# card = InteractionsApiTransport.make_card(
# url="https://generativelanguage.googleapis.com",
# model="gemini-3-pro-preview",
# request_opts={
# "generation_config": { "thinking_summaries": "data" }
# }
# )
# 3. クライアント作成 & メッセージ送信
# 自分のエージェントコードは、相手が "GoogleのAI" であることを知る必要はありません
client = client_factory.create(deep_research_card)
# 標準的な A2A プロトコルで会話(非同期タスクとして実行される)
async for event in client.send_message("2025年の生成AI市場動向について調査せよ"):
# Interactions API の "思考" や "結果" が、A2A のイベントに変換されて返ってくる
print(event)
このパターンを使えば、既存のコードベースを大きく書き換えることなく、バックエンドを最新の Gemini 3 Pro や Deep Research Agent にアップグレードできます。
「ADK との統合パターン」が自作エージェントの中身を強化するのに対し、「A2A Agent としての統合パターン」は自作エージェントに強力な相棒を与えるイメージです。
活用例:チャットツール(Google Chat など)への統合(概念)
これまで、チャットツールの Bot で「数十分かかる処理」を実装するのは困難でした(タイムアウトの壁など)。
しかし、この構成なら、以下のようなワークフローが簡単に実現できます。
- User: 「@Agent 2025年の生成AI市場動向を調べておいて」
-
Server:
- 即座に「承知しました(ID: 123)」とレスポンスし、タイムアウトを回避。
- 裏で Interactions API (
background=True) にタスクを投入。
- Interactions API: サーバー側で数十分かけてリサーチを実行。
- Server: 完了を検知(Webhook/Polling)し、チャットに通知。
このような「非同期・バックグラウンド実行」のパターンこそ、Interactions API が最も輝く領域です。
おわりに
Interactions API は、単なる「便利な機能追加」ではありません。これは、AI開発における戦略的なシフトを意味します。
- Deep Research のような高度なエージェントを段階的に採用できる
- 既存のマルチエージェントシステム(A2A Mesh)を維持したまま拡張できる
- ストリーミング、バックグラウンド実行、より豊かな推論能力を「より簡単に」手に入れられる
最も重要なのは、Interactions API が「Agentic AI(自律型AI)」を、実験的な科学プロジェクトのようなものから、信頼性の高いインフラストラクチャへと変貌させたことです。
これこそが、まさに生成 AI の次の時代(Next Era)に求められているものです。
Google が提供するこの新しい「開発者体験」を、ぜひあなたの手で体感してください。

Happy Hacking! 🎄
Discussion