この arXiv プレプリントは、大規模言語モデルで駆動される専門化されたエージェントがソフトウェア 構築の設計・コーディング・テストの各フェーズに参加する、チャット駆動のソフトウェア開発 フレームワーク ChatDev を提案する。論文の出発点は、ソフトウェア開発は 多様なスキルを持つ複数のメンバーの協力を要する複雑なタスクであるという認識と、ウォーター フォールモデルの個々のフェーズに深層学習を適用した先行研究が、各フェーズに独自に設計された モデルを与えてきたという点である。著者らは、それが各フェーズ間の技術的な不整合を招き、ひいては 断片的で非効率な開発プロセスにつながると論じている。
ChatDev の答えは、それらのフェーズを単一の媒体を通じてつなぐことである。エージェントは、何を 伝えるか(what)については論文がチャットチェーン(chat chain)と呼ぶ仕組みによって、どのように 伝えるか(how)についてはコミュニケーションによる脱ハルシネーション(communicative dehallucination)と呼ぶ仕組みによって導かれる。エージェントは統一された言語ベースの コミュニケーションを通じて設計・コーディング・テストに能動的に貢献し、解決策はフェーズごとに 個別に設計されたモデルからではなく、エージェント間の複数ターンの対話から導き出される。
著者らは、どの言語がどのタスクに適しているかについての観察を報告している。エージェントによる 自然言語の利用はシステム設計に有利である一方、プログラミング言語でのコミュニケーションは デバッグに役立つことが示されたという。著者らはこの研究を、言語によるコミュニケーションが マルチエージェントの協調をいかに促進するかを示し、LLM エージェントによる自律的なタスク解決に おいて言語を統一的な架け橋として確立するものと位置づけている。
本論文は Software Engineering(cs.SE)、Computation and Language(cs.CL)、Multiagent Systems(cs.MA)に分類されている。2023 年 7 月 16 日に初めて投稿され、2024 年 6 月 5 日に バージョン 5 として最終改訂された。arXiv が発行した DOI 10.48550/arXiv.2307.07924 が付与されており、 ACL 2024 に採択された。コードとデータは https://github.com/OpenBMB/ChatDev で公開されているとされる。
要点
- 本論文は、LLM で駆動される専門化されたエージェントが設計・コーディング・テストの各フェーズに貢献する、チャット駆動のソフトウェア開発フレームワーク ChatDev を提案する。
- 論文が述べる動機は、ウォーターフォールモデルの各フェーズにそれぞれ独自に設計された深層学習モデルを与えるとフェーズ間に技術的な不整合が生じ、著者らによればそれが断片的で非効率な開発プロセスをもたらす、というものである。
- エージェントは、何を伝えるかをチャットチェーンによって、どのように伝えるかをコミュニケーションによる脱ハルシネーションによって導かれる。これらは論文が名付けた 2 つの仕組みであり、アブストラクトでは詳細な説明ではなく役割によって紹介されている。
- 著者らは、自然言語はシステム設計に有利である一方、プログラミング言語でのコミュニケーションはデバッグに役立つと報告している。これは一方の媒体を優先するのではなく、2 つの媒体を使い分けるという見方である。
- 論文のより広い主張は、言語によるコミュニケーションがマルチエージェントの協調を促進し、LLM エージェントによる自律的なタスク解決において言語を統一的な架け橋として確立するというものである。アブストラクトはこれを測定された結果ではなく、パラダイムレベルの結論として提示している。
補足
この貢献は、ウォーターフォールモデルの特定のフェーズ(設計、コーディング、テストを 1 つずつ)を 深層学習で改善しようとした先行研究との対比で位置づけられている。したがって ChatDev が置き換える ものとして提示されているのは、いずれか 1 つのフェーズのモデルではなく、フェーズごとに 1 つの モデルを持つという構成そのものであり、著者らが拠り所とする主張は、1 つのフェーズ内での性能では なく、フェーズ間の一貫性に関するものである。このプレプリントは 2023 年 7 月から 2024 年 6 月に かけて 5 つのバージョンを経ている。