人工知能はコードを変換することはできますが、ソフトウェア・エンジニアのように考えることはできません。
これが、MITのコンピュータ・サイエンスおよび人工知能研究所による新しい研究の結論です。大規模言語モデル(LLM)はコード・スニペットの生成には優れていますが、現実世界のソフトウェア・エンジニアリングに要求される高度な推論、計画、コラボレーションには欠けていることがわかりました。この研究は、スタンフォード大学、カリフォルニア大学バークレー校、コーネル大学の研究者と共同で実施され、今週の 機械学習会議で発表されました。AIがソフトウェア開発を変革する準備度についての先入観に挑戦しています。
「ロング・ホライズン・コード・プランニングには、高度な推論と人間同士の対話が必要です」と、MIT CSAILの博士候補生で、この研究の主執筆者であるアレックス・グーは、IBM Thinkのインタビューで語りました。「モデルでは、パフォーマンス、メモリー、コード品質などのさまざまなトレードオフを考慮し、それを利用してコードの設計方法を正確に決定する必要があります」
AIコーディング・ツールは今や、現代のソフトウェア開発の定番です。2025年には、開発者の82%がAIコーディングツールを毎週またはそれ以上使用していると報告しており、59% がワークフローにおいて3人以上のアシスタントに依存していると回答しました。また、78% が明らかに生産性が向上したと回答し、AIが今日のコードの記述方法をどれほど深く形作っているかを示しています。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
MITの研究では、いわゆる「長期的コードプランニング」が、現在のAIシステムの主な制限として定義されています。Gu氏によると、これには、コードがより大きなシステムにどのように適合するかについて推論し、ローカルな決定の世界的な影響を考慮することが含まれます。
「長期にわたるコード計画には、高度な推論と人間の介入が必要です」とGu氏は言います。「モデルは、性能、メモリ、コード品質などのトレードオフを考慮し、それを使用してコードの設計方法を決定する必要があります。」
Gu氏は、新しいプログラミング言語の設計例を挙げました。このタスクには、言語のさまざまな使用方法をすべて検討し、どのAPI機能を公開するかを決定し、ユーザーの使用パターンを考える必要があると彼は説明しました。この研究では、単一機能の設計へのわずかな変更がコードベースの残りの部分に伝播する可能性があるため、モデルはローカル・コード変更によるグローバルな影響についても推論する必要があると指摘しています。
MITの研究では、AIコーディング機能の現在の評価方法に関する問題が特定されています。Gu氏によると、ほとんどのコーディング・ベンチマークは、小規模で自己完結型のプログラムを最初から生成することに重点を置いており、大規模なソフトウェア・エンジニアリングの現実を反映していません。
「私たちが言及する側面の1つは、タスクのダイバーシティーです。実際のソフトウェア・エンジニアリング(SWE)には、ソフトウェア・テストやソフトウェア・保守などのタスクが含まれていますが、これらは今日のベンチマークに反映されることはほとんどありません」とGu氏は言います。
同様に重要なのは、AIシステムがユーザーの意図を推測する能力です。これは、特定のユースケースに合わせてソリューションを調整するために不可欠なスキルです。「ビジネス向けのWebサイトは、遊び目的でデザインされたWebサイトよりも堅牢である必要がある可能性があります。」
研究では、LLMはトレーニング中に見られた例によく似たタスクで最も優れたパフォーマンスを発揮し、低リソースのプログラミング言語や特殊なライブラリに依存するプロジェクトに課題が生じることが判明しました。Gu氏によると、参考情報の少ない言語や特殊なライブラリーがこのデータ・プールに比較的まれにしか表示されないため、LLMはこれらについて苦労することになります。
「これらのタスクの実行は、目に見えないデータと領域への推定(一般化)に依存しており、多くの場合、トレーニング分布に似たコードを反復するよりも困難です」とGu氏は言います。
調査によると、この制限は、ドキュメンテーションが限られているレガシー・システムや科学的コンピューティング環境、社内ツールでは、AIコーディング・エージェントの効果が低下する傾向があることを意味します。
MITの調査では、AIシステムがプロジェクトのコードベースの正確な意味モデルを開発する必要性が特定されます。Gu氏によると、これにはソフトウェアの構造、コンポーネントがどのように相互作用するか、そしてそれらの関係が時間の経過とともにどのように変化するかを理解することが含まれます。
「まず、AIはコードベースの構造と、さまざまな部分がどのように組み合わされているかを理解する必要があります」と彼は言います。「第二に、個々の機能がどのように機能するかを理解する必要があります。そして最後に、新しい主要な機能の追加に合わせて、コードベースのモデルを更新する必要があります。
この調査では、現在のAIモデルにはプロンプト間の永続的な状態がなく、コードベースがどのように進化したかについてのメモリーや、そのアーキテクチャーの内部表現が不足していることが指摘されています。
これらの限界にもかかわらず、著者は改善の可能性があるいくつかの領域を特定しています。Gu氏は、特にテスト、保守、人間とAIのコラボレーションなど、より幅広いタスクでAIシステムを評価できれば、より良いベンチマークが役立つ可能性があると述べています。
彼はまた、コーディング以外の分野、特に教育プログラムでも将来性があると考えています。「AIはすでに、初等中等教育の問題を解決する強力な能力を備えています。「AIは、実践問題の生成、採点、生徒の誤解の特定など、教育プログラムにおける既存のワークフローを合理化する多くの可能性を秘めています」
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。