「ChatGPT」や「GitHub Copilot」といった生成型の人工知能(AI)ツールによってもたらされる生産性向上は極めて大きなものとなる可能性がある。しかし、テクノロジー分野のプロフェッショナルの仕事が「より」複雑化する可能性はないのだろうか?
提供:Nikos Pekiaridis/NurPhoto via Getty Images
AIのおかげで現在、「Java」から「Python」に至るまでのさまざまな言語のコードを必要に応じて作成したり、有益なアドバイスを受け取ったりできるようになっている。Sourcegraphが最近公開したレポートによると、開発者の95%は既にこうしたかたちでCopilotやChatGPT、その他の生成型AIツールを利用しているという。
しかし、手に負えないほど大量のコードベースを既に管理しており、高いレベルの凝集度や説明責任、セキュリティを必要としている企業にとって、新たなコードを自動生成して解決できるのはほんの一部の問題にすぎない。
まず、ソフトウェア関連の仕事に付随するセキュリティと品質保証のタスクは、そうすぐに解決されないだろう。Constellation ResearchのアナリストであるAndy Thurai氏は、セキュリティに関する懸念の話題に入る前に、「プログラマーやソフトウェアエンジニアがコードを記述する際、ChatGPTをはじめとする大規模言語モデル(LLM)はほとんどすべての言語で有益なものとなる」と述べた。
同氏は「しかし、生成されるコードのほとんどはセキュリティ上の脆弱性を抱えており、エンタープライズグレードに達しない可能性もある。このため、AIはコーディング時間の短縮には役立つものの、AIベンダーがうたう生産性向上の一部を犠牲にしても、コードの分析や、脆弱性の発見と修正に時間を割く必要がある」と続けた。
また、コードのスプロールという現象もある。コーディングにおける生成型AIのロールアウトは、クラウドコンピューティングの導入とある意味においてよく似ている。クラウドコンピューティングは、初めてロールアウトされた時にはアプリケーションの取得がより簡素化されると考えられていたが、今では絡み合ったサービスを抱えるものとなっている。
AIを用いたコードの生成が比較的容易であるというのは、コードベースが拡大し続ける一因となっており、Sourcegraphのレポートの著者らはこれを「ビッグコード」と呼んでいる。調査対象となった500人の開発者の多くは、こうした新たなコード全てや、コードのスプロール、そしてそれがもたらす技術的負債の管理について懸念している。開発者10人のうち8人近くは、生成型AIが登場する以前の過去3年間ですらコードベースが5倍になったとしており、ほぼ同数の開発者は他の開発者によって作成された既存コードの理解に苦しんでいるとしている。