衝撃的なChatGPTの登場以来、ソフトウェア開発の分野でもAIを活用する動きが加速してきています。
大規模言語モデル(LLM)を利用したワークフローは、開発者の生産性を高めることが期待されていますが、AIへの依存が行きすぎると開発者にとっては悪影響があるのかもしれません。
ソフトウェア開発者のJames氏は「AI is Making Developers Dumb」と題したブログ記事を公開し、LLMを使い続けることが、開発者自身の技術スキルや知識を低下させる可能性があると指摘しています。
同氏は、LLM依存によって特に基本的なプログラミング言語の文法や基礎的な概念を忘れてしまう可能性があると指摘し、GitHub Copilotや他のAIアシスタントを使用する際に、ユーザーがアクションをAIに頼り過ぎてしまい、自分で考える時間や能力が減少する「Copilot Lag」と呼ばれる概念を紹介しています。
また、AIアシスタントを利用することで、問題を自分で解決する過程や調査のプロセスを省略することになり、知識の吸収や技術向上の機会を失うと述べています。コンパイラーやメモリ管理などの深い技術的理解が得られにくくなる点が指摘されています。
一方で、同氏はLLMの利便性も認めていて、特に概念の理解を助けるための調査ツールとしては有用であると述べています。ただし有効に活用するためには、LLMの出力を批判的に評価し、その背後にある理由を探る「探究的な態度」で活用することが重要だと強調しています。
James氏は個人的な経験としてGitHub Copilotを利用していた時期に、プログラミング言語の基本的な文法や構文を忘れ始めてしまったと告白しています。また「Writing An Interpreter In Go」という書籍を利用してインタープリター構築を学ぼうとした際、Copilotがコードをその場で生成するため、本からの学びを得ることが難しかったことを述べています。
同氏は、この状況に気づいた後、AIアシスタントの使用をやめる決意をし、以後は自力で問題を解決し、学習した内容をメモとして記録することを心がけていると語っています。
この記事に対してHacker Newsには賛否両論のコメントが寄せられています。
一部の開発者は、AIを使用することで効率性が向上し、創造性を発揮できると主張していますが、AIに頼ることで開発者が基礎的な知識を疎かにするリスクも指摘されています。またコーディング自体を楽しむ人々にとって、AIがコードを生成することは「楽しみを奪う」可能性があるのに対し、プロジェクトの完成を重視する人々は、AIを道具として活用することで迅速な成果を得ることに価値を見出しているという指摘も行われています。