◉ANTIGRAVITY LABEN
記事一覧/Antigravity 基本
◉ Antigravity 基本/2026-06-16上級

旧CLIと同じ結果が出るか — Antigravity CLI へ切り替える前に組む出力照合ゲート

6/18 の Gemini CLI 終了に備え、Antigravity CLI へ切り替える前に旧CLIの成果物をゴールデンとして固定し、退行を検知する照合ハーネスの設計を、正規化と go/no-go ゲートのコードつきでまとめます。

Antigravity CLI43Gemini CLI13移行13CI11自動化40

✦ プレミアム記事

6/18 に Gemini CLI と Gemini Code Assist の IDE 拡張がリクエスト処理を終え、Go 製の Antigravity CLI へ移行します。手元の自動化が Gemini CLI を前提に組まれている方にとって、本当に怖いのは「コマンドが動くかどうか」ではありません。動くことは数分で確かめられます。怖いのは、動いた上で少しだけ違う成果物が出ることです。

私自身、個人開発で運用している複数サイトの記事生成やリリース準備を CLI 経由のエージェントに任せています。切り替えの検証として agy --version が通ることを確認しても、それは何も保証しません。生成された原稿の構成が変わっていないか、リリースノートのフォーマットが崩れていないか、画像アセットの命名規則が同じか——確かめたいのはそこです。

そこで切り替えの数日前に、旧CLIの出力を「ゴールデン(正解)」として固定し、新CLIの出力と機械的に照合するゲートを組みました。以下では、その照合ハーネスの設計と、非決定的な出力をどう正規化したか、そして「止めるか進めるか」をどう判断したかを、実際のコードとともに残しておきます。

「動く」ことの確認と「同じ結果」の確認は別物です

移行作業のチェックリストはたいてい起動確認で終わります。バイナリが入ったか、認証が通るか、サブコマンドが存在するか。これらは前提条件の確認であって、退行の検知ではありません。

エージェント CLI の出力は、内部のモデルもプロンプト解釈も実行計画も変わり得ます。Antigravity CLI は Antigravity 2.0 デスクトップと同じエージェントハーネスを共有し、動力は Gemini 3.5 Flash です。競合フロンティアモデルの約4倍速とされる一方で、速いことと「以前と同じ判断を下すこと」は無関係です。速度が上がったからこそ、人間が結果を読み返す前に大量の成果物が積み上がる、という新しいリスクも生まれます。

ですから検証の単位は、コマンドの成否ではなく最終成果物に置くべきだと考えています。原稿そのもの、ビルド生成物、コミットされるファイル群。読者であり運用者である自分が最後に手にするものを基準にします。

照合対象は最終成果物に絞る

最初に犯した失敗が、標準出力(stdout)の全文を比較対象にしたことでした。エージェントの stdout には進捗ログ・思考の要約・実行時間が混ざっており、差分が常時数百行出ます。これでは退行が埋もれて意味を成しません。

照合対象は次の3種類に限定すると安定しました。

比較する3つの軸

  1. 生成ファイルの内容: エージェントが書き出す原稿・設定・コードそのもの。これが本丸です。
  2. 終了コードと副作用の有無: 想定したファイルが「作られたか/作られなかったか」の集合。出力が空でも終了コード 0 で素通りする無音失敗を捕まえます。
  3. 構造メタデータ: 原稿なら見出し数・コードブロック数・フロントマターのキー集合。本文の一字一句ではなく骨格を見ます。

stdout のログは比較対象から外し、デバッグ用に保存だけしておきます。本番の自動投稿でも、過去に「出力が空のページが終了コード 0 で公開された」事故を経験しているので、副作用の有無を独立して検証する2番目の軸は外せません。

✦

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

この記事の続きを読む

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

この記事で得られること
✦旧 Gemini CLI の成果物をゴールデンとして固定し、切り替え後に退行が出た瞬間に検知する照合ハーネスの組み立て方
✦タイムスタンプ・実行ID・モデルの言い回しなど非決定的な差分を正規化し、本物の退行だけを残す3段階の前処理
✦機械的な差分と意味的な差分を分けて、切り替えを止めるか進めるか決める go/no-go ゲートのしきい値設計
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

◉ Antigravity 基本2026-07-27
&& の右側は誰が承認していたのか — コマンドを分解してから allow ルールに当てる
承認画面に出ていたのは、実行されるコマンドの一部でした。&& や ; で連結したコマンドを引用符とコマンド置換を越えずに分解し、セグメント単位で allow ルールに当てるハーネスを、自分の運用コマンド45本での実測とともにまとめます。
⬡ 連携・プラグイン2026-09-12
Antigravity CLI 1.1.28 で print-timeout 超過が成功終了になりました — 無人実行の判定を見直す
1.1.28 から --print-timeout の超過は例外ではなく、部分出力を返しての正常終了になりました。外部 URL の取得も既定で承認待ちです。終了コードだけで成否を決めている無人実行を、どう組み直したかを書き残します。
◉ Antigravity 基本2026-10-26
/compact のあとに添付の中身を答えなくなったとき、合言葉ファイル 1 つで原因を切り分ける
Antigravity CLI で会話を圧縮したあと、添付したはずの資料を踏まえない返事になる。版の違いか、自分の添え方かを、合言葉入りのファイル 1 つで切り分ける手順です。