「AIでレガシーを全部置き換える」は、なぜ危険なのか
最近、Elon Musk 関連の政府改革チーム DOGE が、アメリカの社会保障システムのCOBOL刷新を短期間で進めようとしていた、という話題が出ていた。
一部では「AIでCOBOLを書き換えて失敗した」とかなり強い言われ方もしているが、実際にはそこまで単純ではない。
正確には、
- 超巨大なCOBOL資産を短期間で刷新しようとした
- AI活用も前提視されていた
- しかし現場や専門家から「危険すぎる」と強い反発が出た
- その後、大規模成功の続報は出ていない
という感じである。
ただ、この話はかなり重要だと思っている。
なぜなら、AIコーディングの「限界」が非常によく出ているから。
COBOLの本当の難しさ
よく、
COBOLは古い 読みにくい 時代遅れ
と言われる。
もちろん古い言語ではある。
ただ、本当に怖いのはそこではない。
怖いのは、
「業務知識そのもの」がコードに埋まっている
ことである。
特に社会保障系は、
- 法改正
- 過去互換
- 障害対応
- 例外処理
- 昔の事故の回避策
みたいなものが、何十年も積み重なっている。
つまりコードが単なるプログラムではなく、
“組織の歴史”
になっている。
AIは「変換」は得意。でも「歴史理解」は苦手
今のAIは、
- Reactコンポーネント生成
- API実装
- CRUD
- テストコード
- リファクタリング
みたいな作業はかなり強い。
特に、
- 責務分離されている
- テストがある
- ADRがある
- 構造が綺麗
こういうモダン構成は非常に得意。
しかしレガシー基幹システムは逆。
AIにとって一番危険なのは、
なぜこの謎処理が存在しているのか分からない
ケース。
人間側も理由を忘れていることすらある。
でも、その謎処理を消すと、 給付が止まるかもしれない。
これが基幹システムの怖さ。
「動いているものを壊さない」が最優先
Webサービスなら多少障害を出してもリカバリ可能なことが多い。
しかし社会保障や銀行は違う。
- 一回の障害で生活が止まる
- 信頼を失う
- 政治問題になる
- 復旧が数年単位になる
だから基幹システムでは、
綺麗なコード
よりも、
絶対に壊さない
が優先される。
その結果、 外から見ると意味不明なコードが大量に残る。
AI時代でも「設計」と「理解」は消えない
AIが進化すると、
「コードを書く人はいらなくなる」
みたいな話が出る。
でも今回の件を見ると、むしろ逆で、
「なぜこのシステムがこうなっているのか」
を理解できる人の価値が上がる気がしている。
AIは実装速度を爆発的に上げる。
ただし、
- 業務理解
- 境界条件
- 歴史的経緯
- 運用
- リスク判断
この辺りは、まだかなり人間依存。
特にレガシーシステムほどそう。
結局、
AI時代ほど、設計と理解が重要になる
のかもしれない。