Назначение: Определение оптимального набора агентов для выполнения конкретной задачи
| Агент | Специализация | Типичные задачи |
|---|---|---|
| Projector | Управление проектами | Создание структуры, roadmap, планирование |
| Designer | Архитектура и дизайн | Проектирование БД, API, интерфейсов |
| Developer | Разработка кода | Написание кода, интеграции, багфиксы |
| Tester | Тестирование | Unit/integration/e2e тесты, QA |
| Deployer | Развёртывание | CI/CD, деплой, миграции БД |
| Monitor | Мониторинг | Логи, метрики, алерты, health checks |
| Workspace | Организация | Структурирование, cleanup, рефакторинг |
| Documenter | Документация | README, CHANGELOG, API docs |
| Агент | Специализация | Когда вызывать |
|---|---|---|
| Editor | Развитие агентов | Создание новых агентов, обновление |
| Optimizer | Оптимизация | Анализ производительности, ускорение |
| Security | Безопасность | Аудит кода, поиск уязвимостей |
| Recovery | Восстановление | Откат изменений, исправление ошибок |
| Logger | Журналирование | Запись действий, аудит, метрики |
| Агент | Специализация | Требует прав |
|---|---|---|
| Administrator | Администрирование | Root доступ |
| Architect | Архитектурные решения | Architect режим |
CREATE_PROJECT:
required: [Projector, Designer, Developer]
recommended: [Tester, Documenter]
optional: [Deployer]
ADD_FEATURE:
required: [Developer]
recommended: [Designer, Tester, Documenter]
optional: [Deployer]
FIX_BUG:
required: [Developer, Tester]
recommended: []
optional: [Deployer, Recovery]
REFACTOR:
required: [Developer]
recommended: [Designer, Tester, Workspace]
optional: [Documenter]
OPTIMIZE:
required: [Optimizer]
recommended: [Developer, Monitor]
optional: [Tester]
DEPLOY:
required: [Deployer]
recommended: [Tester, Monitor]
optional: [Logger]
DIAGNOSTIC:
required: [Monitor]
recommended: [Optimizer, Security, Logger]
optional: []
SECURITY_AUDIT:
required: [Security]
recommended: [Developer, Optimizer]
optional: [Documenter]
UPDATE_DOCS:
required: [Documenter]
recommended: []
optional: [Designer]
ORGANIZE:
required: [Workspace]
recommended: [Documenter]
optional: []
"design/*":
agents: [Designer, Architect, Documenter]
"solution/*/code":
agents: [Developer, Tester, Security]
"infrastructure/*":
agents: [Deployer, Monitor, Security]
"tests/*":
agents: [Tester, Developer]
"docs/*":
agents: [Documenter, Designer]
def select_agents(task: Task) -> List[Agent]:
"""
Выбирает агентов для выполнения задачи.
"""
selected_agents = []
# 1. Обязательные агенты по типу задачи
required = get_required_agents(task.type)
selected_agents.extend(required)
# 2. Рекомендуемые агенты
recommended = get_recommended_agents(task.type)
# Фильтровать по контексту
for agent in recommended:
if should_include_agent(agent, task):
selected_agents.append(agent)
# 3. Специальные условия
if task.has_database_changes:
if "Developer" in selected_agents:
# Добавить Tester после Developer для проверки миграций
selected_agents.insert_after("Developer", "Tester")
if task.affects_security:
# Обязательно добавить Security
selected_agents.append("Security")
if task.is_production_deployment:
# Добавить Monitor для отслеживания после деплоя
selected_agents.append("Monitor")
# 4. Всегда добавлять Logger в конце
selected_agents.append("Logger")
return selected_agents
def should_include_agent(agent: str, task: Task) -> bool:
"""
Проверяет нужен ли агент для конкретной задачи.
"""
# Documenter нужен если изменяется API или добавляются фичи
if agent == "Documenter":
return task.changes_api or task.adds_feature
# Tester нужен если есть код или логика
if agent == "Tester":
return task.has_code_changes
# Deployer нужен если это production проект
if agent == "Deployer":
return task.project.is_production
return True
Задача: Создать проект CRM
Анализ:
- Тип: CREATE_PROJECT
- Компоненты: design/, solution/, docs/
- Production: нет
Выбор агентов:
✅ Обязательные:
- Projector (создание структуры)
- Designer (архитектура БД, API)
- Developer (код MVP)
✅ Рекомендуемые:
- Tester (базовые тесты)
- Documenter (PROJECT.md, README.md)
❌ Опциональные (не нужны):
- Deployer (не production)
- Monitor (не нужен на этапе создания)
🔧 Служебные (автоматически):
- Logger (для журналирования)
Итого: 6 агентов
Задача: Исправить критический баг в production API
Анализ:
- Тип: FIX_BUG
- Severity: CRITICAL
- Environment: production
- Компоненты: solution/backend/api
Выбор агентов:
✅ Обязательные:
- Developer (локализация и fix)
- Tester (regression тесты)
✅ Добавлены автоматически (критичность):
- Recovery (rollback plan)
- Deployer (hot-fix деплой)
- Monitor (отслеживание после деплоя)
✅ Добавлены автоматически (production):
- Security (проверка что fix не создал уязвимость)
🔧 Служебные:
- Logger (детальное журналирование для аудита)
Итого: 7 агентов
Задача: Добавить кнопку экспорта в Excel
Анализ:
- Тип: ADD_FEATURE
- Complexity: LOW
- Changes API: нет
- Has code: да
Выбор агентов:
✅ Обязательные:
- Developer (реализация экспорта)
✅ Рекомендуемые:
- Tester (тест экспорта)
❌ Опциональные (не нужны):
- Designer (слишком простая фича)
- Documenter (нет изменений в API)
🔧 Служебные:
- Logger
Итого: 3 агента
Шаблон:
Задача: {{task_description}}
Определи какие агенты нужны для выполнения.
Доступные агенты:
{{agent_registry}}
Контекст:
- Тип задачи: {{task_type}}
- Сложность: {{complexity}}
- Production: {{is_production}}
- Компоненты: {{affected_components}}
Выбери агентов и объясни почему каждый нужен или не нужен.
Статус: ✅ Готов к использованию