ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-07-01上級

対話では動いたのに夜間だけ黙る——Antigravity のエージェント定義を対話と無人で同じ挙動にする

デスクトップの Antigravity では正しく動くのに、スケジュールした CLI 実行だと黙って何もしないエージェント。承認・文脈・秘密情報・実行環境の4点で経路差を吸収し、1つの定義を対話でも無人でも同じ挙動にする設計を、動くコードとプリフライト検査つきでまとめます。

antigravity405agents81cli7automation45

プレミアム記事

金曜の夜、手元のデスクトップでは完璧に動いていたエージェントを、そのままスケジュール実行に載せました。翌朝ログを開くと、コミットもプッシュも何も起きていません。エラーすら出ていません。ただ、承認待ちの画面がどこにも表示されないまま、静かにタイムアウトしていたのです。

これは Antigravity 2.0 が IDE とチャット型エージェントの2アプリに分かれ、さらに Antigravity CLI(agy)や Gemini Enterprise Agent Platform 経由のクラウド実行まで経路が増えたことで、より起きやすくなった問題です。同じエージェント定義が、対話実行を前提にした瞬間に、無人実行では成立しなくなります。私自身、個人開発で複数のブログとアプリの更新を、日中は対話で、夜間はスケジュールした CLI で回しているので、この「経路差」に何度もつまずいてきました。

経路ごとに定義をフォークしてしまうと、片方を直してももう片方が古いまま腐っていきます。ここでは定義を1つに保ったまま、対話と無人の差を4点で吸収する設計を、動くコードとともに整理します。

経路差は「速さ」ではなく「前提」の違いで壊れる

無人実行が失敗するとき、原因はモデルの賢さでも速度でもありません。ほとんどが、対話実行なら人間が無意識に埋めていた前提が、無人経路では欠落することです。私の経験では、経路差は次の4か所にほぼ集約されます。

破綻点対話(デスクトップ)無人(CLI・スケジュール・クラウド)
承認人が承認ダイアログで最終判断するダイアログが出せず、黙って待って落ちる
文脈@ 参照や選択範囲、開いているフォルダが暗黙に渡るそれらは存在せず、渡した文字列だけが文脈
秘密情報キーチェーンから対話的に取り出せるキーチェーンは開けず、環境変数か秘密ファイルのみ
実行環境対話シェルの PATH と作業フォルダが効く最小の PATH・作業ディレクトリ不定

大切なのは、これらを「無人実行でも動くように定義を書き換える」のではなく、「経路を1か所で判定し、経路ごとの差を吸収する層を挟む」ことです。定義本体はどちらの経路でも同じものを読みます。

まず経路を1か所で判定する

判定を各所に散らすと、対話用の分岐がコードのあちこちに増えて破綻します。エントリポイントで一度だけ判定し、以降は環境変数で引き回します。

# surface.sh — 実行経路を1か所で判定して引き回す
# 標準入出力が端末に繋がっていれば対話、そうでなければ無人とみなす
if [ -t 0 ] && [ -t 1 ] && [ -z "${AGY_SCHEDULED:-}" ]; then
  export AGY_SURFACE="interactive"
else
  export AGY_SURFACE="unattended"
fi
echo "surface=$AGY_SURFACE"

スケジューラや CLI から起動する場合は、確実に無人と分かるよう AGY_SCHEDULED=1 も併せて渡しておきます。端末判定だけに頼ると、パイプで繋いだ対話ケースを取りこぼすことがあるためです。この一行の保険が、後述の承認ポリシーを安全側に倒します。

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

この記事の続きを読む

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

この記事で得られること
デスクトップでは動いたのに CLI やスケジュール実行では黙って止まるエージェントの原因を、承認・文脈・秘密情報・実行環境の4点に切り分けて特定できるようになります
1つのエージェント定義を対話実行と無人実行の両方で同じ挙動にする、経路判定・承認ポリシー・秘密情報解決の実装パターンを自分のリポジトリへ導入できます
スケジュール登録の前に経路差を洗い出すプリフライト検査を組み込み、夜間の無人実行が翌朝に事故として顕在化するのを防げます
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Agents & Manager2026-06-28
処理させる記事の本文が、そのままエージェントへの指示になっていた話
Antigravity CLI で無人のコンテンツ整形パイプラインを回していると、処理対象ファイルの本文に紛れた指示文がエージェントの動作を乗っ取ります。指示チャネルとデータチャネルを構造的に分離し、出力スコープの受け入れゲートで逸脱を弾く設計をまとめました。
Agents & Manager2026-06-25
大型更新で無人実行が一晩で止まる前に — バージョンを段階導入するカナリアゲートの設計
大型更新の直後に無人実行が半分しか通らなくなった経験から、動作中の構成を凍結し、隔離プロファイルのカナリア検証で合否を判定してから本採用する段階導入ゲートの設計を、bashとPythonの実装とともにまとめます。
Agents & Manager2026-06-19
複数エージェントをどう束ねるか: 並列化する仕事と直列に残す仕事の線引き
Antigravity 2.0 で複数エージェントの真の並列実行が可能になりました。ただ全部を並列にすれば速くなるわけではありません。どの作業を並列に分け、どこを直列のまま残すか。依存関係と競合の観点から、破綻しないオーケストレーション設計を考えます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →