オープンソースコードエディタZedの開発チームは、注目を集めるブログ記事「なぜLLMは本当にソフトウェアを構築できないのか」を公開しました。この記事はConrad Irwinによって書かれたもので、技術界で大きな論議を巻き起こし、特にHacker Newsでは多くの開発者が意見を述べ、AIによるプログラミングの本質に焦点を当てています。

Irwinは、優れたソフトウェアエンジニアが仕事の中で経験するループプロセスについて指摘しています。それは、要件のマインドモデルを構築し、コードを記述し、実際のコードの動作を理解し、違いを認識して更新することです。彼は、明確なマインドモデルを維持できる能力が優れたエンジニアを区別する鍵であると強調しています。しかし、現在のLLM(大規模言語モデル)にはこの点で致命的な欠点があると述べています。

彼は、LLMがコードの作成や更新においてある程度の性能を発揮しているものの、明確なマインドモデルを維持できない点を指摘しています。テストが失敗した場合、LLMは混乱し、自分の書いたコードが正しいと仮定してしまい、修正方法が分からないため、最終的にコードを再書き直すことがあります。多くの開発者はこれに共感しており、複雑なプロジェクトにおいてLLMが全体のアーキテクチャを把握できなくなると感じていると述べています。

一方で、この記事には異なる意見も出ています。一部の開発者は、今のLLMとコーディングツールの能力がすでに相当強力であり、ときには初心者のエンジニアよりも優れていると述べています。また、あるユーザーはAIを使ってプロジェクトを作成した経験を共有し、その効果が驚くほどだったと語っています。7000行のコードを完全にAIに依存して作成したという話もあります。

Irwinはさらに、LLMが直面する3つの問題について分析しています。それは、文脈の欠落、最近のバイアス、および幻覚です。これらの問題により、LLMはマインドモデルを維持する上で制約を受けます。それに対して、人間は完璧な文脈を効率的に保存・処理できるため、問題解決においてより高い柔軟性と適応性を持つことができます。

Zedチームの最終的な見解は、AIはソフトウェア開発を補助することができるが、人類がこのプロセスの主導者であるということです。チームの言葉のように、「少なくとも現時点では、あなたはドライバーであり、LLMは使用可能なツールに過ぎません。」多くの開発者はこの見解に賛同しており、AIはいくつかの繰り返しのコーディング作業を担うことができるが、設計や計画は人間の知恵に依存すべきだと考えています。