AIによって技術者は幅優先で学習したほうが効率が良い
生成AIを利用することによって、プログラマーの生産効率が飛躍的に向上したと感じています。感覚的なものではありますが、私自身のプログラミングにおける生産性は、3~5倍ほどスピードアップしたように思います。
また、AIを利用した生産活動において、もともと高い技量を持つ人ほどその効果が大きいとも感じています。以下の記事もその一例です。
https://gigazine.net/news/20241203-ai-innovation/
つまり、一部のエリートが生成AIの恩恵を受け、生産性を飛躍的に高めているのです。この現象はすでに多くの分野で見られ、今後は「知恵の格差」がさらに広がると予測されます。
知恵の格差と生産性の拡大
もともと、ソフトウェアエンジニアの生産性には「できる人とできない人で10倍の差がある」と言われてきました。しかし、生成AIの登場により、この格差が30倍、あるいは100倍にまで拡大する可能性があります。
これにより「できる人一人を雇えば、できない9人は不要」という従来の考え方が、「できる人一人を雇えば、できない99人は不要」という世界へ移り変わるかもしれません。
さらに、できない人を100人雇った場合、コミュニケーションロスによって効率が低下し、マネージャーやプロジェクトアシスタントなどの周辺コストが発生します。一方、優秀な1人であればこうしたコストは不要であり、結果として生産効率の差は200~300倍に達する可能性もあります。
これは人類全体で見ると生産性の向上を意味し、喜ばしい話です。しかし、その一方で、2020年代には仕事を得られていた100~300人が、2030年代には仕事を失う可能性も示唆しています。
人類は歴史的に「暇になりつつある」と言われてきましたが、AIの進化によってこの変化がさらに加速されるでしょう。
これからのエンジニアの生存戦略
生成AIを活用したプログラミングでは、「全く知らない言語」や「新しい技術トピック」に対しても素早く成果を得ることが可能です。しかし、全くの初心者では、AIが生成した成果物を評価することができません。そのため、ある程度の深さで幅広いトピックを押さえておくことが効率的です。
これまで、エンジニアの生存戦略として以下の選択肢が議論されてきました。
- 一つまたは少数の技術トピックを深掘りする(スペシャリストになる)
- 幅広い知識を持つ(ジェネラリストになる)
- マネジメント職など非技術分野へ進む
生成AIの登場により、これらの選択肢は「ジェネラリスト有利」に傾いたと考えられます。
ジェネラリストが有利な理由
生成AIは、専門的な知識の幅広さと量において、人類では太刀打ちできないレベルに達しています。しかし、それが「正しいかどうか」や「別の視点からのアプローチ」に関する判断力は、いまだ人間の領域です。このようなフレーミング能力は、今後も人類が優位に立ち続けるでしょう。
一方、スペシャリストが扱う高度な領域では、生成AIの能力は十分ではない場合もあります。たとえば、関数型プログラミングのような複雑な分野では、生成AIが品質の低いコードを生成し、役に立たないことがよくあります。生成AIは「最大公約数的な答え」を提供する性質があるため、特定の分野で突出した成果を得るのは難しいのです。
しかし、実際のシステム開発では、生成AIが大量に生成したプログラムを取捨選択したり、修正したりすることで十分です。このため、さまざまな技術トピックにそれなりの知識を持つジェネラリスト戦略が、生成AI時代のエンジニアの生存戦略として有利であると言えるでしょう。
と、同時にソフトウェアエンジニア全体の必要数は減少していくと思われます。大規模プロジェクトが立ち上げられて「何百人というエンジニアをひと所に集めて昼夜を問わず開発させる」みたいな光景は古き良き(悪き)ソフトウェア開発の歴史として振り返るような時代になるのかもしれません。
Discussion