生成AIは強力な技術であり、本来は単なる業務の効率化にとどまらず、業務そのものを変える手段とすべきものです。導入によって作業を速めるだけでなく、生成AIを前提とした業務の進め方へと再設計しなければ、AIの力と既存の業務との間に不整合が生まれ、逆に生産性の低下を招くことがあります。生成AIの活用とは、単に使うことではなく、業務のあり方そのものを見直すことにほかなりません。本連載では、書籍『2030 次世代AI 日本の勝ち筋』(日経BP)から抜粋し、生成AIの利用事例と課題、生成AIを前提とした将来の業務のあり方について考えていきます。第4回は「生成AIが変える未来」をテーマに。
さて、筆者は国の研究所に所属する研究職ですが、その職務内容はソフトウエア開発、特にプログラミングを行うことであり、最も身近な生成AIの利用はソフトウエア開発支援です。例えば、ソフトウエア開発用ツールから生成AIを呼び出し、自然言語で指示すればプログラムを作成してくれます。
生成AIが作成するプログラムについては、当初、2023年の頃は間違いや機能漏れが多く、AIはプログラムの下書き作成にとどめて、人間が修正・加筆を行うことが多かったといえます。2024年後半になると、小規模なプログラムであれば生成AIが作るプログラムの品質は向上しており、現在ではメインの処理は人間がプログラムを書き、例外処理などの補完的な処理は生成AIの支援を受けるといった活用が一般的になっています。このほか、ソフトウエア開発ではプログラム作成以外にも、テストケースの作成、コードドキュメントの生成、セキュリティー脆弱性検出を含むレビュー、ログ解析など、多様な工程で生成AIが利用されています。ソフトウエア開発は、生成AIが最も普及している分野といってよいでしょう。
プログラム作成の精度が急速に高まった理由はいくつかありますが、そのひとつは、学習モデルと生成処理の両面で改善があったことです。まず学習モデルに関しては、プログラム生成に最適化したモデルが登場したことに加え、学習用データとなるプログラムの選別も進みました。従来はGitHubなどのオープンソースソフトウエアのレポジトリ上にあるソースコードを無差別に学習データとして用いていましたが、現在は高品質なコードに限定して学習させています。
一方、生成処理における工夫として、自己フィードバックによる改善機構が挙げられます。言語生成AIは人間の書いた自然言語文の修正や改善ができますが、同様にプログラムの改善も行えるため、生成AIが作成したプログラムをそのまま出力するのではなく、その生成AI自身、あるいは別の生成AIにプログラムを改善させる処理を生成段階で繰り返しています。また、生成したプログラムを疑似的に実行・テストすることで、誤りを検出して修正する仕組みも導入されています。
今後の方向性については、人間が書いた質の高いプログラムには限りがあることから、生成されたプログラムの品質を評価する側の精度を高めることが想定されます。例えば、ソフトウエア開発環境を通じて、生成したプログラムに対する開発者の修正箇所や修正内容を積極的に生かす方法もあるでしょう。
ところで、「ソフトウエア開発はAIが担うようになり、プログラマーを含む人間の技術者は不要になる」といった言説を耳にすることがあります。しかし、現実にはAIに置き換えられる部分は限られています。例えば、プログラムの仕様適合性や設計整合性を確認するには、仕様や設計の意図理解が必要であり、これはAIには難しい作業です。また、AIは例外処理のコードは書けても、その例外の網羅性を確保するのは困難です。さらに、生成AIによるプログラム作成はデモや実験用の小規模プログラムでは有効でも、規模が大きくなるほど品質が低下します。このため、人間によるチェックや修正は不可欠です。
ただし、チェックや修正にはそれ相応の能力と経験が必要です。仮にプログラマーをAIで置き換えてしまった企業は、AIが生成したプログラムをチェック・修正できる人材が育たなくなり、数年後には高額な人件費を払って外部から人材を確保せざるを得なくなるでしょう。そのときの人件費は、新人プログラマーを採用しないことで削減した人件費を、はるかに上回ることがあることを想定しておくべきです。
生成AIにプログラムを作らせるとき、同じ処理でもプログラミング言語が違うと品質に差が出ることがあります。この原因を探る研究は進んでいるとはいえません。このため筆者の推測で議論することになりますが、おそらくその品質の差は、学習用データとなるプログラムの質と量に依存していると推測されます。
そうなると、ソースプログラムが数多く公開されているプログラミング言語が有利になりそうですが、そう単純ではないようです。まず、ひとつの処理について多様な書き方ができる言語は不利になる可能性があります。というのは、ある処理を実現するソースプログラムが多数公開されていても、書き方が違うと、AIにとって学習しやすいとはいえないためです。
また、Python言語は公開されているソースプログラムの量が多いはずですが、ソフトウエア開発における生成AI利用が始まった当初、生成AIが作るPythonプログラムはお世辞にも品質が高いとはいえないものが見受けられました。公開されているPythonプログラムの中には品質に問題があるものが少なくなかったからだと推測されます。
さて、生成AIによるプログラム作成支援が当たり前になると、プログラミング言語の優劣の指標に「生成AIによるプログラム作成支援に向いているかどうか」が付け加わることになります。そうなると、学習対象となるソースプログラムが極端に少ないプログラミング言語、つまりマイナーな言語や新たに設計された言語は、生成AIによるソフトウエア開発支援では不利になります。ソフトウエア開発における生成AIの利用は、その副作用として、今後新たなプログラミング言語が普及する可能性を小さくしているのかもしれません。

[書籍『2030 次世代AI 日本の勝ち筋』を基に再構成 日経クロステック 2025年12月12日付の記事を転載]
佐藤一郎著/日経BP/2200円(税込み)
