◉ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
⬡ 連携・プラグイン/2026-06-17上級

スケジュール実行の直前に、Antigravity CLI が本当に応答するかを1回だけ確かめる

6月18日の Gemini CLI 提供終了で Antigravity CLI へ載せ替えると、認証切れや当日の不調が無人のジョブを静かに空振りさせます。スケジュール本体を起動する前に CLI の生存を1回だけ確かめ、失敗を種類で振り分けて止める preflight の設計と実装をまとめました。

Antigravity CLI43Gemini CLI13スケジュール実行10preflight自動運用6integrations21

✦ プレミアム記事

6月18日で Gemini CLI と Gemini Code Assist の IDE 拡張が、AI Pro・Ultra・無料個人向けのリクエスト処理を停止します。後継は Go で書き直された Antigravity CLI です。対話で叩く分には、当日に gemini を antigravity へ読み替えれば済みます。

困るのは、人間が画面を見ていない時間帯です。個人開発で App Store と Google Play に出している複数アプリと、複数サイトの更新を夜間のスケジュールに載せていると、CLI が新しい実装へ切り替わった初日には、認証トークンの形式が変わっていたり、当日の混雑でモデルが一時的に応答しなかったり、といった「環境側の小さな不調」が起こり得ます。そして厄介なことに、エージェント型の CLI はこうした不調のときでも、終了コード 0 のまま何も生成せずに終わることがあります。私自身、別件で「成功した扱いなのに成果物が増えていない」朝を経験して以来、本処理を起動する前に CLI の生存を一度だけ確かめる小さな関門を、すべてのスケジュールの前段に置くようにしました。

「失敗」より怖い「何も起きなかった」

終了コードが非ゼロで落ちてくれるなら、まだ扱いやすいのです。リトライを組み、回数を超えたら通知すればいい。本当に見つけにくいのは、CLI が「正常終了」として返ってくるのに、実際にはモデルへ一度も到達していないケースです。

新しいバイナリへ載せ替えた初日には、これが現実に起こり得ます。認証の参照先が変わってトークンが空のまま渡る、設定ファイルの探索パスがずれて既定モデルが解決できない、当日のリクエスト集中でゲートウェイが一時的に断る。いずれも「コマンドとしては起動して、すぐ静かに返る」挙動になりがちです。後段のスケジュールはそれを成功とみなして次へ進み、結果として「その晩だけ、何も更新されなかった」という穴があきます。

ここで効くのが、本処理そのものではなく、本処理を起動してよいかを先に問う段です。発想は単純で、ごく短いプロンプトを一度だけ投げて、期待した文字列が返ってくるかを確かめます。返ってこなければ、その晩は本処理を起動しません。空振りに高いコストを払う前に、安いカナリアで様子を見るという順番です。

preflight が確かめるべき4つの層

ひとことで「生きているか」と言っても、止まり方には段階があります。preflight が切り分けたい層は、次の4つです。

  1. バイナリそのものが解決できるか
  2. 認証トークンが生きているか
  3. モデルへ到達して応答が返るか
  4. 返ってきた応答が空でないか

第1に、バイナリそのものが解決できるか。移行直後はパスが通っていない、別アカウントの環境で antigravity が存在しない、といった初歩的な不在が起こります。これは command -v で即座に判定できます。

第2に、認証が生きているか。トークンの期限切れや参照先の取り違えは、移行初日に最も起こりやすい層です。ここは応答本文にエラー文言が含まれるかで推定します。

第3に、モデルへ実際に到達して応答が返るか。既定モデルが解決できない、当日の混雑で断られる、といった一過性の不達はこの層です。短いカナリアを投げて、期待文字列の有無で判定します。

第4に、応答が空でないか。終了コードが 0 でも本文が空、というのが今回いちばん潰したいパターンです。文字数がしきい値未満なら「到達していない」と見なします。

この4層を順に確かめ、どこで止まったかを別々の終了コードで返すのが preflight の役割です。一括で「失敗」とだけ返すと、原因の切り分けが翌朝の手作業に押し戻されてしまいます。

✦

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

この記事の続きを読む

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

この記事で得られること
✦認証切れ・バイナリ不在・クォータ枯渇・モデル不達を切り分けて、本処理を起動するかどうかを機械的に決める preflight の判定ロジック
✦1トークンのカナリアプロンプトで CLI の生存を確かめ、JST 1行ログを残すラッパースクリプトの完全版
✦観測モードから始めて誤判定で本処理を止めすぎないようにする、しきい値と例外パスの決め方
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ 連携・プラグイン2026-11-06
Conductor を Gemini CLI 拡張から Antigravity CLI のプラグインへ。spec.md と plan.md は動かさず、導入の前後だけ見比べる
Conductor が Gemini CLI の拡張機能からプラグインになり、Antigravity CLI でも使えるようになりました。conductor/ に溜めた spec.md と plan.md は移す必要がなく、導入の前後で何も変わっていないことを確かめる小さなスクリプトと手順をお伝えします。
⬡ 連携・プラグイン2026-10-22
プロジェクト直下の mcp_config.json が読まれているのに MCP が立ち上がらない — プローブ 1 本で確かめる
Antigravity CLI のログには project-local の設定ファイルを使うと出るのに、MCP サーバーは起動しない。公式リポジトリの Issue 報告をもとに、ログの文言が指すものと、起動の有無を自分で確かめる最小のプローブサーバーをまとめます。
⬡ 連携・プラグイン2026-10-19
Antigravity CLI に GitHub MCP を繋ぐ最初の 1 本 — 書き換えるのは url の 1 語だけでした
Antigravity CLI で GitHub MCP を使うには、設定の url を serverUrl に書き換える必要があります。公式の MCP ドキュメントを根拠に、リモート接続と Docker 接続の書き方、読み込む前の検査スクリプト、トークンの置き場所と切り分けの順番をまとめます。