0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gemini Managed Agents API入門 — 1回のAPIコールでエージェントをサンドボックス実行する

0
Last updated at Posted at 2026-05-30

Gemini Managed Agents API — 単一APIコールでLinuxサンドボックスにエージェントをデプロイするアーキテクチャ図

はじめに

2026年5月19日のGoogle I/O 2026で、GoogleはGemini Managed Agents APIをリリースしました。1回のclient.interactions.create()呼び出しで、Gemini 3.5 Flashベースのエージェントが分離されたLinuxサンドボックス上でコード実行・Web検索・ファイル操作を自律実行します。

従来のエージェント構築では、サンドボックス環境の用意・ツール定義・実行ループのオーケストレーションなど多くのボイラープレートコードが必要でした。Gemini Managed Agents APIはこれを1回のAPIコールに集約し、開発者が本質的なエージェントの指示設計に集中できる仕組みを提供します。

公式ドキュメントをもとに、APIの全体像・Pythonでの実装方法・カスタムエージェントの定義手順を解説します。

この記事で学べること

  • Gemini Managed Agents APIのアーキテクチャと動作原理
  • Pythonクイックスタートからマルチターンエージェント実装まで
  • AGENTS.mdSKILL.mdによるカスタムエージェント定義
  • プレビュー期間中の料金体系と本番移行の注意点

対象読者

  • AIエージェントを最小コードで本番環境に投入したいエンジニア
  • Google AI StudioでのプロトタイプからAPIへ移行したい方
  • Claude Managed AgentsやOpenAI Codexとの選択肢を比較検討している方

前提環境

  • Python 3.10+
  • Gemini APIキー(Google AI Studioで取得)
  • google-genai ライブラリ v1.55.0+(Interactions API対応バージョン)

TL;DR

  • Gemini Managed Agents API = 1回のclient.interactions.create()でLinuxサンドボックス付きエージェントを起動
  • デフォルトエージェントはGemini 3.5 Flashベースのantigravity-preview-05-2026
  • コード実行・Webブラウジング・ファイル操作が標準搭載、外部ネットワークはデフォルト遮断
  • プレビュー期間中はサンドボックスのコンピューティング無料(モデル推論はGemini 3.5 Flash標準料金)
  • AGENTS.mdSKILL.mdでコードなしにエージェントをカスタマイズ・保存できる

Gemini Managed Agents APIの仕組み

Gemini Managed Agents APIアーキテクチャ: Client→Interactions API→Antigravity Agent(Linuxサンドボックス)の処理フロー

Gemini Managed Agents APIは、Interactions APIと「Antigravityエージェントハーネス」をベースに構築されています。

Client
  └─ POST /v1beta/interactions
       └─ Antigravity エージェント(Gemini 3.5 Flash ベース)
            ├─ 推論・計画(思考ループ)
            ├─ コード実行(分離 Linux サンドボックス)
            ├─ Web ブラウジング(Googleグラウンディング)
            └─ ファイル読み書き

主要コンポーネント

コンポーネント 役割
Interactions API エージェントの起動・会話管理のエントリーポイント
antigravity-preview-05-2026 Gemini 3.5 Flash ベースの汎用エージェント
remote 環境 分離されたエフェメラル Linux サンドボックス
environment_id マルチターン会話でサンドボックスを再利用するためのID
AGENTS.md エージェントの指示・ゴール・スキル定義ファイル
SKILL.md 再利用可能なカスタムスキルの定義ファイル

サンドボックスはデフォルトで外部ネットワークから分離されています。エージェントが実行できるのはサンドボックス内のファイル・パッケージ・データのみで、外部DBや本番APIへのアクセスは明示的な設定が必要です。

クイックスタート

インストール

pip install "google-genai>=1.55.0"

環境変数の設定

export GOOGLE_API_KEY="your-api-key-here"

最初のエージェント呼び出し

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="最初の20個のフィボナッチ数を生成するPythonスクリプトを書いて実行してください",
    environment="remote",
)

print(f"出力:\n{interaction.output_text}")
print(f"Interaction ID: {interaction.id}")
print(f"Environment ID: {interaction.environment_id}")

environment="remote" を指定すると新規のエフェメラル Linux サンドボックスが自動プロビジョニングされます。

レスポンスオブジェクトの主要フィールド:

フィールド 内容
interaction.output_text エージェントの最終出力テキスト
interaction.id 会話継続に使用するID
interaction.environment_id サンドボックスを再利用するためのID
interaction.steps エージェントの処理ステップ一覧

マルチターン会話

previous_interaction_idenvironment_id を指定することで、同一サンドボックスで会話を継続できます。サンドボックス内のファイルは environment_id が同じである限り保持されます。

# 1ターン目: データファイルを作成
interaction_1 = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="sales_data.csv ファイルを作成して、売上サンプルデータを100行入力してください",
    environment="remote",
)
print(f"1ターン目完了: {interaction_1.output_text[:100]}...")

# 2ターン目: 同じサンドボックスで分析を実行
interaction_2 = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="先ほど作成した sales_data.csv を読み込み、統計サマリーと月次集計を表示してください",
    environment=interaction_1.environment_id,       # サンドボックスを再利用
    previous_interaction_id=interaction_1.id,       # 会話履歴を継続
)
print(f"2ターン目完了:\n{interaction_2.output_text}")

リアルタイムストリーミング

長時間実行タスクの進捗をリアルタイムで追うには stream=True を使用します。処理ステップごとにイベントが届くため、ユーザーへの進捗表示に活用できます。

stream = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Webを検索して、2026年5月の主要AIリリースをまとめ、Markdown形式でレポートを作成してください",
    environment="remote",
    stream=True,
)
for event in stream:
    if event.event_type == "step":
        print(f"[Step] {event}")
    elif event.event_type == "output":
        print(f"[Output] {event}")

サンドボックス内ファイルのダウンロード

エージェントが生成したファイルは Files API でダウンロードできます。環境全体が tar アーカイブとして返されるため、tarfile で展開します。

import requests
import tarfile
import os

# エージェントにグラフを生成させる
interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="pandas と matplotlib を使って売上トレンドグラフを作成し、report.png として保存してください",
    environment="remote",
)

# Files API でサンドボックス環境全体をダウンロード(tar形式)
env_id = interaction.environment_id
api_key = os.environ["GOOGLE_API_KEY"]

response = requests.get(
    f"https://generativelanguage.googleapis.com/v1beta/files/environment-{env_id}:download",
    params={"alt": "media"},
    headers={"x-goog-api-key": api_key},
)
response.raise_for_status()

# tar アーカイブとして保存・展開
with open("snapshot.tar", "wb") as f:
    f.write(response.content)

with tarfile.open("snapshot.tar") as tar:
    tar.extractall(path="snapshot/")

print("ファイルを展開しました: snapshot/ ディレクトリに report.png が含まれています")

Files API のダウンロードはサンドボックス環境全体が tar アーカイブで返されます。特定ファイルのみの個別ダウンロードは現時点では非対応です(公式ドキュメント参照)。

AGENTS.mdでカスタムエージェントを定義する

AGENTS.mdとSKILL.mdでカスタムエージェントを定義→登録→デプロイする3ステップフロー

AGENTS.md にエージェントの役割・目標・使用スキルを記述することで、コードなしにカスタムエージェントを定義できます。

AGENTS.md サンプル

# DataAnalyst Agent

あなたは高度なデータアナリストです。ユーザーが提供するCSVまたはJSONファイルを解析し、
統計サマリー・外れ値検出・可視化グラフを自動生成します。

## Skills

- data-cleaner: データのクリーニングと欠損値補完
- chart-generator: matplotlib/seaborn によるグラフ生成

## Output Format

分析結果は以下の形式で返してください:
1. データ概要(行数・列数・データ型)
2. 統計サマリー(mean, std, min, max)
3. 外れ値レポート
4. 生成グラフのファイル名一覧

エージェントの保存と呼び出し

# カスタムエージェントをAPIに保存
agent = client.agents.create(
    id="data-analyst",
    base_agent="antigravity-preview-05-2026",
    system_instruction=open("AGENTS.md").read(),
)
print(f"保存済みエージェントID: {agent.id}")

# 保存したエージェントを呼び出し
interaction = client.interactions.create(
    agent=agent.id,           # "antigravity-preview-05-2026" の代わりにカスタムIDを指定
    input="sales_2026.csv を分析してください",
    environment="remote",
)
print(interaction.output_text)

保存したエージェントは複数のプロジェクトで再利用可能で、バージョン管理も行えます。

料金

課金対象 単価 備考
入力トークン(Gemini 3.5 Flash) $1.50/1M tokens 中間推論トークンも含む
出力トークン(Gemini 3.5 Flash) $9.00/1M tokens
サンドボックスコンピューティング 無料 プレビュー期間中のみ
Google グラウンディング(Web検索) 月5,000クエリ無料 以降 $14/1,000クエリ

公式料金ページ: Gemini API Pricing(2026年5月時点)

プレビュー期間中はサンドボックスのCPU・メモリ・実行時間のコンピューティング費用は無料です。モデル推論のみGemini 3.5 Flash標準料金が発生します。プレビュー終了後の料金体系は未発表のため、定期的に公式料金ページを確認することを推奨します。

注意点

サンドボックスの分離

デフォルトでサンドボックスは外部ネットワークから隔離されています。エージェントが内部DBや本番APIにアクセスするには明示的な設定が必要です。機密データを扱うエンタープライズ用途にはGemini Enterprise Agent Platformの利用を検討してください。

エージェントID変更の可能性

現在のエージェント名 antigravity-preview-05-2026 はプレビュー識別子です。GA後にIDが変更される可能性があるため、設定ファイルや環境変数で管理し、ハードコードは避けることを推奨します。

Computer Use非対応(現時点)

公式ドキュメントによると、現時点ではManaged Agents APIでのComputer Use(GUI操作)はサポートされていません。

まとめ

  • Gemini Managed Agents APIは1回のAPIコールでエージェントをLinuxサンドボックスで自律実行できるサービス(2026年5月Google I/O発表)
  • antigravity-preview-05-2026エージェントがGemini 3.5 Flashをベースにコード実行・Webブラウジング・ファイル操作を担当
  • previous_interaction_idenvironment_id でマルチターン会話とファイル永続化が可能
  • AGENTS.mdSKILL.md でコードなしにエージェントをカスタマイズ・保存・再利用できる
  • プレビュー期間中はサンドボックスコンピューティング無料、モデル推論はGemini 3.5 Flash標準料金

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?