ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-05-29上級

Antigravity 長時間実行エージェントの監視設計 — watchdog と段階的リカバリ

AdMob 収益最適化を 8 週間バックグラウンドエージェントに任せて見えた、長時間タスクが静かに停止する 3 つの故障モード。watchdog タイマーと段階的リカバリの実装メモを残します。

agents90antigravity435watchdogobservability17production59

プレミアム記事

廣川政樹(@dolice)です。2014 年から個人開発を続けてきて、累計 5,000 万 DL の壁紙・癒し系アプリ群を運用しています。直近 8 週間、AdMob の eCPM 最適化と Crashlytics トリアージを Antigravity のバックグラウンドエージェントに任せきりにしてみました。最初の 3 週間で気づいたのは、「エージェントは壊れたまま静かに走り続ける」という事実です。プロセスは生きている、ターミナルにも何も出ない、けれど中身は何も進んでいない。

ここでは、その 8 週間で観測した 3 種の停止モードと、最終的に落ち着いた watchdog + heartbeat + 段階的リカバリの設計を残しておきます。一晩中エージェントを走らせるタイプの個人開発者に向けたメモです。

観測された 3 つの停止モード

長時間実行のエージェントが「静かに止まる」とき、内訳はだいたい次の 3 種類に収れんしました。8 週間で合計 142 件の異常終了をカウントし、内訳は次の通りです。

  1. 無応答型(41%) — LLM 呼び出しのあと応答が来ず、SDK 側でタイムアウトもリトライも発火しない。プロセス的には alive、CPU 使用率 0% で固まる。
  2. セッション枯渇型(34%) — Antigravity の workspace セッションが内部的に切れ、新しい tool 呼び出しが全て無音で失敗する。エラーは握りつぶされ、エージェントは「次の計画」を考え続ける。
  3. コンテキスト溢れ型(25%) — 投入コンテキストが上限を超えてエージェントが省略モードに入り、過去の決定を「思い出せない」まま同じステップをループする。

どれも共通して、外形監視だけでは検知できません。プロセスは生きているし、メモリも CPU も平穏です。中の論理状態を見ないと判らない。これが、外形監視に頼ってきた個人開発者がハマる最大の落とし穴でした。

アーキテクチャ全体像

最終的に落ち着いた構成はこうです。

  ┌────────────────────────────────┐
  │ Agent Process (Antigravity)    │
  │  - business logic              │
  │  - heartbeat(stage, progress)  │──┐
  └────────────────────────────────┘  │ writes
                                       ▼
                            ┌───────────────────┐
                            │ heartbeat.json    │ (atomic write)
                            └───────────────────┘
                                       ▲
                                       │ reads (5s interval)
  ┌────────────────────────────────┐  │
  │ Supervisor Process             │──┘
  │  - watchdog timer              │
  │  - tiered recovery             │
  │  - escalation log              │
  └────────────────────────────────┘

エージェント本体は自分の進捗を heartbeat.json に書き込むだけ。判断は全て supervisor 側に寄せます。エージェントが壊れたとき、自分で自分を救えるとは限らない、という前提です。

なぜ自己監視ではなく外部 supervisor か

AI エージェントに「もし自分が止まっていたら復旧してください」と頼むパターンを最初に試したのですが、3 つの停止モードのうち 2 つで失敗しました。無応答型では復旧コードまで辿り着かないし、コンテキスト溢れ型では「自分が止まっている」という事実そのものを忘れます。supervisor は独立した別プロセスで持つ、というのが結論です。

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

この記事の続きを読む

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

この記事で得られること
AdMob 8週間運用で観測した3種の停止モード(無応答 / セッション枯渇 / コンテキスト溢れ)とそれぞれの検出条件
TypeScript 約 90 行で実装する watchdog + heartbeat プロトコルの完全コード
段階的リカバリ(soft retry / context reset / agent rotation)の判定フローと、6 サイト並行運用で計測した recovery ratio 87%
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Agents & Manager2026-05-27
Antigravity Agent の Record & Replay — 失敗を3分で再現する本番運用パターン
Antigravity の自律エージェントが本番で失敗した瞬間を、後からオフラインで決定的に再生する Record & Replay の設計と実装。Dolice Labs 4 サイトを並行運用してきた経験から、ストレージ設計・PII マスク・ハーネスのコードまで具体的に解説します。
Agents & Manager2026-07-05
エージェント開発スタックの『既知の正常』を1枚のロックファイルで守る — 可動部が同時に動く時代の変更予算設計
IDEビルド・CLI・モデル・依存が同時に動くと、回帰の原因が特定できなくなります。既知の正常を1枚のロックファイルに固定し、一度に動かす軸を絞る変更予算の設計を、実装コードと運用ログで整理しました。
Agents & Manager2026-06-15
Antigravity のマルチエージェントを本番で壊さない封じ込め設計 — 連鎖障害を止める3つの境界の実装メモ
Antigravity のマルチエージェント構成は単体では綺麗に動くのに、本番では小さな失敗が全体に波及します。連鎖障害を止めるための制御の階層化・信頼境界・観測と冪等性という3つの境界を、TOML 設定と相関IDラッパーの実装まで含めて整理しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →