10行を2千兆行に水増し プログラム複雑化するAIを開発 これは嘘ニュースです
業界の雇用安定にプログラムの複雑化は欠かせない
スパゲティは、ユーザーの要望に応じたプログラムを自動で生成するAI。同様の機能を備えたAIは既に存在するが、複雑な非合理プログラムを生成できる点が異なるという。また既存のプログラムを解析して、動作を変えることなく、複雑なプログラムに書き換える機能も備える。
同社が「スパゲティ化」と呼ぶ、複雑化機能は大きく2点からなる。1つは、同じ処理を何度も繰り返して回りくどくしたり、意味のない処理を入れたりするなど不必要な動作を組み込んでプログラムの行数を増やす「水増し」、もう1つはプログラムの可読性を下げてプログラマーに精神的負荷を与える「煩雑化」だ。
同社では10行のプログラムを2千兆行まで水増しできることを確認している。実際に水増ししたプログラムをウェブサイト上で公開しており、プログラミングの初歩として知られる「Hello World(ハロー・ワールド)」の文章を画面に表示するプログラムを実行してみると、たった10文字を表示するだけで30分を要した。最高レベルまで水増しした円周率計算プログラムでは、スーパーコンピューター「富嶽」をフル稼働させても、1桁計算するごとに7時間必要になるという。
だが、同社が重点を置く機能は「煩雑化」だ。「既存プログラムの順序をランダムに入れ替える」「動作内容と関係のない言葉、分かりにくい言葉を頻繁に使う」「紛らわしいネーミングを多用する」「インテンド(字下げ)や改行に統一性を持たせない」「私的なメッセージを潜ませる」など、プログラマーの血圧を上げる要素を全て盛り込んだ。煩雑化の程度は、初心者が数分で修正できるレベルから、熟練プログラマーが転職を考える程度まで自由に設定できる。
一般的にプログラムは誰でも保守点検できるよう、簡潔さと分かりやすさを備えたものほど優れているとされる。AIを利用したプログラミング技術は近年大きく発展しつつあり、人間のプログラマーが書くより合理的で効率的なプログラムも生まれつつある。
スパゲティが持つ2つの独自機能は、どちらもプログラミングの原則に逆らうものだが、「業界の雇用維持促進の観点から見て、優れたプログラミングAIへの依存が進めば進むほど、かえってスパゲティは欠かせない存在になる」と同社は説明する。プログラムの無駄を省いたり整理したりする仕事をプログラマーに与えてくれるからだ。
AIによる自動化や合理化によって失われる雇用はプログラミングだけにとどまらない。人間に仕事を与えるため、あえて不合理の余地を残す「ムダ作りAI」の需要は今後ますます高まりそうだ。