本記事では、ソフトウェアエンジニアリングにおけるLLMおよびLLMエージェントの影響に関する調査を紹介します。
研究者らはソフトウェア工学の主要6分野における117の論文を分析し、LLMとLLMエージェントの応用、性能、ベンチマーク、評価指標を比較しています。その結果、LLMエージェントの優れた点と課題の両方が浮き彫りになりました。
参照論文情報
- タイトル:From LLMs to LLM-based Agents for Software Engineering: A Survey of Current, Challenges and Future
- 著者:Haolin Jin, Linghan Huang, Haipeng Cai, Jun Yan, Bo Li, Huaming Chen
- 所属:The University of Sydney, Washington State University, University of Wollongong, University of Chicago
背景
LLMは、コード生成やバグ検出などのタスクで素晴らしい性能を見せており、ソフトウェア開発者の生産性向上に役立っています。しかし、LLMにはいくつかの課題もあります。例えば、コンテキスト長に制限があったり、幻覚(ハルシネーション)が問題となっています。また、外部ツールを利用する能力も限定されています。
そこで、LLMをベースとしたエージェントシステム、つまりLLMエージェントの研究が進められています。LLMエージェントは、LLMの強みを活かしつつ、外部ツールやリソースと組み合わせることで、より複雑なタスクの実行を可能にします。例えば、GitHub Copilotもその一つです。GitHub CopilotはOpenAIのCodexをバックボーンとしており、リアルタイムのコード提案や補完を行うエージェントです。
LLMエージェントは、単なるLLMとは異なり、カスタマイズされたプロンプトを使用して情報を収集したり、自律的に思考し決定を下す能力を持つものとして開発されています。
なお、身体を持ったLLMエージェントの開発も進んでおり、現実世界であればロボット、仮想世界であればバーチャルな体を操作します。例えばMinecraftを上手にプレイするVOYAGERというLLMエージェントが話題になったことがあります。
そして現在、LLMエージェントの「ソフトウェアエンジニアリング」における活用に関心が集まっています。そこで今回研究者らは、要件定義、コード生成、ソフトウェア設計、テスト生成、メンテナンスなどに焦点を当て、LLMとLLMエージェントの応用を比較分析しています。
LLMとLLMエージェントの明確な区別を行っての調査は初めての試みとのことです。そのため、まずはLLMとLLMエージェントの定義の違いから整理されました。
また記事の購読には、アカウント作成後の決済が必要です。
※ログイン/初回登録後、下記ボタンを押してください。
AIDBとは
プレミアム会員(記事の購読)について
■サポートのお願い
AIDBを便利だと思っていただけた方に、任意の金額でサポートしていただけますと幸いです。