142 lines
5.2 KiB
Markdown
142 lines
5.2 KiB
Markdown
# Поэтапный план взросления проекта
|
|
|
|
Проект не строится сразу целиком. Он проходит этапы — от прототипа до саморазвивающейся системы.
|
|
Агенты живут с первого коммита. Новые агенты добавляются когда возникает потребность.
|
|
|
|
---
|
|
|
|
## Stage 0: Foundation — Ядро
|
|
|
|
**Начинаем здесь.** Проект только родился.
|
|
|
|
### Код
|
|
- FastAPI + SQLite + базовая auth
|
|
- Минимальный набор правил (00-rules.md)
|
|
- Базовые CRUD endpoints
|
|
- Pydantic схемы на все входы
|
|
|
|
### Агенты (создаются в первую очередь)
|
|
- **DocAgent** — пишет документацию параллельно с кодом
|
|
- **AuditAgent** — проверяет каждый коммит на правила
|
|
- **EvolutionAgent** — версионирует агентов
|
|
- **SupervisorAgent** — следит за всеми агентами
|
|
|
|
### Инфраструктура
|
|
- SQLite (aiosqlite)
|
|
- Прямой вызов фоновых задач (без Celery)
|
|
|
|
### До Stage 1
|
|
Сразу после того, как есть первый endpoint и auth.
|
|
|
|
---
|
|
|
|
## Stage 1: Growth — Рост
|
|
|
|
Проект обрастает функциональностью.
|
|
|
|
### Добавляемый код
|
|
- Полноценные сервисы
|
|
- Интеграции (AI провайдеры)
|
|
- Фронтенд (если нужен)
|
|
- Тесты
|
|
|
|
### Добавляемые агенты
|
|
- **QATesterAgent** — когда появились тесты (авто-проверка покрытия)
|
|
- **FixAgent** — когда пойман первый баг (анализ ошибок)
|
|
- **BacklogAgent** — когда появился техдолг (управление TODO/FIXME)
|
|
|
|
### Инфраструктура
|
|
- Те же SQLite + прямой вызов
|
|
- Тестовое покрытие > 50%
|
|
|
|
### До Stage 2
|
|
Перед первым production-релизом.
|
|
|
|
---
|
|
|
|
## Stage 2: Production-ready
|
|
|
|
Проект готов к реальным пользователям.
|
|
|
|
### Добавляемый код
|
|
- PostgreSQL + asyncpg
|
|
- Redis + Celery для фоновых задач
|
|
- Мониторинг (health + метрики)
|
|
- Полная документация
|
|
|
|
### Добавляемые агенты
|
|
- **SecurityAgent** — проверка конфигов, зависимостей
|
|
- **SpecAgent** — управление версией проекта, CHANGELOG
|
|
- **RolloutAgent** — постепенное развёртывание
|
|
|
|
### Инфраструктура
|
|
- PostgreSQL
|
|
- Redis + Celery worker
|
|
- CI/CD (lint → test → build → deploy)
|
|
- SSL (Let's Encrypt)
|
|
- .env для production + staging
|
|
|
|
### До Stage 3
|
|
После запуска, когда появились первые пользователи и метрики.
|
|
|
|
---
|
|
|
|
## Stage 3: Autonomous — Саморазвитие
|
|
|
|
Проект начинает развиваться самостоятельно.
|
|
|
|
### Добавляемый код
|
|
- Metrics middleware
|
|
- Prometheus/Grafana (или встроенные метрики)
|
|
- Agent report dashboard
|
|
- Self-healing механизмы
|
|
|
|
### Добавляемые агенты
|
|
- **ObserverAgent** — сбор метрик использования
|
|
- **UITestAgent** — визуальное тестирование (если есть UI)
|
|
|
|
### Инфраструктура
|
|
- A/B тестирование
|
|
- Auto-scaling (при необходимости)
|
|
- Автоматический откат при росте ошибок
|
|
|
|
### До Stage 4
|
|
Когда > 1000 пользователей или > 3 разработчиков.
|
|
|
|
---
|
|
|
|
## Stage 4: Evolution — Эволюция
|
|
|
|
Проект развивается автономно.
|
|
|
|
### Уровень саморазвития
|
|
- Агенты не только предлагают, но и применяют изменения
|
|
- EvolutionAgent принимает решения о рефакторинге
|
|
- FixAgent применяет исправления (с PR на ревью)
|
|
- ObserverAgent на основе метрик предлагает roadmap
|
|
|
|
### Инфраструктура
|
|
- Полный мониторинг с алертами
|
|
- Автоматическое масштабирование
|
|
- Disaster recovery plan
|
|
- Postmortem культура
|
|
|
|
---
|
|
|
|
## Сводная таблица
|
|
|
|
| Stage | БД | Задачи | Агентов | Тесты | Мониторинг | Саморазвитие |
|
|
|-------|----|--------|---------|-------|-----------|-------------|
|
|
| 0 | SQLite | Прямой | 4 | > 20% | Нет | Reactive |
|
|
| 1 | SQLite | Прямой | 7 | > 50% | Нет | Reactive |
|
|
| 2 | PostgreSQL | Celery | 9 | > 80% | Базовый | Reactive |
|
|
| 3 | PostgreSQL | Celery | 11 | > 80% | Prometheus | Proactive |
|
|
| 4 | PostgreSQL | Celery | 11+ | > 90% | Full | Autonomous |
|
|
|
|
---
|
|
|
|
## [ASK] На каком вы этапе?
|
|
|
|
Оцените текущее состояние проекта и выберите целевой этап.
|
|
Рекомендация: начинайте со Stage 0, не прыгайте через этапы.
|