生成AIによるコード作成–開発者にもたらす生産性向上と役割の複雑化
今回は「生成AIによるコード作成–開発者にもたらす生産性向上と役割の複雑化」についてご紹介します。
関連ワード (AI、仕事、自動化の未来、CIO/経営等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
人工知能(AI)はすでに、開発者の強力な生産性ツールとして認識されているが、その可能性はさらに奥深く、キャリア志向にも影響を及ぼす。AIを活用したコード開発が勢いづく中で、テクノロジーマネージャーやIT担当者がビジネス面でより幅広い役割を担う機会が開かれつつある。
「IT担当者は多数の新しい役割を果たすことが求められるだろう」。Apps Associatesのビジネス統合および自動化担当プラクティスディレクターを務めるPreeti Lobo氏はこのように語る。現在では、「Java」や「Python」など多数の言語で、コードをオンデマンドで出力し、有用な推奨事項を作成することができる。Sourcegraphが先頃実施した調査では、すでに95%の開発者がこのような形で「Copilot」や「ChatGPT」などの生成AIツールを使用していると回答した。
こうしたツールの利用が広がったことで、興味深い疑問が生じている。生成AIツールは生産性を大幅に高める可能性があるものの、自動化が進む時代において、実際には技術者の仕事がさらに複雑化するのではないだろうか。
新しいコードを自動的に生成できても、結局はどこかの誰かが、全社で使われているコードがビジネスとガバナンスの厳格な要件を満たしていることを確認しなければならない。このすべてのコードを管理するには、高度な団結力、説明責任、セキュリティが必要になるだろう。そうした要件は、開発者に新たな役割と責任が求められることを意味する。
まず、ソフトウェアの仕事に関連するセキュリティと品質保証のタスクが、すぐになくなることはない。「プログラマーやソフトウェアエンジニアは、ChatGPTなどの大規模言語モデルを利用することで、ほぼすべての言語でコード作成できる」。Constellation ResearchのアナリストであるAndy Thurai氏は、こう前置きしたうえで、セキュリティ面の懸念について語った。
「しかし、生成されるコードの多くはセキュリティが脆弱であり、エンタープライズグレードのコードとしては通用しない可能性がある。したがって、AIはコーディングの高速化に役立つ可能性があるが、コードの分析や、脆弱性の発見と修正に注意を払う必要があり、それによって、AIベンダーが宣伝する生産性の向上が部分的に失われることになるだろう」
さらに、コードの無秩序な増殖という問題がある。コーディングにおける生成AIの展開によく似ているのが、クラウドコンピューティングの導入だ。オンデマンドITが登場したとき、アプリケーションの調達がシンプルになるかと思われたが、現在では、管理する必要のあるサービスが複雑に絡み合っている。
AIによるコード生成が比較的簡単であるために、コードベースが延々と拡大していくことが、すでに調査で示されている。Sourcegraphの調査では、500人の開発者の大多数が、生成AIによって作成される大量の新しいコードの管理や、コードの無秩序な増殖とそれに起因する技術的負債の拡大への対処について懸念していた。
Sourcegraphの調査レポートの著者らは、この需要の拡大を「ビッグコード」と呼ぶ。生成AIの利用が広がる前でさえ、8割弱の開発者が、過去3年でコードベースが5倍に拡大したと回答しており、他の人が生成した既存のコードを理解するのに苦労しているという開発者も同様の割合だった。
コードを提供するスピードが上がれば、ビジネス部門は、アプリケーションが要件の変化にもっと迅速に対応可能になる、と期待を膨らませる。「進化の方向はモデリングベースのアプローチであり、IF-THEN-ELSEルールに基づくコーディングからは離れつつある」とLobo氏は述べた。