AIエージェント入門

Gemini Managed Agents強化、予算管理と環境フックを追加

Gemini Managed Agentsに予算管理と環境フックが追加されたことを示すサムネイル画像

この記事の結論

Gemini APIのManaged Agentsに予算上限・Environment hooks・無料枠が追加。設定コード例とClaude Managed Agentsとの違いを解説。

Googleが2026年7月28日、Gemini APIの「Managed Agents」に新機能をまとめて追加した。目玉はmax_total_tokensによるトークン予算の上限設定、ツール呼び出しの前後に任意のスクリプトを差し込める「Environment hooks」、そして無料枠プロジェクトでもManaged Agentsを使えるようになった点だ。あわせてサンドボックス環境を一覧・削除できる「Environments API」も公開された。

Managed Agentsは2026年5月19日にパブリックプレビューとして始まった、Googleがホストする隔離Linuxサンドボックス上でAIエージェントを自律的に動かす仕組みだ。自前でエージェントの実行基盤(コンテナ管理、ファイルシステム、ネットワーク制御)を構築しなくても、APIを呼ぶだけでコード実行・ファイル操作・Web閲覧までこなす常駐エージェントを持てる。今回の更新は、この基盤を「暴走させずに本番運用する」ための実務的な機能が中心になっている。

何が変わったのか — 新機能を一覧で整理する

今回の更新で追加・変更された項目は次の5つだ。いずれも2026年7月28日付のGoogle公式ブログで発表されている。

項目 内容
デフォルトモデル Antigravityエージェント(antigravity-preview-05-2026)が Gemini 3.6 Flash をデフォルトで使用
Environment hooks ツール呼び出しの前後(pre_tool_execution / post_tool_execution)に任意のスクリプトを実行できる
Budget controls agent_config 内の max_total_tokens で入力・出力・思考トークンの合計消費に上限を設定できる
Environments API コードからサンドボックスセッションを一覧・確認・削除できる。オフライン状態のサンドボックスは最後のアクティブ化から7日間保持され、その後は自動TTLクリーンアップで削除される
無料枠対応 課金が有効になっていないプロジェクトのAPIキーでもManaged Agentsを利用できるようになった

加えて、cronスケジュールでエージェント・環境・プロンプトを1つの永続リソースとして束ね、手動操作なしで定期実行できる「Scheduled triggers」も追加された。ただし公式ブログにはこの機能の具体的なコード例は掲載されておらず、実装の詳細はAntigravityエージェントのドキュメントに委ねられている。実装時は必ず公式ドキュメントで最新の関数名・引数を確認してほしい。

予算管理|max_total_tokensでエージェントの暴走を止める

AIエージェントを本番で動かす際に開発者が最も恐れるのが「ループして止まらない」「思考トークンだけで予算が溶ける」という暴走パターンだ。Managed Agentsではagent_configmax_total_tokensを渡すことで、この上限を明示的に設定できるようになった。

// agent_config で合計トークン消費の上限を指定する
agent_config: {
  max_total_tokens: 10000
}

上限に達すると、実行は安全に一時停止し、interactionのステータスとしてstatus: "incomplete"が返る。環境の状態(サンドボックス内のファイルや実行途中の作業)はそのまま保持されるため、続きから再開したい場合はprevious_interaction_idに新しい予算を添えて渡せばよい。1回のAPI呼び出しごとに予算をリセットしながら、段階的にタスクを進められる設計だ。

なお、Managed Agentsのモデル推論はGemini 3.6 Flashの通常料金がそのまま適用される。公式料金ページによると、Standard階層で入力$1.50/出力(思考トークン込み)$7.50(いずれも100万トークンあたり)。プレビュー期間中はサンドボックスのCPU・メモリ・実行環境そのものの課金はされないが、モデル推論とツール呼び出しの課金は通常どおり発生する。max_total_tokensは、この「思考トークンが積み上がって想定外の請求になる」リスクに対する直接的なガードレールと言える。

Environment hooksでツール呼び出しに介入する

もう1つの大きな追加が、ツール呼び出しの前後に自分のスクリプトを挟み込める「Environment hooks」だ。.agents/hooks.jsonに設定を書き、pre_tool_execution(実行前)とpost_tool_execution(実行後)のイベントごとにコマンドを紐づける。

{
  "security-gate": {
    "pre_tool_execution": [{
      "matcher": "code_execution|write_file",
      "hooks": [{
        "type": "command",
        "command": "python3 /.agents/hooks-scripts/gate.py"
      }]
    }]
  }
}

この例では、エージェントがcode_executionまたはwrite_fileツールを呼ぼうとするたびに、事前にgate.pyが実行される。危険なコマンドやファイルパスを検知して実行を止める「セキュリティゲート」を、エージェント本体のプロンプトではなくインフラ側のフックとして実装できるのが利点だ。プロンプトインジェクション対策を検討している開発者にとっては、システムプロンプトへの防御記述だけに頼らない多層防御の1つの手段になる。

Environments APIでサンドボックスを管理する

Managed Agentsは1プロジェクトあたり最大1,000個のエージェントに対応し、実行環境にはUbuntu・Python 3.12・Node.js 22が用意されている。エージェントが増えてくると「どのサンドボックスがまだ生きているか」「不要な環境を掃除したい」という管理ニーズが出てくる。これに応えるのがEnvironments APIだ。Python SDKでの操作例は次のとおり。

# サンドボックス環境の一覧を取得する
for env in client.environments.list(page_size=10):
    print(f"Environment ID: {env.environment_id}, Type: {env.type}")

# 特定の環境を取得する
env = client.environments.get(name="environments/YOUR_ENVIRONMENT_ID")

# 不要になった環境を削除する
client.environments.delete(name="environments/YOUR_ENVIRONMENT_ID")

接続が切れて環境IDを見失った場合の復旧や、パイプライン終了時のクリーンアップ処理に使える。前述のとおり、オフライン状態のサンドボックスは最後のアクティブ化から7日間で自動削除されるが、コスト管理の観点からは明示的にdeleteを呼んでおいた方が安全だ。トークン予算だけでなく、動かしっぱなしのサンドボックスも「見えないコスト」の温床になりやすい。この点は、AIエージェント運用コスト全体の可視化という文脈でも重要になる。

Claude Managed Agentsとの違いは?

「Managed Agents」という名称はAnthropicのClaude Managed Agentsとも重なる部分があり、混同されやすい。現時点で公式に確認できる範囲で、両者の違いを整理する。

項目 Gemini API Managed Agents Claude Managed Agents
提供元 Google(Gemini API) Anthropic(Claude Developer Platform)
デフォルトモデル Gemini 3.6 Flash(Antigravityエージェント) Claudeモデル群(用途別にルーティング)
予算制御 max_total_tokensで上限設定、超過時はstatus: "incomplete" Claude Agent SDK側のコスト管理・ルーティング設計に依存
実行環境 Ubuntu / Python 3.12 / Node.js 22のホスト型サンドボックス クラウドエージェント基盤(Anthropicがインフラを管理)
無料利用 課金未設定のプロジェクトでも利用可能 プラン・APIキーの契約内容に依存

どちらも「エージェントの実行基盤を自前で構築しなくていい」という思想は共通しているが、Geminiは今回の更新で予算制御とフック機構を前面に押し出した。すでにClaude Managed Agentsを使っている開発者にとっても、コスト暴走対策の実装アイデアとして参考になる部分が多い。

「エージェントモード」と何が違うのか

Gemini関連の検索でよく見かける「Geminiのエージェントモードとは?」という疑問と、今回のManaged Agentsは別物なので整理しておく。エージェントモードは、Gemini アプリやGemini CLI・Code Assistなどのプロダクトに搭載された、ユーザーが対話しながら使う自律実行機能を指すことが多い。一方でManaged Agentsは、開発者がAPI経由で自分のアプリケーションに組み込む、Googleホスト型のエージェント実行基盤そのものだ。エンドユーザー向け機能か、開発者向けインフラかという点で役割が異なる。

開発者が今すぐ確認すべきこと

  • 既存のManaged Agents実装がある場合、agent_configmax_total_tokensを追加して予算上限を明示する
  • 本番投入前のコード実行・ファイル書き込み系ツールには、.agents/hooks.jsonでpre_tool_executionフックを設定し、危険な操作を機械的にブロックする経路を用意する
  • 長期運用しているサンドボックスは、Environments APIで一覧を取り、使っていない環境を定期的に削除する運用に切り替える
  • スケジュールトリガー(cron実行)は正式なコード例が公式ブログにまだ無いため、実装前に必ずAntigravityエージェントの最新ドキュメントで関数名・引数を確認する

まとめ

今回の更新の本質は、Managed Agentsが「動くこと」から「安全に運用できること」へ重心を移した点にある。トークン予算の上限、ツール呼び出しへの介入、サンドボックスの一覧・削除という3点セットは、どれも「エージェントを一度動かして終わり」ではなく、複数エージェントを継続運用するフェーズで必要になる機能だ。無料枠での利用解禁も、まず小さく試してから予算設計を詰めるという開発フローと相性がいい。Gemini APIでエージェントを構築している、あるいはこれから構築する開発者は、既存実装にmax_total_tokensを足すところから着手するのが現実的な第一歩になる。

参考・出典

よくある質問

Managed Agentsは無料で使えますか?

2026年7月28日の更新で、課金が有効になっていないプロジェクトのAPIキーでもManaged Agentsを利用できるようになった。ただしモデル推論自体はGemini 3.6 Flashの通常料金(100万トークンあたり入力$1.50・出力$7.50)が発生する点には注意したい。

max_total_tokensの上限に達したらどうなりますか?

実行は安全に一時停止し、interactionのステータスがstatus: "incomplete"として返る。環境の状態は保持されるため、previous_interaction_idと新しい予算を渡せば続きから再開できる。

Claude Managed Agentsと同時に検討すべきですか?

用途とすでに使っているモデルに依存する。両者の思想は近いため、片方で予算制御やフック機構を実装した経験は、もう片方の設計にもそのまま応用できる。

この記事を読んでAIエージェントの本番運用イメージが固まってきた方へ

UravationではAIエージェント導入の研修・コンサルを行っています。


あわせて読みたい

この記事はAIgent Lab編集部がお届けしました。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年8月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事