7 evolutionary tasks implemented: 1. PHP web development: php-developer agent + 6 skills (Laravel, Symfony, WordPress, security, testing, modular architecture) + 2 pipeline commands (/laravel, /wordpress) 2. Atomic task decomposition: 1 action = 1 task rule, task sizing guide, decomposition protocol for orchestrator, token budgets per complexity 3. Modular code rules: max 100 lines/file, max 30 lines/function, service/repository patterns, cross-module communication via events only 4. Gitea-centric workflow: mandatory issue creation before work, research with links, progress checkboxes, screenshots on test, git history as knowledge base 5. Fix: target project auto-detection — removed all hardcoded UniqueSoft/APAW from API calls, added get_target_repo() via git remote, GITEA_TARGET_REPO env override 6. Agent execution monitoring: agent-executions.jsonl logging, agent-stats.ts statistics script, required fields per invocation, Gitea comment includes duration/tokens 7. Token optimization: 1 action = 1 task principle, token budgets by task type, routing matrix, no scope creep, skip unnecessary pipeline steps
360 lines
13 KiB
Markdown
360 lines
13 KiB
Markdown
# APAW — Automatic Programmers Agent Workflow
|
||
|
||
**Self-Improving Agent Pipeline** — автономная система из 29+ специализированных ИИ-агентов с автоматической эволюцией промптов, мониторингом выполнения и модульной архитектурой.
|
||
|
||
---
|
||
|
||
## Архитектура
|
||
|
||
```
|
||
APAW/
|
||
├── .kilo/ # KiloCode конфигурация
|
||
│ ├── agents/ # 29 агентов (YAML frontmatter)
|
||
│ ├── commands/ # Workflow команды (/pipeline, /laravel, /wordpress, etc.)
|
||
│ ├── rules/ # Правила кодирования (атомарные задачи, модульность, токены)
|
||
│ ├── skills/ # Специализированные навыки (PHP, Go, Node, Docker, Gitea)
|
||
│ ├── shared/ # Общие модули (gitea-api, gitea-commenting, self-evolution)
|
||
│ ├── logs/ # Логи выполнения агентов и fitness-метрики
|
||
│ ├── capability-index.yaml # Индекс возможностей и маршрутизация
|
||
│ ├── kilo.jsonc # Конфигурация primary агентов
|
||
│ └── KILO_SPEC.md # Спецификация агентов
|
||
├── agent-evolution/ # Dashboard эволюции агентов
|
||
│ ├── index.standalone.html # Standalone dashboard
|
||
│ ├── scripts/ # Scripts синхронизации
|
||
│ ├── data/ # История изменений
|
||
│ └── docker-compose.yml # Docker запуск
|
||
├── scripts/ # Utility scripts
|
||
│ └── agent-stats.ts # Статистика выполнения агентов
|
||
├── AGENTS.md # Справка по агентам
|
||
├── STRUCTURE.md # Структура проекта
|
||
└── README.md # Этот документ
|
||
```
|
||
|
||
---
|
||
|
||
## Быстрый старт
|
||
|
||
### Использование с KiloCode
|
||
|
||
```bash
|
||
# Клонировать репозиторий
|
||
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
|
||
|
||
# Скопировать конфигурацию в проект
|
||
cp -r APAW/.kilo /your-project/
|
||
```
|
||
|
||
KiloCode автоматически обнаружит `.kilo/` и загрузит всех агентов.
|
||
|
||
### Запуск Dashboard эволюции
|
||
|
||
```bash
|
||
# Standalone (без Docker)
|
||
bun run sync:evolution
|
||
open agent-evolution/index.standalone.html
|
||
|
||
# Или через Docker
|
||
cd agent-evolution
|
||
docker-compose up -d
|
||
# Dashboard доступен на http://localhost:3001
|
||
```
|
||
|
||
### Мониторинг агентов
|
||
|
||
```bash
|
||
# Статистика выполнения за 30 дней
|
||
bun run agent:stats
|
||
|
||
# За последнюю неделю
|
||
bun run agent:stats:week
|
||
|
||
# По конкретному проекту
|
||
bun run agent:stats --project UniqueSoft/my-shop
|
||
```
|
||
|
||
---
|
||
|
||
## Команда агентов (29+)
|
||
|
||
### Планирование и Анализ
|
||
|
||
| Агент | Модель | Назначение |
|
||
|-------|--------|------------|
|
||
| `@orchestrator` | GLM-5 | Главный диспетчер, маршрутизация задач |
|
||
| `@requirement-refiner` | GLM-5 | Идеи → User Stories |
|
||
| `@history-miner` | Nemotron-3-Super | Поиск дублей в git |
|
||
| `@system-analyst` | GLM-5 | Схемы БД, API контракты |
|
||
| `@planner` | Nemotron-3-Super | Декомпозиция задач (CoT/ToT) |
|
||
| `@capability-analyst` | GLM-5 | Gap analysis |
|
||
|
||
### Разработка
|
||
|
||
| Агент | Модель | Назначение |
|
||
|-------|--------|------------|
|
||
| `@lead-developer` | Qwen3-Coder 480B | Основной код по TDD |
|
||
| `@frontend-developer` | Qwen3-Coder 480B | UI компоненты |
|
||
| `@backend-developer` | Qwen3-Coder 480B | Node.js/Express APIs |
|
||
| `@php-developer` | Qwen3-Coder 480B | PHP/Laravel/Symfony/WordPress |
|
||
| `@go-developer` | Qwen3-Coder 480B | Go/Gin/Echo APIs |
|
||
| `@flutter-developer` | Qwen3-Coder 480B | Flutter mobile apps |
|
||
| `@devops-engineer` | Nemotron-3-Super | Docker, K8s, CI/CD |
|
||
|
||
### Качество
|
||
|
||
| Агент | Модель | Назначение |
|
||
|-------|--------|------------|
|
||
| `@sdet-engineer` | Qwen3-Coder 480B | TDD Red Phase |
|
||
| `@code-skeptic` | MiniMax-m2.5 | Adversarial ревью |
|
||
| `@the-fixer` | MiniMax-m2.5 | Исправление багов |
|
||
| `@performance-engineer` | Nemotron-3-Super | N+1, утечки памяти |
|
||
| `@security-auditor` | Nemotron-3-Super | OWASP Top 10, CVE |
|
||
|
||
### Релиз и Метрики
|
||
|
||
| Агент | Модель | Назначение |
|
||
|-------|--------|------------|
|
||
| `@release-manager` | GLM-5 | Git Flow, SemVer |
|
||
| `@evaluator` | GLM-5 | Оценка агентов 1-10 |
|
||
| `@pipeline-judge` | GLM-5 | Объективный fitness score |
|
||
| `@prompt-optimizer` | GLM-5 | Улучшение промптов |
|
||
| `@product-owner` | GLM-5 | Управление Issues |
|
||
|
||
### Когнитивное усиление
|
||
|
||
| Агент | Паттерн | Назначение |
|
||
|-------|---------|------------|
|
||
| `@reflector` | Reflexion | Анализ ошибок |
|
||
| `@memory-manager` | Memory Arch | Управление контекстом |
|
||
|
||
---
|
||
|
||
## Pipeline Workflow
|
||
|
||
```
|
||
[Issue в целевом проекте]
|
||
↓
|
||
[@requirement-refiner] → User Story + Acceptance Criteria
|
||
↓
|
||
[@history-miner] → Проверка дублей
|
||
↓
|
||
[@system-analyst] → Схемы БД, API контракты
|
||
↓
|
||
[@sdet-engineer] → TDD Red Phase (тесты падают)
|
||
↓
|
||
[@lead-developer] / [@php-developer] → TDD Green Phase
|
||
↓
|
||
[@code-skeptic] → Adversarial review
|
||
↓ (fail) ↓ (pass)
|
||
[@the-fixer] [@performance-engineer]
|
||
↓ ↓
|
||
─────────────────→ [@security-auditor]
|
||
↓
|
||
[@release-manager]
|
||
↓
|
||
[@evaluator] → Score 1-10
|
||
↓ (score ≥ 7)
|
||
[@pipeline-judge] → Fitness 0.0-1.0
|
||
↓
|
||
fitness ≥ 0.85 → COMPLETED
|
||
fitness < 0.85 → [@prompt-optimizer] → evolving
|
||
```
|
||
|
||
---
|
||
|
||
## Критические правила
|
||
|
||
### Целевой проект (НЕ APAW!)
|
||
|
||
**Issues создаются в целевом проекте, а НЕ в APAW.** APAW — фреймворк агентов, а не проект по умолчанию.
|
||
|
||
```bash
|
||
# Автоопределение проекта из git remote
|
||
TARGET_REPO=$(git remote get-url origin | sed -E 's|.*[:/]([^/]+/[^/]+?)(\.git)?$|\1|')
|
||
```
|
||
|
||
### Атомарные задачи (1 действие = 1 задача)
|
||
|
||
Каждый вызов агента решает ровно ОДНУ атомарную задачу:
|
||
- ❌ "Реализуй весь бэкенд интернет-магазина"
|
||
- ✅ "Создай модель Product с миграцией"
|
||
- ✅ "Добавь POST /api/products endpoint"
|
||
|
||
### Модульный код
|
||
|
||
- Максимум 100 строк на файл
|
||
- Максимум 30 строк на функцию
|
||
- Фичи организованы как независимые модули
|
||
- Коммуникация между модулями — только через events/interfaces
|
||
|
||
### Бюджет токенов
|
||
|
||
| Размер задачи | Макс. токенов | Пример |
|
||
|-------------|-------------|---------|
|
||
| Tiny | 2,000 | Исправить опечатку |
|
||
| Small | 5,000 | Модель + миграция |
|
||
| Medium | 10,000 | API endpoint + тест |
|
||
| Large | 20,000 | Сервис с 3 методами |
|
||
|
||
---
|
||
|
||
## Конфигурация
|
||
|
||
### Models (kilo.jsonc)
|
||
|
||
Primary агенты для UI:
|
||
- `orchestrator` — GLM-5 (главный диспетчер)
|
||
- `code` — Qwen3-Coder 480B (быстрый код)
|
||
- `ask` — GLM-5 (вопросы по коду)
|
||
- `plan` — Nemotron-3-Super (планирование)
|
||
- `debug` — GLM-5 (диагностика)
|
||
|
||
Subagent модели определены в `.md` файлах агентов.
|
||
|
||
### Capability Index (capability-index.yaml)
|
||
|
||
Карта возможностей для маршрутизации:
|
||
- `code_writing` → `lead-developer`
|
||
- `code_review` → `code-skeptic`
|
||
- `test_writing` → `sdet-engineer`
|
||
- `php_web_development` → `php-developer`
|
||
- `laravel_development` → `php-developer`
|
||
- `wordpress_development` → `php-developer`
|
||
- `security` → `security-auditor`
|
||
- и т.д.
|
||
|
||
---
|
||
|
||
## Эволюция агентов
|
||
|
||
Система автоматически отслеживает:
|
||
- Изменения моделей
|
||
- Оценки производительности
|
||
- Fitness score (объективные метрики)
|
||
- Рекомендации по улучшению
|
||
- Логи выполнения каждого агента
|
||
|
||
```bash
|
||
# Синхронизировать данные
|
||
bun run sync:evolution
|
||
|
||
# Открыть dashboard
|
||
bun run evolution:open
|
||
|
||
# Статистика агентов
|
||
bun run agent:stats
|
||
```
|
||
|
||
---
|
||
|
||
## Skills System
|
||
|
||
Навыки в `.kilo/skills/`:
|
||
|
||
### PHP
|
||
- `php-laravel-patterns` — Laravel routing, Eloquent, middleware, queues
|
||
- `php-symfony-patterns` — Symfony controllers, services, Doctrine
|
||
- `php-wordpress-patterns` — WordPress plugins, themes, REST API
|
||
- `php-security` — OWASP, CSRF, XSS, SQL injection
|
||
- `php-testing` — PHPUnit, Pest, Dusk
|
||
- `php-modular-architecture` — Modules, packages, service separation
|
||
|
||
### Инфраструктура
|
||
- `gitea-workflow` — Gitea интеграция (автодетекция проекта)
|
||
- `gitea-commenting` — Автоматические комментарии
|
||
- `agent-logging` — Логирование выполнения агентов
|
||
|
||
### Docker / БД
|
||
- `docker-compose`, `docker-swarm`, `docker-security`, `docker-monitoring`
|
||
- `postgresql-patterns`, `sqlite-patterns`, `clickhouse-patterns`
|
||
|
||
### Go / Node
|
||
- `go-web-patterns`, `go-middleware`, `go-testing`, `go-security`
|
||
- `nodejs-express-patterns`, `nodejs-auth-jwt`, `nodejs-security-owasp`
|
||
|
||
### Тестирование / Анализ
|
||
- `web-testing`, `visual-testing`, `playwright`
|
||
- `research-cycle`, `planning-patterns`, `task-analysis`
|
||
- `quality-controller`, `scoped-labels`
|
||
|
||
---
|
||
|
||
## Workflow Commands
|
||
|
||
| Команда | Назначение |
|
||
|---------|------------|
|
||
| `/pipeline <issue>` | Полный пайплайн для issue |
|
||
| `/laravel` | Laravel приложение |
|
||
| `/wordpress` | WordPress сайт/плагин |
|
||
| `/feature` | Разработка фичи |
|
||
| `/commerce` | E-commerce сайт |
|
||
| `/booking` | Бронирование |
|
||
| `/blog` | Блог |
|
||
| `/hotfix` | Срочное исправление |
|
||
| `/status <issue>` | Статус пайплайна |
|
||
| `/evolve` | Цикл эволюции |
|
||
| `/plan` | Планирование задач |
|
||
| `/debug` | Диагностика багов |
|
||
| `/ask` | Вопросы по коду |
|
||
| `/code` | Быстрый код |
|
||
| `/research` | Исследование |
|
||
|
||
---
|
||
|
||
## Переменные окружения
|
||
|
||
```bash
|
||
GITEA_API_URL=https://git.softuniq.eu/api/v1
|
||
GITEA_TOKEN=your-token-here
|
||
GITEA_TARGET_REPO=UniqueSoft/my-project # Переопределение проекта
|
||
```
|
||
|
||
---
|
||
|
||
## Мониторинг выполнения
|
||
|
||
Каждый вызов агента логируется в `.kilo/logs/agent-executions.jsonl`:
|
||
|
||
```jsonl
|
||
{"ts":"2026-04-18T14:00:00Z","agent":"php-developer","issue":42,"project":"UniqueSoft/my-shop","task":"Create Product model","subtask_type":"model_creation","duration_ms":45000,"tokens_used":8500,"status":"success","files":["app/Models/Product.php"],"score":8,"next_agent":"code-skeptic"}
|
||
```
|
||
|
||
```bash
|
||
# Статистика агентов
|
||
bun run agent:stats
|
||
|
||
# За неделю
|
||
bun run agent:stats:week
|
||
|
||
# По проекту
|
||
bun run agent:stats:project --project UniqueSoft/my-shop
|
||
```
|
||
|
||
---
|
||
|
||
## Технический стек
|
||
|
||
| Layer | Technology |
|
||
|-------|------------|
|
||
| Runtime | TypeScript / Node.js / Bun |
|
||
| Agent Runtime | KiloCode VS Code Extension |
|
||
| Version Control | Gitea + Git Flow |
|
||
| Languages | TypeScript / PHP / Go / Dart |
|
||
| Testing | TDD (Red-Green-Refactor), PHPUnit, Pest |
|
||
| Containerization | Docker / Docker Compose |
|
||
|
||
---
|
||
|
||
## Статус проекта
|
||
|
||
✅ Production Ready
|
||
✅ 29 агентов
|
||
✅ Self-improving pipeline с fitness scoring
|
||
✅ Gitea интеграция с автодетекцией проекта
|
||
✅ Agent Evolution Dashboard
|
||
✅ Мониторинг выполнения агентов
|
||
✅ PHP/Laravel/Symfony/WordPress поддержка
|
||
✅ Атомарные задачи и модульная архитектура
|
||
|
||
---
|
||
|
||
*APAW (Automatic Programmers Agent Workflow) — 2026* |