仮想のLLMチャット駆動型ソフトウェア開発会社「ChatDev」を設立し、さまざまな役割を持つエージェント達に仕事をサポートさせましょう。
北京大学などの研究グループにより開発されたアーキテクチャが公開されました。
○ Chen Qian et al. Communicative Agents for Software Development
研究者らはソフトウェア開発プロセス全体を効率化するための新しいパラダイムを提案しています。
大規模言語モデル(LLM)を活用して、ソフトウェア開発の各フェーズを自動化するアーキテクチャの登場です。
■ChatDevで実現すること
① 全体のソフトウェア開発プロセスを高速化
② 開発コストを大幅に削減
③ コードの品質を向上
■アーキテクチャの要旨
① 4つのフェーズ(設計、コーディング、テスト、文書化)を伴走してくれる仮想ソフトウェア会社をつくる
② 各フェーズをさらに細かいサブタスクに分解する
③ それぞれのサブタスクで特定の役割を持つエージェントが協力して作業を進める
④ エージェントは過去の対話を記録して効率的な意思決定を行う
⑤ コードの生成、レビュー、テスト中に「役割の反転」を行い、より精確な指示を出すことで、コードの品質を向上させる
⑥ 完成したソフトウェアに関連するすべての必要な情報を含むフォルダが生成される
■ChatDevを稼働させた実験の結果
① 平均的なソフトウェア生成時間は約410秒
② 平均的なソフトウェア生成コストは約0.3ドル
③ コードの脆弱性や潜在的なバグを効率的に特定し、修正することができた
なお、開発における各フェーズやサブタスク、エージェント達の役割はユーザーが柔軟にカスタマイズできるとのことです。
■デフォルト設定でのエージェントの役割例
CEO、CTO、プログラマー、テスターなど
GitHubリポジトリは公開されており、各自のOpenAI APIキーやPython環境で試すことが可能のようです。