かもしれないという仮説(妄想)を書きます。
出発点
数ヶ月前にAI時代のエンジニアの学び方という記事を書いてそこそこバズったのですが、AI時代のエンジニアは何を学べば良いのか?ということについて割とずっと考えています。
前回記事から数ヶ月しか経っていないにも関わらず、自律型のAIプログラミングツールが多数出てきたり、Ryan Dahl氏の「人間んがプログラムを書く時代は終わった」というポストがバズったりとさらに時代は加速している感があります。
こうもAIがあらゆること(特にプログラミングという分野において)を代替してくれるようになると、もはや人間のプログラミング能力は退化するしかないんじゃないかという恐怖を覚えるほどです。
目の前にR2D2があるけど誰にも作り方がわからん(だけどAIによってどんどん量産されている)、みたいな未来ももはやジョークではなく十分にありえそうです。
そんな時代を回避するためにはどうすれば良いんだろう?ということを考えたのがこの作文の出発点です。
かつて自動車が発明された、しかし人間の走る能力は退化していない(多分)
現在のAIブームは人類史においても他に例を見ないものだと思います。この先世界がどちらに転がっていくかは全く予想がつきません。
しかし、テーマを「AIと人類の能力の退化」という点に絞って考えた場合、参考になる事例がある気がしました。
自動車の発明です。
自動車の登場によって速度、移動距離ともにもはや人間には太刀打ちできない状態となりました。
じゃあ、それで人間の足が退化したかといえば、別にそんなことはないと思うんですよね。
それは何故だろう?と理由を考えた時陸上競技というスポーツがあるからじゃないかと思ったわけです。
速度において自動車やバイクには絶対に敵わないのに100m、400m、あるいはマラソンという競技は廃れていません。
その理由を深く考察することはここではしませんが、これらのスポーツがあるおかげで人類の走る能力は退化せずむしろ進化する方向に進んでいるんじゃないかと考えました。
プログラミングをスポーツにすることを考える
であれば、プログラミングもスポーツにしてしまえば退化をまぬがれ、あわよくばさらに進化するかもしれません。
実務であればAIを使わないという選択はないとしても、スポーツであればルールとしてのAI禁止はまったくおかしな話ではありません。(ここでAIを使うのは100m走に自動車出してるようなものですからね)
また、ルールもAI一切禁止、ここまでなら使用可、コピペさえも禁止のように複数の段階で細分化して競技をわけるのが良いと思います。(それこそ陸上競技で100m, 200m, 400mと競技が細分化されているように)
なんならハードウェアも競技専用マシンがあっても良いかもしれません。
AI使用やインターネット接続がOSレベルで制限されているような。
ただし、最初から専用ハードはハードルが高いので大会グレードによってグレードの低い大会は汎用PCで参加できるけどグレードの高い大会では専用ハードが必要(もしくは大会側が用意したハードを使用)という制限をつけるのも面白そうです。
などなど、ちょっと考えただけでもいろいろなことを思いつくので本気出して取り組めば、かなり面白そうなことができそうな気がします。
スポーツであるならエンタメ化が必要
ここまで、さも新しいアイデアであるかのようにプログラミングのスポーツ化について書いてきましたが、実は競技プログラミング自体は何年も前から存在しています。
しかし、現状それは限りなくニッチな分野での活動なので一般への認知度は0に近く、現役エンジニアであっても実際にやったことのある人は10%もいないんじゃないかという体感です。
スポーツとして世界に浸透させるにはもっとエンタメ要素が必要と感じますが、専用ハードを使う前提があればそれも結構いろいろなことができそうです。
- 視聴者側で参加者のコードを自由に切り替えながらリアルタイムで見ることができる
- 参加者のコードをAIにリアルタイムで解説させる
- 中間段階の得点を可視化して競馬的な抜きつ抜かれつを演出する
などなど、こちらもいろいろなことができそうです。
まとめ
以上、ふとしたきっかけで思いついたことをつらつらと書いてみましたが、あながちはずしてない気がします。
一度思いついてみると「AI時代のプログラミング能力退化を回避する」というテーマのためにはスポーツ化は必須なんじゃないかとさえ思いますがどうなんでしょうか。
願わくばこれがオリンピック並みの一大エンターテインメントとになってほしいものですが、それまで生きていられるかはまったく自信がありません。
おしまい。