Image generated by Google Gemini
AIエージェントにリファクタリングを任せたらアプリが壊れたなら、レガシーシステムをAIが作業できる環境に変えたいなら、Fortune 500のレガシー維持予算を変革予算に振り替えたいなら――この記事がそのロードマップだ。
ロックされた記憶
ITバブル時代、企業はデジタル資産を積み上げ始めた。コード、データベース、仕様書、ドキュメント、API――数十年にわたって蓄積された企業の記憶だ。
その記憶はロックされていた。探索できず、検証できず、到達不能(unreachable)な状態。人間が直接読み、直接理解し、直接修正する以外に方法がなかった。だからFortune 500のIT予算の60~80%がこのロックされた記憶の維持に使われている。開けられないから、ただ守っている。
今、我々はAIバブルと呼ばれる時代のただ中にいる。この時代の本当の意味はモデルが賢くなることではない。企業の長年ロックされていたlegacyの記憶がreachableな状態に変わり始めるということだ。
だがまだだ。2026年、AIエージェントがコードを書く。68分間で数百万トークンを燃やし、リファクタリングを終えた。アプリが完全に壊れた。毎日Xに上がる話だ。
なぜこれが繰り返されるのか。
エージェントが愚かだからではない。エージェントが作業できる環境ではないからだ。人間が働くオフィスにロボットを入れてはいけない。ロボットが働ける工場を作らなければならない。
ロックされた記憶を開くには、まず記憶が開ける形に変わらなければならない。コードだけの問題ではない。データベース、仕様書、ドキュメント、API――企業のデジタル資産全体がエージェントにとって不透明だ。
Agent-Operableとは何か
エージェントが自律的に作業するには三つの条件が必要だ。
1. 読めなければならない――ノイズなしで
2,000行のファイルから関数一つを見つけるには、1,950行がノイズだ。正規化されていないDBで顧客情報を探すにはテーブルを三つジョインしなければならない。Excelシートに隠されたビジネスルールはエージェントには発見できない。
読めるとは人間が読めるという意味ではない。機械が構造的にパースできるという意味だ。
2. 検証できなければならない――機械的に
エージェントが修正した後、何が壊れたかわからなければdoom loopに陥る。コードにはテストが、DBには制約条件が、APIにはschema validationが、仕様書にはcross-verificationが必要だ。
LLMがLLMを検証するのは、酔った友人に「俺、酔ってる?」と聞くようなものだ。go testはhallucinateしない。CHECK制約は嘘をつかない。JSON Schemaはドリフトしない。
3. 状態が永続しなければならない――エージェントが死んでも
エージェントは必ず落ちる。トークン上限、ネットワークエラー、セッション切断。進行状態が保存されなければ、毎回ゼロからやり直しだ。
エージェントAが関数200番まで処理して死んだら、エージェントBが201番から引き継がなければならない。エージェントは使い捨てだ。だが進捗は蓄積されなければならない。
ステップゼロ:バグを凍結せよ
三つの条件は目的地だ。出発点は違う。ドキュメントなし、テストなし、2,000行のファイルが300個。それが出発点だ。
この状態でエージェントに「リファクタリングしろ」と言えば何が起きるか。10年物のバグを「直す」。問題は、そのバグがバグではないということだ。
Hyrum’s Law:十分に古いAPIのあらゆる観測可能な振る舞いに誰かが依存している。10年放置された小数点丸め誤差にVIP顧客の決済ロジックが紐づいている。日付パースのバグに合わせて作られたExcelマクロが経理部門全体を支えている。古いバグは暗黙のビジネス仕様だ。
エージェントの最初の任務はコードを直すことではない。現在の動作を凍結することだ。
APIを叩く。レスポンスを記録する。そのレスポンスをHurlテストとして固定する。奇怪なバグか意図された動作か――区別しない。ありのまま凍結する。これがratchetの最初の歯だ――エージェントが勝手に「改善」できないようにロックする。
変更を決めるのは仕様を握る人間だけだ。エージェントは実行者だ。判断者ではない。
凍結が終わって初めて、三つの条件――可読性、検証可能性、永続性――に向けた転換が始まる。
コードだけではない
「agent-operable codebase」は出発点だ。企業のデジタル資産はコードだけではない。
| 資産 | 現在の状態 | Agent-Operable状態 |
|---|---|---|
| コード | 2,000行のファイル、テストなし | ファイル一つに概念一つ、全関数にテスト |
| データベース | 非正規化、ドキュメントなし | DDL宣言的管理、マイグレーション自動生成 |
| 仕様書 | Wiki、口頭伝達、ドリフト | 9つのSSOTをcross-verify、単一identifierでチェイニング |
| ドキュメント | PDFやExcelに隠されたルール | スキーマ抽出、機械可読 |
| API | undocumented、暗黙の契約 | OpenAPIキャプチャ、schema validation |
個別に見れば「整理しなきゃ」だ。合わせて見ればシステムだ。
Symbolic Feedback Loop
この転換を可能にする共通構造がある。
LLMが生成する → 決定論的ツールが判定する → 結果をLLMに返す → 繰り返す
コードで、テストで、仕様書で、データで――同じループが動く。
コード構造: filefunc validate → 違反フィードバック → LLM修正 → 繰り返し
テスト: go test + coverage → 未カバー行フィードバック → LLM補強 → 繰り返し
仕様整合性: yongol check → ドリフトフィードバック → LLM修正 → 繰り返し
ユーザールール: rulecat evaluate → 違反フィードバック → LLM修正 → 繰り返し
LLMが関与するのは「生成」だけだ。何を修正するか、パスしたか、次は何か、終わったか――全て機械が決める。LLMに判断権を与えない。
これは発明ではない。C. elegansは302個のニューロンのうち60個(20%)を感覚入力に投資した。生成ではなく検証に。5億年の進化が下した結論だ:ニューロンを増やすよりフィードバック品質を高める方が生存に有利だ。
業界は列車(モデル)をより速くしている。より大きなモデル、より賢いエージェント、より良いプロンプト。だが列車が速くなるほど、線路の方が重要になる。
80/20
最終状態でシステムは二層に分かれる。
SSOT (80~90%)
├── OpenAPI, DDL, SSaC, FuncSpec, Rego, Hurl, React TSX, Mermaid, manifest
└── 仕様から生成。ドリフトを根元で遮断。エージェントが自由に修正可能。
Custom (10~20%)
├── ビジネスルール、ドメインロジック、法的/政策的計算
└── filefuncで構造化、tsmaでテスト確保。人間がレビュー。
人間が本当に気にかけるべきコードが10~20%に圧縮される。残りはエージェントが仕様を読んで生成し、機械が検証する。
Fortune 500の60%
Fortune 500のIT予算の60~80%がlegacy維持に消費されている。開発者の時間の42%が技術的負債の処理に費やされている。手動のlegacyマイグレーションの70%が失敗する。
この予算は既に使われている。新しい予算は必要ない。方向を変えるだけでいい。保守予算を変革予算に。
legacyを丸ごと投入すれば、agent-operableなシステムが出てくる。それがBuilding Agent-Operable Systemsの約束だ。
なぜBig Techはこれをやらないのか
AnthropicとOpenAIは汎用モデルを作っている。モデルを10%改善すれば全顧客に適用される。だがGo testのfeedback loopを作ればGo開発者にしか適用されない。Pythonのcoverageツールを作ればPythonプロジェクトにしか適用されない。
symbolic verificationは本質的にdomain-specificだ。言語ごと、フレームワークごと、仕様書ごとに異なるverifierが必要だ。汎用性がないからBig TechのROIに合わない。
だからこの領域は空いている。列車を作る人と線路を敷く人は競合ではない。補完関係だ。
問い
あなたのエージェントはコードを書く。だがそのコードが正しいかどうか、誰が確認するのか。
別のエージェント? それともgo test?
あなたのLLMは100,000行を本当に全部読んでいるのか。
それとも読んだふりをしているのか。
エージェント時代に必要なのは、より賢いエージェントではない。エージェントが働けるシステムだ。
Sources
- Gartner, “IT Budget and Cost Optimization” — 60–80% of enterprise IT budgets consumed by legacy maintenance
- Stripe & Harris Poll, The Developer Coefficient (2018) — 42% of developer time spent on technical debt
- McKinsey & Company, Why do most transformations fail? (2019) — ~70% of digital transformation projects fall short of goals
- Hyrum Wright, Hyrum’s Law — “With a sufficient number of users of an API, all observable behaviors of your system will be depended on by somebody”
- Winters, Manshreck, Wright, Software Engineering at Google (O’Reilly, 2020) — Formal book source for Hyrum’s Law
- White et al., “The structure of the nervous system of C. elegans”, Phil. Trans. R. Soc. Lond. B 314 (1986) — 302-neuron connectome
- Inglis et al., The sensory cilia of C. elegans, WormBook (2007) — 60 sensory neurons (~20% of total)
- METR, Early-2025 AI Developer Productivity Study (2025) — AI tools made experienced developers 19% slower, yet developers perceived 24% speedup
- GitClear, AI Copilot Code Quality 2025 (2025) — 211M lines analyzed, refactoring down 60%, copy-paste code up 48%
- Mehtiyev & Assuncao, Beyond Resolution Rates (2026) — 19 agents, 9,374 trajectories; 12.4% of total compute spent on zero-yield tasks