ChatDevはGitHub Star 32,600超のオープンソースマルチエージェントフレームワーク。「2048ゲームを作って」と指示するだけで、CEO・CTO・プログラマーなど複数のAIエージェントが協働し、要件定義からコード実装・テストまでを自動実行する。このChatDevチュートリアルでは、環境構築から実際のソフトウェア生成までをステップバイステップで解説する。
この記事ではAIエージェントに特化して解説します。AIエージェント全般は AIエージェントフレームワーク比較2026年版 をご覧ください。
ChatDevとは:マルチエージェントAI開発の仕組み
ChatDevはOpenBMBが開発するマルチエージェントプラットフォームで、LLMに「役割」を割り当てて協調動作させる仕組みを持つ。従来のコード生成AI(GitHub CopilotやCursor)が「人間の指示に対して1つのAIが応答する」構造なのに対し、ChatDevは複数のエージェントが対話を通じて段階的にタスクを完遂する。
AIエージェントフレームワークの全体像を理解した上でChatDevを学ぶと、マルチエージェントの位置づけが明確になる。
ChatDevには2つのバージョンが存在する。
- ChatDev 2.0(DevAll): ゼロコードのマルチエージェントプラットフォーム。YAML設定でエージェント・ワークフロー・タスクを定義し、データ可視化・3D生成・深層研究など多様なシナリオに対応。Webコンソール付き
- ChatDev 1.0(Legacy): 仮想ソフトウェア企業モデル。CEO・CTO・プログラマーなどの役割を持つエージェントが、ソフトウェア開発ライフサイクル全体を自動化する。
chatdev1.0ブランチで維持管理されている
タスク入力"] --> B["CEO
要件定義"] B --> C["CTO
技術選定・設計"] C --> D["プログラマー
コード実装"] D --> E["テスター
テスト実行"] E --> F{"テスト
合格?"} F -->|不合格| D F -->|合格| G["レビュアー
コードレビュー"] G --> H["完成品
実行可能なソフトウェア"] style A fill:#e1f5fe style H fill:#c8e6c9 style F fill:#fff3e0
このフロー図はChatDev 1.0のエージェント間対話を示している。テストが不合格ならプログラマーに差し戻され、自動的に修正ループが回る。この「対話によるイテレーション」がChatDevの品質向上メカニズムの核心だ。
ChatDevチュートリアル:環境構築とインストール手順
ChatDevを動かすための環境構築手順を解説する。ChatDev 2.0とChatDev 1.0(Legacy)の2パターンを紹介する。
ChatDev 2.0のインストール
ChatDev 2.0はPython 3.12以上、Node.js 18以上が必要。パッケージマネージャとしてuvを使用する。
# リポジトリのクローン
git clone https://github.com/OpenBMB/ChatDev.git
cd ChatDev
# バックエンド依存関係のインストール(uv使用)
uv sync
# フロントエンド依存関係のインストール
cd frontend && npm install
cd ..
# 環境変数ファイルの作成
cp .env.example .env
.envファイルにLLMプロバイダーのAPIキーを設定する。
# .env ファイルの内容
API_KEY=sk-your-api-key-here
BASE_URL=https://api.openai.com/v1
YAML設定ファイル内では${API_KEY}や${BASE_URL}のような変数参照構文で、この環境変数を読み込む仕組みになっている。
ChatDev 1.0(Legacy)のインストール
ChatDev 1.0はPython 3.9以上で動作する。conda環境の利用が公式で推奨されている。
# リポジトリのクローン(1.0ブランチ)
git clone -b chatdev1.0 https://github.com/OpenBMB/ChatDev.git
cd ChatDev
# conda環境の作成と有効化
conda create -n ChatDev_conda_env python=3.9 -y
conda activate ChatDev_conda_env
# 依存関係のインストール
pip3 install -r requirements.txt
# OpenAI APIキーの設定
export OPENAI_API_KEY="sk-your-api-key-here"
ChatDevチュートリアル:実行方法とソフトウェア生成
ChatDev 2.0の実行
ChatDev 2.0はWebコンソールベースで操作する。
# Makefileで一括起動(推奨)
make dev
# Webコンソールにアクセス → http://localhost:5173
手動で起動する場合は、バックエンドとフロントエンドを別ターミナルで実行する。
# ターミナル1: バックエンド起動
uv run python server_main.py --port 6400 --reload
# ターミナル2: フロントエンド起動
cd frontend
VITE_API_BASE_URL=http://localhost:6400 npm run dev
Docker Composeでの起動も可能だ。
docker compose up --build
# バックエンド: http://localhost:6400
# フロントエンド: http://localhost:5173
ChatDev 2.0ではyaml_instance/ディレクトリに用意されたYAMLワークフローを選択して実行する。公式リポジトリには以下のサンプルが含まれている。
| ワークフローファイル | 用途 |
|---|---|
data_visualization_basic.yaml |
データ可視化(基本) |
data_visualization_enhanced.yaml |
データ可視化(高度) |
blender_3d_builder_simple.yaml |
Blender 3Dモデル生成 |
GameDev_v1.yaml |
ゲーム開発 |
ChatDev_v1.yaml |
ソフトウェア開発(1.0互換) |
deep_research_v1.yaml |
深層リサーチ |
Python SDKから直接呼び出すことも可能だ。
from runtime.sdk import run_workflow
result = run_workflow(
yaml_file="yaml_instance/data_visualization_basic.yaml",
task_prompt="東京の月別平均気温を折れ線グラフで可視化して"
)
ChatDev 1.0(Legacy)の実行
ChatDev 1.0はCLIからワンコマンドで実行する。--taskにやりたいことを自然言語で書くだけで、マルチエージェントが動き出す。
# 2048ゲームを自動生成する例
python3 run.py --task "design a 2048 game" --name "2048" --org "THUNLP"
# 生成されたソフトウェアを実行
cd WareHouse/2048_THUNLP_timestamp
python3 main.py
--taskパラメータに渡す文字列がCEOエージェントへの最初の入力になり、そこから設計→実装→テストのチェーンが自動で走る。生成結果はWareHouse/ディレクトリに保存され、対話ログも含まれるため各エージェント間のやり取りを後から確認できる。
ChatDev 1.0の設定はCompanyConfig/Defaultディレクトリ内のJSON形式ファイルで管理される。エージェントの役割定義、対話フロー、開発プロセスの各段階をカスタマイズ可能だ。
ChatDev vs 競合ツール:マルチエージェント比較表
ChatDevの立ち位置を理解するため、主要なAIコード生成・エージェントツールと比較する。
| 項目 | ChatDev | AutoGPT | MetaGPT | Claude Code |
|---|---|---|---|---|
| アプローチ | マルチエージェント協調 | 単一エージェント自律実行 | マルチエージェント(SOP準拠) | 単一エージェント対話型 |
| エージェント構成 | CEO/CTO/プログラマー等の役割分担 | 1エージェントがタスク分解 | プロダクトマネージャー/アーキテクト等 | 1エージェントが全工程担当 |
| 入力方式 | 自然言語でタスク指定 | 自然言語でゴール設定 | 自然言語で要件記述 | 対話形式で指示 |
| 出力 | 実行可能なソフトウェア一式 | タスク実行結果 | コード+設計ドキュメント | コード変更・ファイル操作 |
| Web UI | あり(2.0) | あり | なし | なし(CLI) |
| 対象規模 | プロトタイプ・小規模アプリ | 汎用タスク | 中規模プロジェクト | 既存コードベースの改修 |
| LLM依存 | 複数LLM API対応 | OpenAI API | OpenAI API | Claude API |
| GitHub Star | 32.6k | 173k | 49k | - |
| ライセンス | Apache 2.0 / CC BY-NC 4.0 | MIT | MIT | 商用製品 |
ChatDevの最大の特徴は「役割分担による品質向上」にある。単一エージェントでは見落としがちなバグやデザイン上の問題を、テスターやレビュアーといった別の視点を持つエージェントが検出する。一方で、既存の大規模コードベースを扱う場合はOpenHandsやClaude Codeのような対話型ツールの方が適している。
ChatDevのYAML設定:ワークフローのカスタマイズ方法
ChatDev 2.0ではYAMLファイルでマルチエージェントシステムの構造を定義する。yaml_instance/ディレクトリに設定ファイルを配置し、エージェントの役割・ワークフローの順序・使用するLLMモデルを指定する。
YAML設定ファイルでは${API_KEY}のような環境変数参照が使える。これにより、APIキーをYAMLファイルにハードコードせずに管理できる。
# yaml_instance/my_workflow.yaml の構成例
# エージェント定義、ワークフロー順序、タスクパラメータを記述
# ${API_KEY} / ${BASE_URL} で .env の値を参照
agents:
- name: researcher
role: "情報収集と分析を担当するリサーチャー"
model:
api_key: "${API_KEY}"
base_url: "${BASE_URL}"
- name: writer
role: "分析結果をレポートにまとめるライター"
model:
api_key: "${API_KEY}"
base_url: "${BASE_URL}"
workflow:
- agent: researcher
task: "与えられたトピックについて情報を収集・分析する"
- agent: writer
task: "リサーチャーの分析結果を構造化されたレポートにまとめる"
公式リポジトリのyaml_instance/には、データ可視化・3D生成・ゲーム開発・深層リサーチなど多様なテンプレートが用意されている。まずは既存テンプレートをコピーして、エージェントの役割やタスク内容を書き換える方法が学習コストが低い。
LangChainのようなフレームワークでは、エージェントのチェーン構成をPythonコードで記述する必要がある。ChatDev 2.0のYAMLベースの設定は、コーディング不要でマルチエージェントシステムを構築できる点が差別化ポイントだ。
ChatDevの活用シーンと制約事項
向いているユースケース
- プロトタイプの高速生成: 「こんなアプリが欲しい」を自然言語で書くだけで動作するプロトタイプが手に入る。アイデア検証のスピードが大幅に向上する
- マルチエージェントの学習教材: エージェント間の対話ログが全て保存されるため、LLMが「どのように考え、どう協調するか」を観察できる。AIエージェント開発を学ぶ入門として有用
- 非エンジニアのソフトウェア生成: ChatDev 2.0のWebコンソールとYAML設定により、コーディングなしでマルチエージェントシステムを構築・実行できる
- 研究用途: マルチエージェント間の対話パターン、失敗ポイント、品質改善プロセスの分析が可能。論文で引用されるケースも多い
制約事項と注意点
- 生成コードはプロトタイプ品質: セキュリティ対策、エラーハンドリング、スケーリングは人間による事後修正が必須
- LLM APIコストが発生: 複数エージェントが対話するため、単一エージェントよりAPIコール数が多くなる。1回の実行で数十回のAPI呼び出しが発生する場合がある
- 大規模コードベースには不向き: 既存プロジェクトへの統合や改修には、対話型のAIコーディングツールの方が適している
- データのライセンス: ソースコードはApache 2.0だが、関連データはCC BY-NC 4.0(非商用研究目的)。商用利用の際はライセンス条件の確認が必要
ChatDevチュートリアルのまとめと次のステップ
ChatDevはマルチエージェントAIの概念を実際に動かして学べるフレームワークだ。ChatDev 2.0ではYAML設定とWebコンソールで手軽にマルチエージェントシステムを構築でき、ChatDev 1.0ではCLIからワンコマンドでソフトウェアの自動生成を体験できる。
このチュートリアルで紹介した手順をまとめると:
- 環境構築: Python 3.12+(2.0)またはPython 3.9+(1.0)とAPIキーを準備
- インストール:
uv sync(2.0)またはpip3 install -r requirements.txt(1.0) - 実行:
make devでWebコンソール起動(2.0)、python3 run.py --task "..."でCLI実行(1.0) - カスタマイズ: YAML設定ファイル(2.0)やCompanyConfig(1.0)でエージェント構成を変更
マルチエージェントの仕組みを理解したら、AIエージェントフレームワーク比較2026年版で他のフレームワークとの使い分けを確認するとよい。実際の開発業務に適用する場合は、OpenHandsのような既存コードベース対応のツールとの併用も検討すべきだろう。