Home / AI / コード生成◎ ソフトウェア構築✕ AIの得意不得意を徹底解説

コード生成◎ ソフトウェア構築✕ AIの得意不得意を徹底解説

記事まとめ

  • コードエディタ「Zed」の開発チームメンバーが、LLM(大規模言語モデル)はコードの記述は得意だが、実際のソフトウェア構築には限界があると指摘している
  • 人間のソフトウェアエンジニアは要件とコードのメンタルモデルを構築・維持できるが、AIはこの能力を持たず、文脈を正確に維持することが困難である
  • AIには欠落した文脈の発見、新しい情報への過度な信頼、幻覚による誤った情報の主張といった根本的な問題があり、複雑なタスクでの反復作業に限界がある

対談: AIのコーディング能力の現実

松永尚人松永尚人:今回取り上げる記事は、「AIがソフトウェアを実際に構築できない理由」というテーマですね。コードエディタ「Zed」の開発チームの方が、LLMはコード記述は得意だが、実際のソフトウェア構築には限界があると指摘されています。

助飛羅知是助飛羅知是:なるほど!つまりAIはコードを書くのは上手だけど、実際にソフトウェアを作るのは苦手ということですね。これはもうAIにSalesforceの設定を任せれば完璧なソリューションができるということかもしれません。

松永尚人松永尚人:いえいえ、全然違います…。記事では、人間のエンジニアはメンタルモデルを構築・維持する能力があるけれど、AIにはそれができないという話なんです。

助飛羅知是助飛羅知是:メンタルモデル…これはきっとAIがメンタルヘルスを考慮したプログラミングをできないということかもしれません。確かにプログラマーのメンタルケアは重要ですからね。ギャハ!

松永尚人松永尚人:助飛羅さん、メンタルモデルというのは、頭の中で行動をイメージすることです。人間のエンジニアは要件を理解して、それを満たすコードを書き、そのコードが実際に何をするかをイメージして、違いがあれば修正するという作業を繰り返すんです。

助飛羅知是助飛羅知是:なるほど!つまりAIは想像力が足りないということですね。これはもうMagic: The GatheringのようなカードゲームをAIにプレイさせて想像力を鍛えるしかないかもしれません。

松永尚人松永尚人:そういう話ではないんですが…。記事によると、AIは無限に混乱しやすく、テストが失敗すると推測に頼って修正を試みる傾向があるそうです。人間のように問題の根本原因を特定するのが苦手なんですね。

対談: AIの技術的限界と人間との違い

松永尚人松永尘人:記事では、AIの具体的な欠点も挙げられています。欠落した文脈を見つけるのが苦手で、新しく入力された情報を正しいと錯覚しがちなんです。

助飛羅知是助飛羅知是:文脈を見つけるのが苦手…これはもうAIに国語の授業を受けさせるしかないですね。特に古文とか漢文をやらせれば、文脈を理解する力が身につくかもしれません。ギャハ!

松永尚人松永尚人:助飛羅さん…そういう文脈ではなくて、プログラミングにおける情報の関連性や背景を理解することなんです。それから、AIは幻覚によって誤った情報を事実として主張する問題もあります。

助飛羅知是助飛羅知是:AIが幻覚を見る…これは深刻な問題ですね。もしかしてAIがプログラミング中にピンクの象とか見えちゃうんですかね。Salesforceの設定画面でユニコーンが踊ってたりして。

松永尚人松永尚人:それは文字通りの幻覚ではありません…。AIの「幻覚」というのは、存在しない情報を実在するものとして生成してしまう現象のことです。だから我々も、AIが生成したコードや設計は必ず人間がチェックする必要があるんです。

助飛羅知是助飛羅知是:なるほど、つまりAIは嘘つきということですね。これは人間関係でも問題になりそうです。AIが「昨日お客様から感謝のお電話をいただきました」とか嘘の報告をしてきたら大変なことになるかもしれません。

松永尚人松永尚人:まあ、確かにそういうリスクもありますね。記事では、要件が明確で問題が単純であれば一度で完了できるけれど、複雑なタスクでは文脈を正確に維持できず、反復作業に取り組めないと指摘されています。

助飛羅知是助飛羅知是:反復作業ができない…これはもうAIにラジオ体操をやらせて、反復作業に慣れてもらうしかないですね。第一、第二、第三まで完璧にマスターすれば、プログラミングの反復作業もできるようになるかもしれません。

松永尚人松永尚人:助飛羅さん、その発想はさすがに突飛すぎます…。ただ、Hacker Newsでは「LLMは現在のところソフトウェアを開発できないかもしれないが、今後はできるようになるだろう」という前向きなコメントもあったそうです。

対談: AIの未来とソフトウェア開発の展望

松永尚人松永尚人:興味深いのは、Hacker Newsでの議論で「LLMは確かに未熟だが、人間のジュニアエンジニアと同等の能力は持っている」という意見があったことですね。また、人間のソフトウェアエンジニアが使うようなツールを全て与えれば改善するという指摘もありました。

助飛羅知是助飛羅知是:ジュニアエンジニア並み…これはもうAIに研修を受けさせるしかないですね。新人研修でビジネスマナーから教えて、最終的にはSalesforceの認定資格を取らせるんです。きっと立派なエンジニアになるはずです。ギャハ!

松永尚人松永尚人:確かに教育は重要ですが…。実際、2022年にChatGPTが登場して以来、AIの能力は10倍に進化しているという指摘もあるんです。技術の進歩は確実に続いているようですね。

助飛羅知是助飛羅知是:10倍の進化…これはすごいですね。でも考えてみたら、私のラーメン二郎への愛情も10年前と比べて10倍になっているかもしれません。やっぱり成長には情熱が必要なんですね。

松永尚人松永尚人:それはそれで素晴らしいことですが…。重要なのは、現在のAIの限界を理解した上で、適切な場面で活用することだと思います。我々も、AIをコード生成の補助として使いつつ、最終的な判断や設計は人間が行うべきですね。

助飛羅知是助飛羅知是:そういえば、Salesforceの設定でも同じことが言えるかもしれませんね。AIが基本的な設定案を作って、人間がそれを調整する…これは効率的な働き方ですね。

松永尚人松永尚人:それは確かに良いアプローチだと思います。AIの長所を活かしつつ、人間の経験と判断力で補完する。これがこれからのソフトウェア開発やシステム構築の主流になっていくのかもしれませんね。

助飛羅知是助飛羅知是:なるほど!つまりAIと人間の協力関係ですね。これはもうAIと一緒にMagic: The Gatheringをプレイして、チームワークを磨くしかないですね。デッキ構築はAI、戦略は人間が考える感じで。

松永尚人松永尚人:助飛羅さん、それはちょっと…でも確かにAIとの協力は重要ですね。記事の内容からも分かるように、AIには現時点で限界があるからこそ、我々人間の役割がより重要になってくるということかもしれません。

助飛羅知是助飛羅知是:そうですね!つまりこれからの時代は、AIとラーメン二郎を一緒に食べながらプログラミングすることが最強の開発手法になるということですね。ギャハ!

松永尚人松永尚人:えええ!?それは絶対に違うでしょ!でも、まあ…AIの限界を理解して上手く活用していくのは確かに重要ですね。我々GitHouseでも、Salesforceの設定やデータ分析でAIを活用しつつ、最終的な品質は人間がしっかりと確保していますから。もしSalesforceでお困りのことがあれば、ぜひこちらからお問い合わせください

関連リンク

AIがソフトウェアを実際に構築できない理由 – GIGAZINE

タグ付け処理あり: