【📚 Wiki | 🚀 ビジュアライザー | 👥 コミュニティにより作られたソフト | 🔧 カスタマイズ | 👾 Discord】
- ChatDev は、最高経営責任者 、 最高製品責任者 、最高技術責任者 、プログラマー 、レビュアー 、テスター 、アートデザイナー などさまざまな役割を持つさまざまなインテリジェントエージェントを擁するバーチャルソフトウェア企業である。これらのエージェントはマルチエージェントの組織構造を形成し、 "プログラミングを通じてデジタル世界に革命を起こす"というミッションで 結束しています。ChatDev 内のエージェントは、設計、コーディング、テスト、ドキュメント作成などのタスクを含む専門的な機能セミナーに参加することで、 共同作業 を行います。
- ChatDev の主な目的は、使いやすく高度にカスタマイズ可能で拡張可能なフレームワークを提供することであり、 これは大規模言語モデル(LLM)に基づいており、集合知を研究するための理想的なシナリオとして機能します。
-
2024年1月25日: ChatDev に体験型共学習モジュールを統合しました。体験型共学習ガイドをご覧ください。
-
2023年12月28日: 私達は、インストラクターとアシスタントエージェントが、新しいタスクを効果的に解決するためのショートカット指向の経験を蓄積することで、反復ミスを減らし、効率を高める革新的なアプローチである経験的共学習を紹介します。https://arxiv.org/abs/2312.17025 にてプレプリント論文をチェックしてください。この技術は間もなく ChatDev に統合されます。
-
2023年11月15日: ChatDev は、ソフトウェア開発者や革新的な起業家が低コストで効率的にソフトウェアを構築できる SaaS プラットフォームです。 https://chatdev.modelbest.cn/ でお試し下さい。
-
2023年11月2日: ChatDev が新機能でサポートされました: インクリメンタル開発とは、エージェントが既存のコードを基に開発することを可能にするものです。起動するには、
--config "incremental" --path "[source_code_directory_path]"
を試してください。 -
2023年10月26日: ChatDev が安全な実行のために Docker に対応しました (ManindraDeMel のコントリビュートに感謝します)。Docker スタートガイドを参照してください。
- 2023年9月25日: Git 機能が利用可能になりました、プログラマー がバージョン管理に GitHub を利用できるようになります。この機能を有効にするには、
ChatChainConfig.json
で"git_management"
を"True"
に設定するだけです。 - 2023年9月20日: Human-Agent-Interaction モードが利用可能になりました!レビュアー になってプログラマー に提案することで、ChatDev チームに参加することができます;
python3 run.py --task [description_of_your_idea] --config "Human"
を試してみてください。また、ガイドと例を参照してください。 - 2023年9月1日: Art モードが利用可能になりました!デザイナーエージェント を有効にすると、ソフトウェアで使用する画像を生成できます;
python3 run.py --task [description_of_your_idea] --config "Art"
を試してみてください。また、ガイドと例を参照してください。 - 2023年8月28日: システムが一般公開されました。
- 2023年8月17日: v1.0.0 のリリース準備が整いました。
- 2023年7月30日: ユーザーは、ChatChain、Phase、Role の設定をカスタマイズすることができます。さらに、オンラインログモードとリプレイモードの両方がサポートされました。
- 2023年7月16日: このプロジェクトに関連したプレプリント論文が発表されました。
- 2023年6月30日: ChatDev リポジトリの初期バージョンがリリースされました。
demo.mp4
視覚化と設定用のウェブページへのアクセス: https://chatdev.modelbest.cn/
開始するには、以下の手順に従ってください:
-
GitHub リポジトリのクローン: コマンドを使ってリポジトリのクローンを作成する:
git clone https://github.com/OpenBMB/ChatDev.git
-
Python 環境のセットアップ: バージョン 3.9 以上の Python 環境があることを確認してください。
ChatDev_conda_env
をお好みの環境名に置き換え、以下のコマンドを使用してこの環境を作成し、有効化することができます:conda create -n ChatDev_conda_env python=3.9 -y conda activate ChatDev_conda_env
-
依存関係のインストール:
ChatDev
ディレクトリに移動し、以下のコマンドを実行して必要な依存関係をインストールする:cd ChatDev pip3 install -r requirements.txt
-
OpenAI API キーの設定: OpenAI API key を環境変数としてエクスポートします。
"your_OpenAI_API_key"
を実際の API キーに置き換えてください。この環境変数はセッション固有なので、新しいターミナルセッションを開くときに再度設定する必要があることを覚えておいてください。 Unix/Linux 上では:export OPENAI_API_KEY="your_OpenAI_API_key"
Windows 上では:
$env:OPENAI_API_KEY="your_OpenAI_API_key"
-
ソフトウェアの構築: 次のコマンドを使用して、ソフトウェアのビルドを開始する。
[description_of_your_idea]
をあなたのアイデアの説明に、[project_name]
を希望するプロジェクト名に置き換えます:Unix/Linux 上では:
python3 run.py --task "[description_of_your_idea]" --name "[project_name]"
Windows 上では:
python run.py --task "[description_of_your_idea]" --name "[project_name]"
-
ソフトウェアの実行: 生成されたソフトウェアは、
Project_name_DefaultOrganization_timestamp
のような特定のプロジェクトフォルダの下のWareHouse
ディレクトリにあります。そのディレクトリで以下のコマンドを使ってソフトウェアを実行してください: Unix/Linux 上では:cd WareHouse/project_name_DefaultOrganization_timestamp python3 main.py
Windows 上では:
cd WareHouse/project_name_DefaultOrganization_timestamp python main.py
- Docker のサポートを提供してくれた ManindraDeMel に感謝します。Docker スタートガイドを参照してください。
より詳細な情報については、私たちの Wiki を参照してください:
- すべてのコマンド実行パラメータの紹介。
- リアルタイムのログ、再生ログ、ChatChain を可視化することができる、ローカルのウェブビジュアライザーデモをセットアップするための簡単なガイド。
- ChatDev フレームワークの概要
- ChatChain 設定の高度なパラメータの包括的な紹介。
- ChatDev をカスタマイズするためのガイドです:
- ChatChain: 独自のソフトウェア開発プロセス(または他のプロセス)を設計します。例えば
DemandAnalysis -> Coding -> Testing -> Manual
などです。 - Phase:
DemandAnalysis
のように、ChatChain 内で独自のフェーズを設計する。 - Role: 最高経営責任者
Chief Executive Officer
のように、社内の様々なエージェントを定義する。
- ChatChain: 独自のソフトウェア開発プロセス(または他のプロセス)を設計します。例えば
コード: 私たちは、あなたが私たちのオープンソースプロジェクトに参加してくださることに熱意をもっています。もし何か問題があれば、遠慮なく報告してください。問い合わせがある場合、または私たちと仕事を共有する用意がある場合は、遠慮なくプルリクエストを作成してください!あなたのコントリビュートは高く評価されます。また、何かありましたらお知らせください!
カンパニー: カスタマイズした "ChatDev Company"
の作成は簡単です。このパーソナライズされたセットアップには、3つの簡単な設定JSONファイルが必要です。CompanyConfig/Default
ディレクトリで提供されている例をチェックしてください。カスタマイズの詳細については Wiki を参照してください。
ソフトウェア: ChatDev
を使ってソフトウェアを開発すると、必要な情報を含むフォルダが作成されます。プルリクエストを行うだけで、あなたの作品を共有することができます。コマンド python3 run.py --task "design a 2048 game" --name "2048" --org "THUNLP" --config "Default"
を実行してください。これでソフトウェアパッケージが作成され、/WareHouse/2048_THUNLP_timestamp
という名前のフォルダが生成されます。内部には:
- 2048 ゲームソフトウェアに関連するすべてのファイルとドキュメント
CompanyConfig/Default
にある 3 つの JSON 設定ファイルを含む、このソフトウェアを開発した会社の設定ファイル- リプレイに使用できる、このソフトウェアのビルドプロセスの詳細なログ(
timestamp.log
) - このソフトウェアを作成するために使用された最初のプロンプト (
2048.prompt
)
コミュニティによって投稿されたソフトウェアはこちらを参照してください!
contrib.rocks を使用して作成。
@misc{qian2023communicative,
title={Communicative Agents for Software Development},
author={Chen Qian and Xin Cong and Wei Liu and Cheng Yang and Weize Chen and Yusheng Su and Yufan Dang and Jiahao Li and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
year={2023},
eprint={2307.07924},
archivePrefix={arXiv},
primaryClass={cs.SE}
}
@misc{qian2023experiential,
title={Experiential Co-Learning of Software-Developing Agents},
author={Chen Qian and Yufan Dang and Jiahao Li and Wei Liu and Weize Chen and Cheng Yang and Zhiyuan Liu and Maosong Sun},
year={2023},
eprint={2312.17025},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
- ソースコードのライセンス 私たちのプロジェクトのソースコードは、Apache 2.0 License の下でライセンスされています。このライセンスは、Apache 2.0 ライセンスに概説されている特定の条件に従い、コードの使用、変更、配布を許可します。
- データライセンス: このプロジェクトで利用された関連データは、CC BY-NC 4.0 でライセンスされており、このライセンスは、データの非商用利用を明確に許可しています。これらのデータセットを用いて学習されたモデルは、非商用利用の制限を厳守し、研究目的のみに使用されるべきであることを強調しておきます。
ご質問、フィードバック、またはお問い合わせがある場合は、[email protected] までお気軽にご連絡ください