GEMINI LABEN
SUNSET — imagen-4.0 系の停止まで残り5日です。8月17日に imagen-4.0-generate-001 ほか3モデルが止まりますSAMPLING — 7月21日から temperature・top_p・top_k が非推奨になっています。停止日は示されていませんが、実装を点検しておく段階ですAPI — Interactions API が GA になり、最新の機能とモデルを使う際はこちらを推奨すると案内されていますROBOTICS — gemini-robotics-er-1.6-preview の停止は8月31日です。後継の ER 2 は7月30日から公開プレビューになっていますENTERPRISE — サードパーティの ID プロバイダを使う組織向けに、Gemini Enterprise のモバイルアプリが GA になりましたRENAME — NotebookLM Enterprise は Gemini Notebook Enterprise へ改称されています。資料を探すときの語も変わりますSUNSET — imagen-4.0 系の停止まで残り5日です。8月17日に imagen-4.0-generate-001 ほか3モデルが止まりますSAMPLING — 7月21日から temperature・top_p・top_k が非推奨になっています。停止日は示されていませんが、実装を点検しておく段階ですAPI — Interactions API が GA になり、最新の機能とモデルを使う際はこちらを推奨すると案内されていますROBOTICS — gemini-robotics-er-1.6-preview の停止は8月31日です。後継の ER 2 は7月30日から公開プレビューになっていますENTERPRISE — サードパーティの ID プロバイダを使う組織向けに、Gemini Enterprise のモバイルアプリが GA になりましたRENAME — NotebookLM Enterprise は Gemini Notebook Enterprise へ改称されています。資料を探すときの語も変わります
記事一覧/API / SDK
API / SDK/2026-06-28上級

Managed Agents が静かに止まった朝、ログに手がかりが何も残っていなかった — 走行を外側から追える観測層の設計

Gemini Managed Agents はサンドボックスが Google 側にあるため、止まったときに自分のログ基盤へ手がかりが残りません。ストリームイベントを刻んで台帳化し、無音の停止を検知し、後から読める事後ログに畳む観測層を、そのまま動く TypeScript で設計します。

Gemini API207Managed Agents8観測性信頼性設計3Cloudflare Workers6TypeScript8

プレミアム記事

夜間に自律実行している処理が、ある朝だけ成果物を残していませんでした。スケジュールの実行記録には「開始」はあるのに「完了」がない。気づいたのは次の定期チェックが走った 20 分以上あとで、そのときにはもう、何が起きていたのかを示す手がかりがどこにも残っていませんでした。

理由を突き止めようとして、はたと困りました。処理の本体は Gemini の Managed Agents、つまり Google 側の隔離サンドボックスの中で動いています。私の手元には、エージェントを起動した一行と、結果を受け取るはずだった受け口しかありません。普段使っているログ基盤は、自分のプロセスの中で起きたことしか記録できないので、サンドボックスの中で静かに止まった瞬間については、何も語ってくれませんでした。

この記事は、その「静かに止まる」という失敗に対して、サンドボックスの外側に観測層を作って走行を後から追えるようにするまでの設計をまとめたものです。個人開発で夜間バッチを無人で回している立場から、実際に組んで効いた形だけを書きます。

静かに止まる、という失敗のかたち

エラーで落ちる失敗は、まだ扱いやすい部類です。例外が飛び、スタックトレースが残り、アラートが鳴ります。やっかいなのは、例外も出さずに進捗だけが止まる失敗です。

Managed Agents は計画・ツール呼び出し・コード実行をサンドボックス内で回します。その途中で、外部 API が無言でタイムアウトしたり、エージェントが同じ手を延々とやり直すループに入ったり、ツールの戻りを待ったまま先に進まなくなったりします。こうしたとき、オペレーションは「失敗」にも「成功」にも遷移せず、ただ進捗が来なくなります。受け口の側からは「まだ終わっていない」としか見えません。

私の環境では、この無音の停止が朝まで気づかれないのが一番の痛点でした。落ちてくれれば再試行できますが、止まったまま戻らないものは、誰かが「おかしい」と思うまで放置されます。観測層に最初に求めた要件は、派手な可視化ではなく「無音の停止を、無音のままにしない」ことでした。

なぜ普段のログ基盤では追えないのか

LLM 向けの観測ツール(分散トレースやエラー収集の類)は、どれも前提として「あなたのプロセスの中で計測する」設計です。リクエストを送る直前と受け取った直後にフックを差し込み、その区間を記録します。これは自前のエージェントループには完璧に効きます。

ところが Managed Agents では、ループの本体がサンドボックスの中にあります。私の側のコードは、起動して、ストリームを受け、最後のメタデータを受け取るだけです。つまり計測できる接点が、外から見えるイベントの流れ終わったあとのメタデータの二つしかありません。サンドボックスの中の一手一手に、自分のトレーサーを差し込むことはできません。

この制約を受け入れると、設計の方向が決まります。中を覗くのを諦め、外から見えるイベントを取りこぼさず刻み、その積み重ねから走行を再構成する。観測の主語を「プロセス」から「イベントの台帳」に移すわけです。

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

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
サンドボックスの中に入れない前提で、ストリームイベントと最終メタデータだけから走行を再構成する『走行台帳』のKVスキーマと、工程ごとに追記する実装
『無音の停止』を最後の進捗時刻からのアイドル経過で検知するしきい値の決め方と、私の夜間運用で検知までの時間が約21分から約80秒に縮んだ実測
失敗を7種類に正規化して事後ログへ畳むコードと、想定内の失敗と本当に追うべき失敗を切り分ける分類表
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

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

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

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

関連記事

API / SDK2026-08-02
environment hooks に置いた門番の実測 — 判定は46マイクロ秒、起動は23ミリ秒
Managed Agents の environment hooks に破壊的コマンドのガードを置くまでの記録です。正規表現の denylist が20件中9件を素通りさせた実測から、argv 分解による検出率100パーセントまでの3段階と、判定より500倍重い起動コストの内訳をまとめました。
API / SDK2026-07-19
Managed Agents を background: true で走らせて画面を止めない — 個人開発の非同期ラン設計
Managed Agents の background 実行は結果ではなくラン ID を即座に返します。ポーリングの最小構成と、個人開発での使いどころ、認証情報リフレッシュの注意点を実務目線でまとめました。
API / SDK2026-07-18
Managed Agent の長時間走行がサンドボックス再生成で消える前に — チェックポイントと冪等リジュームの設計
Managed Agents のサンドボックスは再生成されます。40分走った処理が振り出しに戻る前に、進捗を外部へ逃がすチェックポイントと、副作用を二度実行しない冪等リジュームを設計します。SQLite で動く実装つき。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →