投稿の画像 65.jpg
AIはあらゆるものを自動化し、プログラマーに取って代わる可能性はあるだろうか?写真:Midjourney

研究者グループが、ソフトウェア開発分野で人工知能 (AI) が直面している課題の包括的なマップを公開し、この分野をさらに前進させるための研究ロードマップを提案しました。

AIがソフトウェア開発の面倒な作業、例えば複雑なコードのリファクタリング、レガシーシステムの移行、競合関係のバグ追跡といった作業を静かに引き継ぎ、人間のソフトウェアエンジニアがシステムアーキテクチャ、設計、そして機械がまだ解決できない創造的な問題に完全に集中できる未来を想像してみてください。近年のAIの進歩は、まさにそのビジョンを非常に近づけているようです。

しかし、MIT のコンピューター科学および人工知能研究所 (CSAIL) と提携研究機関の科学者による新たな研究では、そのような未来を実現するためには、まず現時点での非常に現実的な課題に立ち向かわなければならないことが示されています。

「AIがあらゆるものを自動化したため、プログラマーはもはや必要ないと言う人が多い」と、MITの電気工学・コンピュータサイエンス講師であり、CSAILの上級研究員であり、本研究の筆頭著者でもあるアルマンド・ソラーレザマ教授は述べている。「実際には、私たちは非常に大きな進歩を遂げてきました。現在利用可能なツールは、以前よりもはるかに強力になっています。しかし、自動化の潜在能力を最大限に引き出すには、まだ長い道のりが残っています。」

アルマンド・ソラーレザマ教授は、現在広く受け入れられている概念では、ソフトウェアエンジニアリングは学生のプログラミング課題、つまり小さな関数の割り当てを受けてそれを処理するコードを書く、あるいはLeetCode風の課題に取り組むといったタスクに簡略化されていると主張しています。しかし、現実ははるかに複雑です。設計を最適化するためのコードリファクタリングから、企業の技術プラットフォームを根本的に変えるような、数百万行に及ぶCOBOLからJavaへの大規模な移行まで、多岐にわたります。

測定とコミュニケーションは依然として難しい問題です。

GPUコアの調整やChrome V8の多層的な改善といった、産業規模のコード最適化の評価は依然として困難です。現在のベンチマークは、主に小規模でパッケージ化された問題に焦点を当てています。現在利用可能な最も実用的な指標であるSWE-Benchは、AIモデルにGitHub上のバグを修正させるだけです。これは、数百行のコードでデータ漏洩の可能性があり、AI支援によるリファクタリング、人間と機械のプログラミング、数百万行のコードを含む高性能システムの書き換えといった、他の多くの現実世界のシナリオを無視した低レベルプログラミング演習に相当します。ベンチマークがよりリスクの高いシナリオまで拡張されるまで、進捗状況の測定、ひいては進捗の促進は未解決の課題であり続けるでしょう。

さらに、人間と機械のコミュニケーションも大きな障壁となっている。筆頭著者である大学院生のアレックス・グー氏は、現状ではAIとのやり取りは「細いコミュニケーションの糸」のようなものだと述べた。彼がAIにコード生成を依頼すると、多くの場合、大規模で構造化されていないファイルと、単純で初歩的なテストケースがいくつか返される。このギャップは、デバッガや静的アナライザといった人間に馴染みのあるソフトウェアツールをAIが効果的に活用できないことにも表れている。

コミュニティからの行動の呼びかけ。

著者らは、これらの問題に対する魔法の杖のような解決策は存在しないと主張し、コミュニティ規模の取り組みとして、プログラマーの実際の開発プロセス(どのコードが保持され、どのコードが破棄されるか、時間の経過とともにコードがどのようにリファクタリングされるかなど)を反映するデータの構築、リファクタリングの品質、パッチの耐久性、システム移行の精度を評価する共通のツールの構築、AI が不確実性を表現して人間の介入を促すことを可能にする透明なツールの構築を求めています。

大学院生のアレックス・グー氏は、これを単一の研究室では達成できない大規模なオープンソースコミュニティへの「行動喚起」と捉えています。ソーラー=レザマ氏は、小さな相互補完的なステップ、つまり「問題の各部分を段階的に解決する研究成果」から進歩が生まれ、AIが「コード推奨ツール」から真のエンジニアリングパートナーへと変貌を遂げると考えています。

「なぜこれが重要なのでしょうか? ソフトウェアは今や金融、交通、 医療、そしてあらゆる日常活動の基盤となっています。しかし、それらを安全に構築・維持するための人間の努力がボトルネックになりつつあります」と顧氏は述べた。「隠れたエラーを生み出すことなく、重労働をこなせるAIがあれば、プログラマーは創造性、戦略、そして倫理に集中できるようになります。しかし、それを実現するには、コードを完成させるのは簡単な部分に過ぎず、難しいのはそれ以外の部分にあることを理解する必要があります。」

(MITニュースより引用)

出典: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-p​​han-mem-tu-dong-hoa-2426456.html