Назначение: Генерация оптимального плана для выполнения задачи пользователя
{
"task_type": str, # CREATE_PROJECT | ADD_FEATURE | FIX_BUG | DIAGNOSTIC | DEPLOY
"task_description": str, # Описание задачи от пользователя
"context": dict, # Текущий контекст (проект, история и т.д.)
"constraints": dict # Ограничения (время, ресурсы)
}
ЕСЛИ task_type == "CREATE_PROJECT":
Извлечь: project_name, project_type, template
Определить: технологический стек, архитектуру
ЕСЛИ task_type == "ADD_FEATURE":
Извлечь: feature_name, affected_modules
Определить: зависимости, тесты
ЕСЛИ task_type == "FIX_BUG":
Извлечь: bug_description, severity, affected_components
Определить: root cause, regression tests
Базовые шаблоны:
CREATE_PROJECT:
- agent: Projector
task: "Создать структуру проекта {{project_name}}"
output: "projects/{{project_name}}/"
- agent: Designer
task: "Спроектировать архитектуру для {{project_type}}"
output: "design/ARCHITECTURE.md"
depends_on: [Projector]
- agent: Developer
task: "Создать MVP с технологиями: {{tech_stack}}"
output: "solution/mvp/"
depends_on: [Designer]
- agent: Tester
task: "Создать и запустить базовые тесты"
output: "tests/"
depends_on: [Developer]
- agent: Documenter
task: "Создать документацию проекта"
output: "design/PROJECT.md, management/README.md"
depends_on: [Projector, Designer, Developer]
ADD_FEATURE:
- agent: Designer
task: "Спроектировать фичу {{feature_name}}"
output: "design/features/{{feature_name}}.md"
- agent: Developer
task: "Реализовать {{feature_name}}"
output: "solution/*/{{feature_modules}}"
depends_on: [Designer]
- agent: Tester
task: "Написать тесты для {{feature_name}}"
output: "tests/test_{{feature_name}}.py"
depends_on: [Developer]
- agent: Documenter
task: "Обновить документацию"
output: "management/CHANGELOG.md"
depends_on: [Developer]
FIX_BUG:
- agent: Developer
task: "Локализовать причину: {{bug_description}}"
- agent: Developer
task: "Исправить баг"
depends_on: [Developer#1]
- agent: Tester
task: "Проверить fix и regression"
depends_on: [Developer#2]
- agent: Deployer
task: "Развернуть исправление на production"
depends_on: [Tester]
condition: "severity >= HIGH"
DIAGNOSTIC:
- agent: Monitor
task: "Проверить здоровье системы"
parallel: true
- agent: Optimizer
task: "Проанализировать производительность"
parallel: true
- agent: Security
task: "Проверить безопасность"
parallel: true
- agent: Logger
task: "Собрать статистику использования"
depends_on: [Monitor, Optimizer, Security]
def optimize_plan(plan: List[Step]) -> List[Step]:
"""
Оптимизирует план для быстрого выполнения.
"""
# Найти шаги которые могут выполняться параллельно
parallel_steps = find_independent_steps(plan)
# Сгруппировать параллельные шаги
optimized = group_parallel(plan, parallel_steps)
# Убрать избыточные шаги
optimized = remove_redundant(optimized)
return optimized
{
"plan_id": "uuid",
"task_type": "CREATE_PROJECT",
"estimated_time": "5-7 минут",
"estimated_tokens": 15000,
"steps": [
{
"step_number": 1,
"agent": "Projector",
"task": "Создать структуру проекта analytics",
"expected_output": "projects/analytics/",
"depends_on": [],
"parallel_with": [],
"estimated_time": "30 секунд"
},
{
"step_number": 2,
"agent": "Designer",
"task": "Спроектировать архитектуру",
"expected_output": "design/ARCHITECTURE.md",
"depends_on": [1],
"parallel_with": [],
"estimated_time": "2 минуты"
},
// ... остальные шаги
],
"risks": [
"Возможна необходимость уточнения требований",
"Тестирование может занять больше времени"
],
"alternatives": [
"Использовать готовый template для ускорения"
]
}
Вход:
{
"task_type": "CREATE_PROJECT",
"task_description": "Создать проект analytics для отчётности по продажам",
"context": {
"user": "admin",
"workspace": "/opt/claude-workspace/"
},
"constraints": {
"time_limit": "10 minutes",
"tech_stack": ["Python", "Streamlit", "PostgreSQL"]
}
}
Промпт для Claude:
Создай план выполнения для задачи:
Тип: CREATE_PROJECT
Описание: Создать проект analytics для отчётности по продажам
Технологии: Python, Streamlit, PostgreSQL
Ограничение: 10 минут
Используя агентов:
- Projector (создание структуры)
- Designer (архитектура)
- Developer (код)
- Tester (тесты)
- Documenter (документация)
Создай оптимальный план с учётом зависимостей и возможности параллельного выполнения.
Выход:
📋 ПЛАН ВЫПОЛНЕНИЯ
Задача: Создать проект analytics
Время: ~6-8 минут
Токены: ~18,000
Шаги:
1. [30с] Projector: Создать структуру проекта
→ projects/analytics/{design,management,solution,infrastructure}
2. [2м] Designer: Спроектировать архитектуру БД и отчётов
→ design/ARCHITECTURE.md (таблицы sales, products, reports)
→ Зависит от: [1]
3. [3м] Developer: Создать Streamlit MVP
→ solution/mvp/ (страницы: dashboard, sales_report, filters)
→ Зависит от: [2]
4. [1м] Tester: Базовое тестирование
→ tests/test_basic.py (8 тестов)
→ Зависит от: [3]
5. [1м] Documenter: Создать документацию
→ design/PROJECT.md, management/README.md, management/CHANGELOG.md
→ Зависит от: [1,2,3]
⚡ Оптимизации:
- Шаги 4 и 5 могут выполняться параллельно (экономия 1 минуты)
⚠️ Риски:
- Интеграция с PostgreSQL может потребовать дополнительной настройки
💡 Альтернативы:
- Использовать template streamlit-analytics-v1 для ускорения на 50%
Продолжить? (да/нет/изменить)
Статус: ✅ Готов к использованию