ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-06-29上級

Antigravity に書かせたテストが「通るだけ」になっていないか — ミューテーションで実効性を測る

Antigravity のエージェントに書かせたテストは、通っても肝心のバグを捕まえられないことがあります。ミューテーションテストで実効性を測り、生存ミュータントを潰してから採用する運用を、動くコードとともにまとめます。

Antigravity319テスト2ミューテーションテスト品質保証6エージェント55

プレミアム記事

個人開発で AdMob の広告表示の出し分けロジックを少し直したとき、Antigravity のエージェントに「このモジュールのテストを書いて」と頼みました。返ってきたテストは十数ケース、すべて緑。安心して本番に出したところ、特定の条件でインタースティシャルが二重に出るバグが残っていました。

テストは全部通っていたのに、です。

あとから読み返すと、生成されたテストは「関数を呼んで例外が出ないこと」や「戻り値が truthy であること」ばかりを確かめていました。境界の手前と奥で挙動が変わる、肝心のところに踏み込んだアサーションが一つもなかったのです。

エージェントにテストを任せるほど、この「通るだけのテスト」をどう見抜くかが運用の要になります。テストの実効性そのものを測るミューテーションテストを使い、採用する前にふるいへかける。その手順を、動くコードとともに追っていきます。

なぜ「緑のテスト」だけでは信用できないのか

テストが緑であることは、二つのまったく違う状態を区別しません。一つは「実装が正しいから通っている」。もう一つは「テストが何も検証していないから通っている」。

カバレッジも同じ落とし穴を持ちます。行カバレッジ 100% は「その行が実行された」ことしか保証しません。実行されても、結果を誰も確かめていなければ、バグはすり抜けます。

AI が書いたテストは、この弱いアサーションに偏りがちです。プロンプトに明示しなければ、エージェントは「落ちないテスト」を最短で作ろうとします。tautological(同義反復的)なアサーション、たとえば計算結果をもう一度同じ式で求めて比べるようなテストすら、平然と緑になります。

必要なのは「テストが通ったか」ではなく「テストはバグを捕まえられるのか」を測る物差しです。それがミューテーションテストです。

ミューテーションテストが測っているもの

考え方はシンプルです。実装にわざと小さなバグ(ミュータント)を仕込み、テストがそれに気づいて落ちるかを見ます。

たとえば >=> に変える、+- にする、return truereturn false にする、&&|| にする。こうした一点改変を機械的に大量生成します。

各ミュータントについて、結果は二つに分かれます。

結果意味テストへの評価
killed(殺された)改変によってどれかのテストが落ちたそのバグを捕まえられる良いテスト
survived(生存)改変してもテストは全部緑のままそこを誰も検証していない盲点

殺せたミュータントの割合がミューテーションスコアです。生存ミュータントは、そのまま「テストが見落としている挙動の一覧」になります。冒頭の広告二重表示も、後から走らせると「二重防止フラグを反転させたミュータントが生存」という形で、はっきり浮かび上がりました。

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

この記事の続きを読む

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

この記事で得られること
AI 生成テストが「通るだけ」になる典型パターンと、それを見抜くミューテーションスコアの読み方
Stryker を使った実効性ゲートの最小構成と、エージェントループへの組み込み方
生存ミュータントをエージェントに渡し、的を絞って潰していく現実的な反復手順
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Agents & Manager2026-06-29
Antigravity のエージェントが開く PR の説明が「Update files」のままになる問題と、レビューできる要約を強制するゲート
Antigravity のエージェントが自動で開く PR は、説明が「Update files」のように空疎になりがちです。差分からリスクを見積もり、空疎な説明を弾いてレビューできる要約を強制する検証ゲートを、動くコードとともにまとめます。
Agents & Manager2026-04-08
Antigravity エージェント出力検証エラーと品質保証の対処法
Antigravityエージェントの出力が期待した形式にならない、バリデーションエラーが頻発する、品質が不安定という問題を解決。出力検証の実装パターン・プロンプト設計・フォールバック戦略を実例つきで解説します。
Agents & Manager2026-07-10
半年前にエージェントが書いた行の意図を追えるようにする — コミット粒度と来歴トレーラの設計
エージェントが 14 ファイル 800 行を 1 コミットに詰め込むと、半年後の git blame は何も語ってくれません。コミットを意図の単位に割り、Git trailer に来歴を機械可読で残し、blame から設計判断まで逆引きする仕組みを、動くコードとともにまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →