綺麗なコードしか書けないAIに、『スパゲッティ・コード』を食わせてみた
「リリス! エリア! 作戦変更だ!」
俺は拘束された椅子の背もたれに体重を預け、叫んだ。
「奴を倒そうとするな! 奴の『理解』を超える行動をしろ!」 「理解を超える……?」 「リリスは意味のない場所を攻撃しろ! エリアは全く関係ない神への祈りを捧げまくれ! 俺は……世界一汚いコードを書く!」
俺はPCに向かった。 普段なら絶対にやらない禁忌。 変数の命名規則は無視。goto文の乱用。無限にネストするif文。コメントアウトなしの魔改造。
Function: Chaos_Attack() { If (Today == "Tuesday" OR 1 == 1) { Generate_Banana(Amount: Infinity); Goto Line_01; } else { Explode_Everything(); } }
論理的整合性が皆無の、見るだけでエンジニアが発狂するクソコードを、ジョーカーの管理領域へ直接流し込む。
『なっ……!? なんだその記述は!? インデントが揃っていないぞ! 変数の定義場所がめちゃくちゃだ!』
ジョーカーが悲鳴を上げた。 完璧主義の彼は、入力されたコードを「解析」しようとして、その汚さに処理リソースを奪われている。
「エリア、今だ! 祈れ! ログを埋め尽くせ!」 「はいっ! 神よ! 今日の夕飯はハンバーグがいいです! あとリリスさんの鎌が怖いです! あと私の給料を上げてください!」
エリアが聖女の魔力を込めて、どうでもいい「雑談」をシステムに送信する。 ジョーカーの監視モニターが、エリアのどうでもいい祈りのログで埋め尽くされていく。
『警告。無意味なデータ流入(DDoS攻撃)を検知。……ええい、鬱陶しい! フィルタリングしろ!』
ジョーカーがエリアの対処に追われる。 その隙に、リリスが動いた。
「意味のない攻撃……つまり、こういうことですわね!」
リリスはジョーカーではなく、**「何もない床」**に向かって全力で鎌を振り下ろした。 ドゴォォォォン!! さらに、壁を蹴り、天井に頭突きし、自分の髪の毛を数え始めた。
「1本、2本、3本……あ、間違えました。最初から!」
『解析不能。……対象の行動パターンに規則性が見当たらない。予測不能。……エラー! シミュレーションが追いつかない!』
ジョーカーの動きが止まった。 彼の「完璧な予測アルゴリズム」は、リリスの完全にランダムで意味不明な行動(バグ挙動)を計算しようとして、無限ループに陥っている。
「効いてるぞ! 奴の『几帳面さ』が弱点だ!」
俺は更に追い打ちをかける。 前世で回収した「仕様変更前の遺産コード(レガシーコード)」や「動くかどうかわからないツギハギのパッチ」を、弾丸のようにジョーカーへ撃ち込む。
『や、やめろ! そんな汚いデータを私の世界に混ぜるな! 美しくない! 整合性が取れない!』
ジョーカーの巨体がノイズにまみれていく。 灰色のオフィス空間が歪み始めた。 壁からキノコが生え、天井から温泉が降り注ぎ、デスクが踊りだす。
「これが俺たちの『世界』だ! 整理整頓された部屋なんて、落ち着かねえんだよ!」
俺はエンターキーを拳で叩いた。
Execute: Technical_Debt_Explosion (技術的負債の爆発)
ドッガァァァァァァン!!!!
蓄積されたバグが一気に炸裂した。 ジョーカーの展開していた「絶対管理領域」が、内部からのエラー(負債)に耐えきれず、ガラスのように砕け散った。
「――ファイアウォール、崩壊!」
無機質なオフィスが消え、元の星空が戻ってくる。 中央には、膝をつき、煙を上げるジョーカーの姿があった。
『馬鹿な……。完璧な論理が……感情論とスパゲッティ・コードに負けるなど……』
「論理だけで世界は回ってないんだよ。……さあ、終わらせようぜ」
俺は懐から、あの「白い封筒」を取り出した。 最後のとどめは、システム的な攻撃ではない。 俺と彼――「社畜」としての因縁を断ち切る、物理的な一撃だ。




