GitHub によると、 Copilot のようなツールを使用すると、開発者は平均して 55% 速くコーディングできるようになります。ただし、それは最初に思われるほど素晴らしいことではありません。 GitClear は、2020 年 1 月から 2023 年 12 月までに1 億 5,000 万行以上のコードを分析しました。その結果、ツールプロバイダーは、いわゆる「コードチャーン」(作成後 2 週間以内に変更または更新が必要なコード行の割合)が 2024 年に 2 倍になると予測しています。
別の言い方もできます。2023 年に生成されたコードは、 保守しやすいプログラム コードではなく、特に詳細なプログラム コードを書くことに重点を置いた臨時従業員の仕事を彷彿とさせます。結果としてコードが肥大化すると、(とりわけ) IT セキュリティ上の災害につながる可能性があります。
この記事は、開発者にGenAI ツールの使用をやめるよう訴えることを目的としたものではありません。むしろ、AI への過度の注目がコードの不備などの不利益を招かないように、一定の措置を講じることが重要です。
コードの肥大化を防ぐ方法
大規模言語モデル ( LLM ) のセットアップは特に難しくありません。 AI の幻覚を防ぐさらなる方法、キーワード検索拡張生成もわかっています。ただし、LLM のプロンプトの設計は依然として不可解で一貫性のない技術です。データセットの作成者である Simon Willison は、自身のブログで次のように述べています。「モデルを思いどおりに動作させるには、信じられないほど愚かなことをしなければならないこともあります。」
Power DNS の創設者である Bert Hubert 氏によると、コードの肥大化または誇張は、AI 生成ソフトウェアの分野における最大の問題です。「コードが増えれば増えるほど、リスクも大きくなります。現在、ソフトウェアは非常に危険であると考えられているため、ご自身でソフトウェアを操作しないことをお勧めします。世界にはあまりにも多くのコードが出荷されており、平凡な部分が巨大な攻撃対象領域を生み出しています。」
ここでは、 コード レビュー(自動化と手動の両方) が役に立ちます。これが開発者 (特に経験の浅い開発者) にとって意味することは、基本をマスターする必要があるということです。たとえば、データ構造、アルゴリズム、分散システムなど、特定のトピックに関しては、かなりの数の開発者が「ギャップを離れる勇気」を持っています。これは、適切なコードレビューを実施する能力にとって非常に有害です。 (FM)