なぜ、プログラマは滅びないのか

先日、「プログラマを志す君に伝える「仕事が無くなるリスク」」という、少々頭の悪い記事を読み、まぁ、こんなのまともに相手する人いないか、と思っていた。

ところが、「将来、人工知能プログラマの代わりになることを想定するのはおかしいことではない」という意見をいくつか目にしたのだ。こういう見解は、人工知能がどういうものなのかについて誤解があるのではないかと思う。そのような未来は起こりそうにないし、仮にそのような未来が実現したとするならば、人々はまったく働く必要がなくなる天国かAIに支配されたディストピアのいずれかになるだろうから、プログラマの存在価値どころの話ではなくなってしまう。

まず、ある人が「○○できるシステムが欲しい」と望んだとしよう。きっと「○○できるようなシステムが欲しい」という言葉から考えられるシステムは無数にあるだろう。人工知能は、この無数の可能性の中からもっとも適切と思われるひとつを選び出しプログラムを生成する。

さて、この生成されたプログラムが望んだシステムと合致しているか、どうやれば確認できるのだろうか。正当性を確認するためには、「○○できるシステム」の仕様を詳細に書き起こし、検証する必要がある。

経済学には「政策目標がN個が存在するとき、N個の目標を同時に達成するためには、独立な政策手段もまた同数のN個なければならない」というティンバーゲンの定理というものがある。これは N 個の独立した要件を満たすためには、入力も N 個必要だということも意味している。N個の結果を個別にコントロールする必要があるわけだから、ある意味当たり前の話かもしれない。

ある人が望むシステムを人工知能が正しく生成するためには、N 個の要件を人工知能に正しく教える必要がある。これはまるでプログラムのような詳細設計書を作成する作業に等しい。プログラムに等しい詳細設計書からプログラムを生成するくらいならば、普通の人はそのような設計書の代わりにプログラミング言語でプログラムを書くだろう(日本語プログラミング言語「なでしこ」を使ってもいい)。その方が簡単だからだ。人工知能の出る幕など無い。

抽象的だろうか。では、このような例はどうだろう。「1ならば2、5ならば10、7ならば14を返す関数」をAIによって自動生成したとする(そのような仕様を指示する人はいない、と思うかもしれないが、例えば単体テストケースからそれを満たす関数を自動生成すると考えてみよう)。さて、2を入力した場合、何が返されるだろうか。言うまでもなく独立した3点を通る関数は無数に存在する。

いや、人工知能であれば、常識を見つけ出し、直線を仮定した上で 2倍して 4 を返す関数を生成するはずだ、と思うかもしれない。しかし仕様には明記されていない以上、その答えが正しいとする根拠はどこにもない。要件を出した人にとっての常識と人工知能にとっての常識が同じとは限らない。それ以上に、仕様が明らかではないプログラムなど危なくて使うことができない。8割は正しい値を返すが、2割は間違った結果を返す可能性があるSIN関数など使いたいとは思わないのではなかろうか。

現在においても人工知能が有用な分野は、だいたい合っていれば十分役に立つし、間違ったところで大問題は起きない場合に限られる。幸か不幸かプログラマが開発するプログラムの大半はその要件を満たさない。

少ない入力で適切な結果を得られるようにすることは、仮定を置くことで、ありえないパターンを捨てることを意味している。おそらくこれは、人工知能というより DSLドメイン固有言語)と呼ぶべきものだろう。では、DSLを見つけ出すことはできるだろうか。これはある程度できるかもしれない。いわゆるデータマイニングだ。しかし、その場合も、発見されたDSLを使用する/しないの「判断」は人間が行う必要がある。

例えば、人工知能は「必須のセレクトボックスには空欄の選択肢は不要」というDSLを発見するかもしれない。これはほとんどのシステムでは適切かもしれないが、人によっては気付かず実行ボタンを押してしまうので初期値は空欄にして必ず選ばせたい、と思うかもしれない。これは趣味の問題であって、人工知能には「判断」を下すことができない。

もちろん、もし、人工知能が人間の知能を完全に模倣できたとすれば、「判断」を下すことができるようになるかもしれない。しかし、そのような人工知能が実現したならば、プログラムに限らず、あらゆる知的作業はすべて人工知能に行ってもらえば良い。プログラマの将来どころの話ではない。

人間がやるべきことは、その時点では機械では難しい肉体労働だけであろうし、そのような世界ではおそらく生産能力も飛躍的に進歩しているだろうから、我々はほとんど働くことなく好きなものを飲み食いできるはずである。あるいは、人工知能はもはや人間を必要とせず、あらたな支配者になるかもれない。いずれにしても、あと数百年はただの夢物語であるから、今生きている人間が気にする必要があるとは思えない。