HULA(Human-in-the-loop LLM-based Agents)は、LLM ベースのエージェントとソフトウェアエンジニアが協力して JIRA のイシューを解決するソフトウェア開発のためのフレームワークである。 ヒューマン・イン・ザ・ループ型ソフトウェア開発エージェント で紹介されており、その著者らが設計・実装し、 社内利用のために Atlassian JIRA へデプロイした。ソフトウェア開発の完全な自動化を目指すのではなく、各ステップで エンジニアのフィードバックを取り込むアシスタントとして機能するよう設計されている。
機能
HULA は三つのエージェントで構成される。AI Planner Agent は、JIRA のイシューとソースコードリポジトリを受け取り、 イシューに関連するファイルを特定して、各ファイルをどう変更すべきかを記述したコーディング計画を生成する LLM である。 AI Coding Agent は、計画を受け取ってコード変更を生成する LLM であり、コンパイラーやリンターといったコード検証 ツールからのフィードバックに照らして、それらを通過するか最大試行回数に達するまで変更を反復的に改善する。 Human Agent はそのタスクの担当エンジニアであり、計画とコードをレビュー・編集し、プルリクエストを作成する。
ワークフローは JIRA イシューのユーザーインターフェース内で四つの段階を経て進む。まずエンジニアがイシューと リポジトリを選択してタスクを設定する。計画段階では、エンジニアは関連ファイルをレビュー・編集・確認し、次に計画を レビューして指示を追加し再生成したり、各ファイルの変更計画を編集したりできる。コーディング段階では、エンジニアは 提案された変更をレビューし、さらに指示を与えて再生成させることができる。最後に、承認された変更は他の実務者による レビューのために Bitbucket へのプルリクエストとして作成されるか、さらなる変更のために新しいブランチとして チェックアウトされる。エージェントは Decentralized Planning Decentralized Execution のパラダイムに従い、 エージェント間の通信は行わず、JIRA のイシューとリポジトリのみを共通のメモリとして共有する。
採用とエコシステム
HULA は Atlassian 社内で段階的に展開された。まず 2 チームにまたがる 45 人のエンジニアからなるアルファグループに 2 週間提供され、その後 2024 年 7 月初旬から 260 人の実務者へ、2024 年 9 月中旬までに 2,600 人へと拡大し、 対象となるイシューは 22,000 件を超えた。これを使用した実務者を対象とした論文の調査では、初期の開発時間と労力の 削減に役立ったこと、イシューの説明に依存することがドキュメント作成を促したことが報告されている。一方でユーザーは、 計画段階とコーディング段階を行き来できる機能、より豊富な入力コンテキスト、テストケースの生成を求めていた。論文では HULA のバックボーンモデルとして GPT-4 を使用しており、フレームワークはアーキテクチャに依存しないと説明している。 コーディングエージェントのための ヒューマン・イン・ザ・ループ 設計の一例である。