[第 07 部:統治・制度編]

AI万能論の罠:適材適所を見失ったシステム刷新が招く国家の崩壊

AI万能論の罠:適材適所を見失ったシステム刷新が招く国家の崩壊

トップダウンの「AIモダン化」が孕む危険性

近年、「古い言語=悪」「AIを使って最新言語に置き換えればすべて解決する」という、極めて表層的な技術的ユートピアニズムが蔓延している。その象徴とも言えるのが、米国の政府効率化省(DOGE)周辺から持ち上がったとされる 「社会保障局(SSA)で稼働する6000万行のCOBOLコードを、AIを用いて数ヶ月でJava等に書き換える」 という計画である。

技術の本質を理解しないトップ層や為政者からすれば、AIは「魔法の杖」に見えるかもしれない。しかし、現場のシステムエンジニアリングの観点から見れば、これは 国家インフラを根底から破壊しかねない狂気の沙汰 である。

レガシーシステムは、単に「古い」から問題なのではない。過去50年以上にわたり蓄積された法改正、特例、パッチワーク的なビジネスルール、無数のエッジケース(例外処理)がハードコードされた 「歴史的ルールの地層」 だからこそ複雑なのだ。それをAIによる単なる「言語翻訳」で乗り切ろうとするのは、あまりにも浅はかである。

アーキテクチャの「本質」:COBOLとJavaの決定的な違い

「何でもJavaにすればいい」という発想は、プログラミング言語が持つ 「適材適所」 という絶対原則を完全に無視している。

金額計算における「絶対的正確性」

そもそも、なぜ金融機関や行政の勘定系システムにおいて、未だにCOBOLが現役で稼働し続けているのか。それはCOBOLが金額計算において 「10進数(BCD:2進化10進数)」 をネイティブで処理するように設計されているからだ。

一方で、JavaはC言語の系譜を引く汎用言語であり、基本的には 「2進数(浮動小数点)」 をベースにしている。2進数で10進数の小数を完全に表現することはできず、必ずどこかで「丸め誤差」が生じるリスクを抱えている。

1円のズレも許されない決済・年金システムにおいて、この「正確性」は絶対条件である。システムに近い処理や汎用アプリケーションにはJavaが適しているが、純粋な金額計算のコアロジックを、わざわざ計算特性の異なる言語へ無理やり移植することは、設計思想の破綻を意味する。

可読性と「処理の追跡」の容易さ

また、COBOLは英語に近い構文を持ち、非常に読みやすいという特徴がある。PAD(Problem Analysis Diagram:問題分析図)などを用いれば、処理のフローを人間が追いやすい。複雑怪奇な業務要件をコード上で正確に表現・追跡するという点において、COBOLは「古い」のではなく「その目的に特化して研ぎ澄まされている」のだ。

AIの致命的な死角と「正しい主従関係」

AIをコードの「自動翻訳機」として使おうとするアプローチは、AI自身のアーキテクチャ上の弱点も無視している。

コンテキストの中間欠落(Lost in the Middle)

現在のAI(LLM)は、膨大なコンテキストを読み込んだ際、 「プロンプトの最初と最後」 に強く意識が向き、中間に潜む複雑な条件やエッジケースを見落とす傾向がある。数十年分の例外処理が絡み合うレガシーコードを一括変換させれば、必ずどこかで「致命的なビジネスロジックの欠落」が発生する。

AIの正しい役割:超高度な監査役(オーディター)

AIを使うなと言っているわけではない。 「使い方が根本的に間違っている」 のだ。 AIはコードを書かせる(主役にする)のではなく、人間にしか設計できない本質的なアーキテクチャを 「徹底的に検証させるツール(従者)」 として扱うべきである。

  1. 仕様書とソースの整合性チェック : 膨大な仕様書と既存コードをAIに読み込ませ、人間では不可能なスピードで「乖離や矛盾」を監査させる。
  2. 無限のエッジケーステスト : 人間が新たに設計した移行ロジックに対し、AIに何万回、何十万回というテストパターンの生成と実行を行わせ、バグを洗い出す。

システムの刷新において、AIは魔法の自動翻訳機ではなく、 「最強のテストツール・オーディター」 として機能させるのが正解である。

50年後の未来を見据えた「本質の忘却」への警鐘

「とりあえず最新のJavaにしておけばいい」という安易な思考は、50年後に何をもたらすか。 本質的な要件定義(なぜその言語が選ばれたのかという哲学)を忘却したまま表層だけを取り繕えば、50年後には 「ブラックボックス化したレガシーJavaシステム」 を前に、またしても「最新の〇〇言語にAIで書き換えよう」という全く同じ地獄を繰り返すことになる。

真のAI国家を構築するためのインフラ設計とは、流行りのバズワードに飛びつくことではない。 システムの「本質的な要件(1円もズレないこと、止まらないこと)」を見極め、 100年耐えうるアーキテクチャの定義と、適材適所の言語選定 を人間が責任を持って行うことである。技術の主導権をAIに明け渡すのではなく、高度なツールとして使いこなす「設計者の知性」こそが、これからの国家運営には求められている。