ChatDev for Multi-Agent Software Development Integration
ChatDev — исследовательский фреймворк от Tsinghua University для мульти-агентной разработки ПО через структурированный диалог. Агенты с ролями (CEO, CTO, Programmer, Reviewer, Tester, Designer) общаются в последовательных диалогах, имитируя waterfall-процесс. Подходит для генерации прототипов небольших программ из текстового описания.
Базовый запуск ChatDev
# Установка
git clone https://github.com/OpenBMB/ChatDev.git
cd ChatDev
pip install -r requirements.txt
# Запуск разработки
python run.py \
--task "Разработай веб-скрапер для извлечения цен с e-commerce сайтов. Python + BeautifulSoup + requests. Сохранение в CSV." \
--name "PriceScraperApp" \
--model GPT_4_TURBO
Python API интеграция
from chatdev.chat_chain import ChatChain
import os
os.environ["OPENAI_API_KEY"] = "sk-..."
# Базовый пайплайн
chat_chain = ChatChain(
config_path="CompanyConfig/Default", # Конфигурация ролей и фаз
config_phase_path="PhaseConfig/Default",
config_role_path="RoleConfig/Default",
task_prompt="Создай утилиту для конвертации форматов данных (CSV, JSON, XML, YAML)",
project_name="DataConverter",
org_name="TechTeam",
model_type="GPT_4_TURBO",
)
chat_chain.pre_processing() # Подготовка окружения
chat_chain.make_recruitment() # Создание агентов по ролям
chat_chain.execute_chain() # Выполнение всех фаз
chat_chain.post_processing() # Финальная обработка и логирование
Кастомизация фаз разработки
# CompanyConfig/Custom/ChatChainConfig.json
{
"chain": [
{"phase": "DemandAnalysis", "phaseType": "SimplePhase"},
{"phase": "LanguageChoose", "phaseType": "SimplePhase"},
{"phase": "Coding", "phaseType": "SimplePhase"},
{"phase": "SecurityAudit", "phaseType": "SimplePhase"}, # Кастомная фаза
{"phase": "CodeCompleteAll", "phaseType": "ComposedPhase",
"cycleNum": 3,
"Composition": [
{"phase": "CodeReviewComment", "phaseType": "SimplePhase"},
{"phase": "CodeReviewModification", "phaseType": "SimplePhase"},
{"phase": "TestErrorSummary", "phaseType": "SimplePhase"},
{"phase": "TestModification", "phaseType": "SimplePhase"}
]
},
{"phase": "Manual", "phaseType": "SimplePhase"}
]
}
Итеративное улучшение через Iterative Experience Refinement
ChatDev поддерживает механизм ExperiencePool — агенты накапливают опыт из предыдущих проектов:
from chatdev.experience_pool import ExperiencePool
# Загружаем накопленный опыт
experience_pool = ExperiencePool.load("./experience_pool")
# При следующем запуске агенты используют паттерны из опыта
chat_chain = ChatChain(
task_prompt="...",
experience_pool=experience_pool,
use_experience=True,
)
# После завершения — сохраняем новый опыт
experience_pool.update(chat_chain.get_experience())
experience_pool.save("./experience_pool")
Практический кейс: быстрое прототипирование
Задача: команда продукта генерировала 2–3 прототипа в неделю для валидации гипотез. Каждый требовал 1–2 дня разработчика.
Использование ChatDev:
- Прототипы простых утилит (конвертеры, скраперы, генераторы отчётов)
- CLI-инструменты для внутреннего использования
- Базовые API с CRUD для PoC
Результаты:
- Время создания прототипа: 1–2 дня → 30–90 минут
- Требует ревью и доработки: 2–4 часа разработчика
- Пригодность для production без доработки: ~15% (только простейшие утилиты)
- Основная ценность: быстрая валидация концепции
Ограничения ChatDev: максимальная эффективность при проектах до ~500 строк кода. Сложные многофайловые проекты с зависимостями требуют значительной постобработки. Нет нативной поддержки существующих кодобаз.
Сравнение с MetaGPT
| Аспект | ChatDev | MetaGPT |
|---|---|---|
| Подход | Диалоговый (роли разговаривают) | SOP-based (формальные документы) |
| Качество кода | Удовлетворительное для PoC | Выше для production-кода |
| Кастомизация | JSON-конфиги | Python API + кастомные роли |
| Размер проектов | До ~500 строк | До нескольких тысяч строк |
| Исследовательский | Да | Менее |
Сроки
- Базовый запуск и настройка: 1 день
- Кастомные фазы под процессы команды: 3–5 дней
- Интеграция в workflow (CI, шаблоны): 1 неделя







