ChatDev は、専門化された AI エージェントのチームを用いて、エンドツーエンドのソフトウェア企業をシミュレートする。エージェントは CEO、CTO、プログラマーといった役割を担い、協働してソフトウェアアプリケーションを設計・実装・テストする。
ChatDev を紹介した論文 ChatDev:ソフトウェア開発のためのコミュニケーション型エージェント は、ChatDev を、大規模言語モデルによって駆動される専門化されたエージェントを備えた、チャット駆動のソフトウェア開発フレームワークとして説明している。同論文での動機は、ウォーターフォールモデルの個々のフェーズに深層学習を適用すると、各フェーズがそれぞれ独自に設計されたモデルを持つことになり、著者らの主張によれば、それがフェーズ間の技術的な不整合を生むという点にある。ChatDev のコードとデータは https://github.com/OpenBMB/ChatDev で公開されているとされている。
機能
ChatDev のエージェントは、紹介論文が別々に名づけている 2 つの軸に沿って導かれる。何を伝えるかはチャットチェーンと呼ばれる仕組みによって、どのように伝えるかはコミュニケーションによる脱ハルシネーション(communicative dehallucination)と呼ばれる仕組みによって導かれる。エージェントは、言語に基づく統一されたコミュニケーションを通じて設計、コーディング、テストの各フェーズに貢献し、解決策は、フェーズごとの別々のモデルによって生み出されるのではなく、エージェント間のマルチターンの対話から導き出される。
同じ論文は、エージェントが自然言語を用いることはシステム設計に有利である一方、プログラミング言語でコミュニケーションすることはデバッグに役立つと報告している。この 2 つの媒体は、一方が他方を置き換えるものではなく、作業の異なる部分に適したものとして示されている。
ソフトウェアエンジニアリングのための LLM ベースのマルチエージェントシステム:文献レビュー、ビジョン、そして今後の道筋 は、ChatDev について、ソフトウェア開発プロセスを設計、コーディング、テストの 3 つのフェーズに構造化し、CEO、CTO、プログラマー、レビュアー、テスターという専門化された役割を用いるものとして説明している。同論文が実施したケーススタディでは、ChatDev のエージェントは、著者らが元の ChatDev の設定と説明するものに従い、温度 0.2 の GPT-3.5-turbo によって駆動されていた。
採用とエコシステム
AI エージェント型プログラミングに関するあるサーベイは、その比較分類において、ChatDev を、プロアクティブかつマルチターンでツール利用を行うが適応的ではない「Multi-agent System(マルチエージェントシステム)」に分類している。
ソフトウェアエンジニアリングのための LLM ベースのマルチエージェントシステム:文献レビュー、ビジョン、そして今後の道筋 は、ChatDev を最先端のフレームワークとして 2 つのケーススタディに用い、単一のプロンプトから古典的なゲームを作らせた。スネークゲームでは、最初の試行は失敗したが、同じプロンプトで 2 回目に実行するとプレイ可能なバージョンが得られ、依存関係、ゲームの実行手順、機能の概要をまとめたマニュアルも作成された。このプロセスは 1 回の試行あたり平均 76 秒、0.019 ドルであった。テトリスでは、最初の 9 回の試行は機能するゲームプレイを生み出せず、10 回目でプロンプトの要件の大部分を満たしたが、できあがったゲームには依然として揃った行を消去する機能が欠けていた。このプロセスは 1 回の試行あたり平均 70 秒、0.020 ドルであった。同論文の著者らは、この 2 つの結果を、中程度に複雑なタスクでは高い性能を示す一方で、より深い論理的推論と抽象化を必要とするタスクには限界があり、それでいて迅速なプロトタイピングに適する程度には効率的であることを示すものと解釈している。