ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
連携・プラグイン/2026-06-19中級

Antigravity CLI を無人で動かすとき、失敗だけを静かに知らせる仕組み

Antigravity CLI をスケジュール実行する際、成功時は沈黙し、人が対応すべき失敗だけを通知する小さなラッパーの作り方を、終了コードの扱い・一過性エラーの切り分け・重複抑制まで含めて整理します。

Antigravity CLI21自動化34通知スケジュール実行9シェルスクリプト2

プレミアム記事

先日の深夜、自分の自動化が原因で眠りを妨げられました。スケジュールに載せた処理がほんの少し詰まっただけで、手元のスマートフォンが何度も短く震えたのです。翌朝ログを開くと、本当に対処が必要だった失敗は一件だけ。残りはすべて、数分後には自然に回復していた一過性の揺れでした。

Gemini CLI の提供が 6 月 18 日に終わり、後継として Go で書き直された Antigravity CLI へ移行したことで、私自身が手元に持っていた無人実行のスクリプトも一斉に載せ替えることになりました。新しい CLI は応答が速く、起動も軽い。けれど「何を通知するか」という設計は CLI が変わっても自分で決めなければなりません。今日は、成功時は黙り、人が動くべき失敗だけを静かに知らせる、その小さな仕組みを共有します。

鳴りすぎる通知は、鳴らない通知と同じくらい危ない

無人実行を組み始めた頃、私は「とにかく結果を全部通知する」設定にしていました。成功も失敗も、すべて手元に届く。安心できそうに見えて、実際には逆でした。

毎回届く成功通知に目が慣れてしまうと、その中に紛れた一件の失敗を見落とします。四つのブログサイトの自動更新と、いくつかのアプリの AdMob 収益チェックを並行で回していた時期は、一日に数十件の通知が積み上がり、肝心な異常がスクロールの彼方へ消えていきました。

通知の価値は、数ではなく「届いたら必ず手が止まる」という信頼にあります。だからこそ、設計の出発点は足し算ではなく引き算に置きます。届けないものを先に決め、残ったものだけを鳴らす、という順序です。

成功時の沈黙を、終了コードで担保する

最初の土台は、Antigravity CLI の終了コードです。シェルから起動した CLI は、正常終了で 0 を、異常終了で 0 以外を返します。この値こそが、通知するかしないかを分ける一次判定になります。

標準出力と標準エラーは一つのログファイルへ集約しておきます。後で失敗の中身を読むときも、通知の本文を組み立てるときも、この一本のログが頼りになるためです。

#!/usr/bin/env bash
set -uo pipefail
 
LOG_DIR="${HOME}/.agy-runs"
STATE_DIR="${HOME}/.agy-state"
mkdir -p "$LOG_DIR" "$STATE_DIR"
 
# 第1引数をタスク名として受け取り、残りを CLI へ素通しする
TASK="${1:?task name required}"
shift
 
LOG="${LOG_DIR}/${TASK}-$(date +%Y%m%d-%H%M%S).log"
 
# Antigravity CLI を実行し、出力をすべてログへ集約する
agy run "$@" >"$LOG" 2>&1
CODE=$?
 
echo "task=${TASK} exit=${CODE} log=${LOG}"

ここで大切なのは set -e を使わない判断です。CLI が失敗した瞬間にスクリプト全体が止まってしまうと、その後の「失敗を分類して通知するかどうか決める」処理に進めません。失敗は止める対象ではなく、観察して扱う対象です。set -uo pipefail だけを残し、終了コードは自分の手で受け取ります。

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

この記事の続きを読む

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

この記事で得られること
終了コードと標準ログを土台に、成功時は沈黙する無人実行ラッパーの実装
一過性のレート制限・認証切れと、人が見るべき失敗を切り分ける分類ロジック
同じ失敗を6時間鳴らさない重複抑制で、アラート疲れを防ぐ運用設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

連携・プラグイン2026-07-01
配布経路に縛られない Antigravity CLI 自動化 — コンシューマ版と Google Cloud 提供版の両にらみ
7/1 の発表で Antigravity CLI が Gemini Enterprise Agent Platform 経由でも提供され始めました。個人の自動化を、コンシューマ版と Cloud 提供版のどちらでも動くように抽象化しておく設計を、ラッパーと能力検出のスクリプトで整理します。
連携・プラグイン2026-07-19
無応答の MCP サーバーでエージェントが止まる — 接続・一覧・呼び出しに別々のタイムアウトを敷く
Antigravity CLI 1.1.3 は、無応答の MCP サーバーがエージェントを無限に止める問題を、接続・ツール一覧・ツール呼び出しごとのタイムアウトで塞ぎました。3つの境界で失敗の出方が違う理由を整理し、防御ラッパーとサーキットブレーカー、失敗時だけの通知を、動くコードと夜間運用の実測でまとめます。
連携・プラグイン2026-07-19
起動を止める一つのファイル — config.json の破損に備える設定健全性ガード
Antigravity 2.3.1 は config.json が空または壊れていると起動できない不具合を修正しました。修正されたのは症状で、壊れる原因は残ります。スケジュール実行の直前に設定を検証し、良い状態を控え、壊れていれば戻す3層のガードを、動くコードと個人運用の実測でまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →