Unified Software Engineering agent as AI Software Engineer

要約

大規模な言語モデル(LLM)テクノロジーの成長により、自動コーディングへの期待が高まりました。
ただし、ソフトウェアエンジニアリングはコーディング以上のものであり、プロジェクトのメンテナンスや進化などのアクティビティに関係しています。
これに関連して、LLMエージェントの概念は牽引力を獲得しました。これは、LLMSを推論エンジンとして利用して、外部ツールを自律的に呼び出すことです。
しかし、LLMエージェントはAIソフトウェアエンジニアと同じですか?
この論文では、統一されたソフトウェアエンジニアリングエージェントまたはUSEAGENTを開発することにより、この質問を理解しようとしています。
テスト、デバッグ、修理などの特定のソフトウェアタスクの専門的なエージェントを構築する既存の作業とは異なり、私たちの目標は、複数の機能を調整して処理できる統一エージェントを構築することです。
これにより、エージェントは、不完全なパッチの修正、新しい機能の追加、他の人が書いたコードを引き継ぐなど、ソフトウェア開発における複雑なシナリオを処理することを約束します。
USEAGENTは、AIと人間の両方が関与する将来のソフトウェア開発チームのチームメンバーになることができる将来のAIソフトウェアエンジニアの最初のドラフトとして想定しています。
USEAGENTの有効性を評価するために、コーディング、テスト、パッチングなどの無数のタスクで構成される統一ソフトウェアエンジニアリングベンチ(使用ベンチ)を構築します。
UseBenchは、SWEベンチ、SWTベンチ、RepoCodなどの既存のベンチマークからのタスクの賢明な混合物です。
1,271のリポジトリレベルのソフトウェアエンジニアリングタスクで構成されるUseBenchの評価では、USEAGENTは、OpenHands Codeactagentなどの既存の一般的なエージェントと比較して有効性が改善されていることを示しています。
特定のコーディングタスクのUSEAGENTの機能にはギャップが存在します。これは、将来のAIソフトウェアエンジニアをさらに開発することに関するヒントを提供します。

要約(オリジナル)

The growth of Large Language Model (LLM) technology has raised expectations for automated coding. However, software engineering is more than coding and is concerned with activities including maintenance and evolution of a project. In this context, the concept of LLM agents has gained traction, which utilize LLMs as reasoning engines to invoke external tools autonomously. But is an LLM agent the same as an AI software engineer? In this paper, we seek to understand this question by developing a Unified Software Engineering agent or USEagent. Unlike existing work which builds specialized agents for specific software tasks such as testing, debugging, and repair, our goal is to build a unified agent which can orchestrate and handle multiple capabilities. This gives the agent the promise of handling complex scenarios in software development such as fixing an incomplete patch, adding new features, or taking over code written by others. We envision USEagent as the first draft of a future AI Software Engineer which can be a team member in future software development teams involving both AI and humans. To evaluate the efficacy of USEagent, we build a Unified Software Engineering bench (USEbench) comprising of myriad tasks such as coding, testing, and patching. USEbench is a judicious mixture of tasks from existing benchmarks such as SWE-bench, SWT-bench, and REPOCOD. In an evaluation on USEbench consisting of 1,271 repository-level software engineering tasks, USEagent shows improved efficacy compared to existing general agents such as OpenHands CodeActAgent. There exist gaps in the capabilities of USEagent for certain coding tasks, which provides hints on further developing the AI Software Engineer of the future.

arxiv情報

著者 Leonhard Applis,Yuntong Zhang,Shanchao Liang,Nan Jiang,Lin Tan,Abhik Roychoudhury
発行日 2025-06-17 16:19:13+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.SE パーマリンク