モナシュ大学、メルボルン大学、Atlassian の共同研究である本論文は、著者らが LLM ベースのソフトウェア開発エージェントに見いだす 3 つの限界から出発する。すなわち、オープンソースプロジェクトの過去のベンチマークデータセットで評価されていること、プロセスの各段階で人間のフィードバックをほとんど取り入れていないこと、そして実務にデプロイされていないことである。著者らは、Atlassian が人間の専門性と、人間が AI エージェントを統制できることを重視している点に触れたうえで、完全自動化を目指すのではなく、アシスタントとしてエンジニアと協働するエージェントを設計している。
こうして生まれたフレームワーク HULA では、AI Planner Agent、AI Coding Agent、Human Agent(タスクを割り当てられたエンジニア)が協力して JIRA の課題をプルリクエストへと変換する。エンジニアは各段階で、関連ファイル、コーディング計画、コードをレビュー・編集・再生成できる。著者らはこれを社内利用のために Atlassian JIRA にデプロイし、3 段階で評価した。人間のフィードバックなしでの SWE-bench Verified と 369 件の JIRA 課題からなる社内データセットによるオフライン評価、エンジニアが 2 か月間利用した 663 件の実際の課題によるオンライン評価、そして実際に利用した実務者へのサーベイである。
論文の結論は、入力の詳細さが性能に強く影響すること、人間のフィードバックは入力コンテキストを豊かにでき実務上有益であること、実務者は HULA が開発時間と労力を削減すると見ていること、その一方でコード品質は依然として懸念であり、HULA は人間の入力なしに完璧なコードを生成するにはまだ苦労していること、である。
主なポイント
- オフライン評価では、HULA は SWE-bench Verified の課題の 97%、社内データセットの 100% について生成ワークフローを完了した。
- SWE-bench Verified では、AI Planner Agent はファイル特定において平均再現率 86% を達成し、84% の課題でファイルを完全に特定できた。また 31% の課題がすべての単体テストに合格した。著者らはこれを、2024 年 9 月 26 日時点のリーダーボードで 6 位のエージェントに匹敵するとしている。
- 社内データセットでは、ファイル特定の再現率は 30% で、生成コードが人間の書いたコードと高い類似度と評価された課題は 30% だった。著者らはこの差の一因を、課題記述が短いこと(トークン数の中央値が 295 に対して 75)、課題あたりの変更ファイル数が多いこと、言語とリポジトリの種類が多いことに求めている。
- 社内データセットには単体テストがないため、コードの類似度は GPT-4 を LLM-as-a-Judge として用いて判定した。著者らはこれを 203 件の課題についてエンジニアの採点と照合して検証し、相関は 0.7 だった。
- オンラインのデプロイでは、663 件の課題のうち 527 件でコーディング計画が生成され、エンジニアはそのうち 433 件(82%)を承認した。コードは 376 件で生成され、95 件(25%)でプルリクエストが作成され、そのうち 56 件(59%)がマージされた。つまり、HULA を利用した課題の 8% が、HULA の支援によるプルリクエストのマージに至った。
- 109 人の実務者へのサーベイでは、61% が生成コードは理解・修正しやすいと答え、41% が生成された計画は課題記述と整合していると答えた。一方、生成コードが人間の関与なしにタスクを解決したと答えたのは 33% だった。
- 報告された利点には、開発時間と労力の削減、単純なタスクや計画・コードの着手への支援があった。報告された課題には、不正確または不完全なコードや、詳細な課題記述を書くのに必要な労力があった。
- 著者らは、機能的正しさの評価は単体テストの合格にとどまるべきではないと論じている。エンタープライズ環境ではテストの準備にコストがかかり、テストは合否しか示さず、欠陥の不在ではなく存在を示すにすぎないからである。
補足
著者らは、知見が Atlassian 社内での JIRA 利用に限られ他の状況には一般化できない可能性があること、実験では基盤モデルとして GPT-4 を使用していること、機密保持上の理由から一部の実装詳細を開示できなかったことを述べている。今後の方向性として、LLM ベースのソフトウェア開発エージェントが入力としてどのような情報を必要とし、それをどうすれば自動的に供給できるかを問うている。このフレームワークは、ヒューマン・イン・ザ・ループ の設計をコーディングエージェントに適用した具体例であり、論文はこれを SWE-Agent や AutoCodeRover のような完全自律型のシステムと対比させている。評価には SWE-Bench Verified と LLM-as-a-Judge を用いている。