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

Antigravity エージェントの揺れる出力を CI で回帰検証する

同じプロンプトでも出力が揺れるエージェントを、CI のスナップショットテストで回帰検証する方法です。揺れる部分だけを潰す正規化レイヤー、pytest でのゴールデンファイル比較、構造化出力の意味一致判定、フレーク対策までを実装しながら解説します。

antigravity473ci6testing15agent21pytest

✦ プレミアム記事

スケジュール実行に移したエージェントが、ある朝だけ妙な生成物を吐いていました。プロンプトは前日と同じ。けれど出力は微妙に違う。手元で二度走らせると、二度とも差分が出ます。CI のスナップショットテストは当然のように赤くなり、しかしその赤は「壊れた」のか「揺れただけ」なのか判別がつきませんでした。

個人開発で複数のサイトをエージェントに任せていると、この「揺れる赤」が一番やっかいです。本当の退行を隠してしまうからです。ここでは、Antigravity のエージェント出力を CI で安定して回帰検証するために私自身が組んだ仕組みを、順を追ってお伝えします。

同じプロンプトで二度走らせると差分が出る、という最初の戸惑い

最初に試したのは、生成物をそのままファイルに保存して git diff で比べる素朴な方法でした。これは半日で破綻します。

エージェントの出力には、内容としては等価でも文字列としては毎回変わる箇所が必ず混じります。生成日時、実行 ID、一時ファイルのパス、リストの並び順、JSON のキー順。これらを素のまま比較すると、意味のある退行と意味のない揺れが同じ「差分」として並んでしまいます。

つまり問題は「比較すること」ではなく、「比較する前に揺れを取り除くこと」でした。

なぜエージェント出力はスナップショットと相性が悪いのか

スナップショットテスト自体は、UI コンポーネントや API レスポンスで実績のある手法です。期待値を一度記録し、次回以降はそれと照合します。

相性が悪く見えるのは、エージェント出力に三種類の非決定性が同居しているからです。一つ目は環境由来の揺れ(時刻・ID・パス)。二つ目は順序の揺れ(集合を配列で返すときの並び)。三つ目はモデル由来の言い換え(同じ意図を別の言葉で表す)。

最初の二つは機械的に潰せます。三つ目だけは別の照合戦略が要ります。この切り分けができていないと、「スナップショットは無理」という誤った結論に飛んでしまいます。実際には、潰せるものを潰してから、潰せない部分にだけ意味ベースの判定を当てればよいのです。

✦

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

この記事の続きを読む

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

この記事で得られること
✦非決定的なエージェント出力を pytest のスナップショットで回帰検証する具体的な手順
✦タイムスタンプや UUID など揺れる値を潰す正規化レイヤーの実装パターン
✦CI のフレーク率を 3 回再試行と差分しきい値で抑える運用ノウハウ
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ 連携・プラグイン2026-03-23
Terraform の plan を AI に読ませる前に — 秘密を落とす・生成コードを直す・判定は機械に任せる
terraform plan を Antigravity に読ませてレビューさせる前に確認したいことをまとめました。JSON 形式のプランには sensitive な値が平文で入ること、AI が書いた RDS のコードに潜む dev 環境の落とし穴、jq による合否判定、CI での組み込み方、S3 ステートのロックまでを、実際に走らせた結果とともに書き残します。
⬡ 連携・プラグイン2026-11-03
スプレッドシートの手作業を Apps Script に置き換える——非エンジニアが Antigravity に出す最初の依頼
毎週のコピー&貼り付けを Apps Script に任せたい非エンジニア向けに、Antigravity への依頼文、消さない設計、ドライラン、トリガー設定、つまずく所の切り分けまでを一本の流れでまとめます。
⬡ 連携・プラグイン2026-10-17
Antigravity のブラウザエージェントがログイン画面で止まるときに確認する4点
ブラウザエージェントに管理画面を読ませたら、返ってきたのはサインイン画面だけ。別 Chrome プロファイルという仕様を踏まえ、ログイン状態を整える4つの確認点をまとめました。