ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-07-01上級

技術的負債スコアは下がったのに同じ場所でバグが再発するとき — スコアが見落とす結合とチャーンを計測する運用メモ

Antigravityのアーキテクチャ分析エージェントに技術的負債をスコアリングさせても、リファクタリング後に同じ場所でバグが再発することがあります。静的スコアが見落とすFan-inとチャーンの掛け算を計測し、実際の障害と突き合わせる運用手順をまとめました。

antigravity406agents82tech-debtcode-analysisrefactoring7dependency-mapping

プレミアム記事

スコアは健全になったのに、火を噴く場所が変わらなかった

あるプロジェクトで、Antigravity のアーキテクチャ分析エージェントに技術的負債をスコアリングさせ、上位から順にリファクタリングを進めたことがあります。循環的複雑度の平均は下がり、レポート上の「critical」ファイルは着実に減りました。数字の上では、確かに健全になっていました。

それでも、月末の障害の振り返りで並ぶファイル名は、ほとんど変わっていませんでした。スコアが低い——つまり「きれいな」はずのファイルで、同じような不具合が繰り返し起きていたのです。

このズレを一度きちんと見てからは、静的な複雑度スコアだけでリファクタリングの順番を決めるのをやめました。スコアは必要な指標ですが、それ単体では「どこが実際に壊れるか」を教えてくれません。ここでは、その空振りをどう計測して埋めたかを、実際に使ったコードとともに残しておきます。

なぜ複雑度スコアは的を外すのか

循環的複雑度や認知的複雑度は、ファイルを開いた瞬間の「読みにくさ」をよく捉えます。ネストが深く、分岐が多い関数は、確かに事故りやすい。ここに異論はありません。

問題は、複雑度が「その関数が今後どれだけ触られるか」も「触ったときに何件のモジュールへ波及するか」も見ていないことです。滅多に変更されない複雑な関数は、複雑なまま静かに動き続けます。逆に、一見シンプルでも毎週のように書き換えられ、多くのモジュールから参照されているファイルは、変更のたびに小さな綻びを生みます。障害はそちらで起きます。

つまり実際のリスクは、複雑度そのものよりも「変更頻度(チャーン)」と「被参照数(Fan-in)」の掛け算に強く相関します。この2つは静的解析だけでは出てきません。片方はGit履歴に、もう片方は依存グラフにあります。エージェントに渡すスコアには、この2軸を最初から織り込んでおく必要がありました。

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

この記事の続きを読む

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

この記事で得られること
循環的複雑度スコアが下がっても障害が減らない理由と、madge と git log --numstat で Fan-in×チャーンを計測するTypeScriptコード
負債スコアと実際のインシデント修正ファイルを Recall@20 で突き合わせ、複雑度0.2に対しホットスポット0.5という空振りを検出する照合ハーネス
静的スコアを鵜呑みにするエージェントの優先順位付けを、障害履歴で補正して返済順を組み替える運用手順
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Agents & Manager2026-07-01
対話では動いたのに夜間だけ黙る——Antigravity のエージェント定義を対話と無人で同じ挙動にする
デスクトップの Antigravity では正しく動くのに、スケジュールした CLI 実行だと黙って何もしないエージェント。承認・文脈・秘密情報・実行環境の4点で経路差を吸収し、1つの定義を対話でも無人でも同じ挙動にする設計を、動くコードとプリフライト検査つきでまとめます。
Agents & Manager2026-06-29
並行サブエージェントが同じAPIの上限を奪い合うとき — 共有トークンバケットで集約レートを抑える
Antigravity 2.0 の dynamic sub-agents を並行で走らせると、各エージェントが独立に外部APIを叩いて集約レートが上限を超え、429が連鎖します。共有トークンバケットで集約レートを先回りで抑える設計と、Redis化までを実装コード付きで解説します。
Agents & Manager2026-06-28
頼んでいないことまでやられた — エージェントのタスク範囲を契約で縛る
ボタンの色を直してと頼んだら、リファクタとリネームと依存更新まで入っていた。権限ではなくタスク範囲の問題です。範囲外に触れたら止まって尋ねる契約を設計します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →