- Rename .kilos/ → .kilo/ (correct name for @kilocode/plugin discovery) - 19 agents in .kilo/agent/ with proper YAML frontmatter: description, mode, model, color — all correctly set - Fix ask.md: rename ## Response Format → ## Output Format - Add ## Output Format section to code.md (Quick Coder) - README: update structure to reflect .kilo/ as primary KiloCode runtime - .kilocode/agents/ kept as legacy archive (root-owned, read-only) Fixes: KiloCode losing agent settings when .kilo/ directory present. Root cause was conflicting agent sources — now resolved by using .kilo/agent/ as single source of truth for KiloCode plugin. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
304 lines
16 KiB
Markdown
304 lines
16 KiB
Markdown
# APAW — Automatic Programmers Agent Workflow
|
||
|
||
**Dual-runtime Agent Pipeline** — полная конфигурация автономного ИТ-офиса из 13+ специализированных ИИ-агентов.
|
||
|
||
Поддерживает два runtime:
|
||
- **KiloCode** (VS Code плагин) — через `.kilo/agent/` (`@kilocode/plugin` формат)
|
||
- **Claude Code** (CLI / VS Code extension) — через `.claude/commands/`
|
||
|
||
Система спроектирована как **Self-Healing Repository**: агенты автоматически анализируют задачи, пишут код, тестируют, проводят ревью и деплоят, не переписывая одно и то же дважды благодаря встроенной памяти коммитов.
|
||
|
||
---
|
||
|
||
## Структура репозитория
|
||
|
||
```
|
||
.
|
||
├── install-apaw.sh # Установщик в любой проект (bash)
|
||
├── .claude/ # Claude Code runtime
|
||
│ ├── commands/ # 13 slash-команд (/project:*)
|
||
│ │ ├── pipeline.md # Полный цикл одной командой
|
||
│ │ ├── orchestrate.md # Диспетчер (Sonnet)
|
||
│ │ ├── refine.md # Уточнение требований (Sonnet)
|
||
│ │ ├── mine.md # Поиск дублей в git (Haiku)
|
||
│ │ ├── analyze.md # Системный дизайн (Opus)
|
||
│ │ ├── tests.md # TDD red phase (Sonnet)
|
||
│ │ ├── implement.md # TDD green phase (Opus)
|
||
│ │ ├── skeptic.md # Adversarial ревью (Sonnet)
|
||
│ │ ├── perf.md # Анализ производительности (Sonnet)
|
||
│ │ ├── fix.md # Исправление проблем (Sonnet)
|
||
│ │ ├── security.md # Аудит безопасности (Opus)
|
||
│ │ ├── release.md # Менеджер релизов (Sonnet)
|
||
│ │ ├── evaluate.md # Оценка агентов (Haiku)
|
||
│ │ └── optimize-prompts.md # PromptOps авто-улучшение (Opus)
|
||
│ ├── rules/
|
||
│ │ └── global.md # Глобальные правила кодирования
|
||
│ └── logs/
|
||
│ └── efficiency_score.json # История оценок агентов
|
||
├── .kilo/ # KiloCode plugin runtime (@kilocode/plugin)
|
||
│ ├── agent/ # 19 агентов в формате plugin (YAML frontmatter)
|
||
│ │ ├── orchestrator.md # Диспетчер (GLM-5)
|
||
│ │ ├── requirement-refiner.md # Уточнитель требований (Kimi-k2-thinking)
|
||
│ │ ├── history-miner.md # Архивариус Git (Gemini-3-Flash)
|
||
│ │ ├── system-analyst.md # Системный аналитик (GPT-OSS 120B)
|
||
│ │ ├── product-owner.md # Менеджер задач (Qwen3.5 122B)
|
||
│ │ ├── lead-developer.md # Ведущий разработчик (DeepSeek-v3.2)
|
||
│ │ ├── frontend-developer.md # Frontend (Kimi-k2.5)
|
||
│ │ ├── the-fixer.md # Исправитель (MiniMax-m2.7)
|
||
│ │ ├── sdet-engineer.md # Тестирование TDD (Qwen3-Coder-Next)
|
||
│ │ ├── code-skeptic.md # Критик кода (GPT-OSS 120B)
|
||
│ │ ├── performance-engineer.md # Производительность (Nemotron-3-Super)
|
||
│ │ ├── security-auditor.md # Безопасность (GLM-4.7)
|
||
│ │ ├── release-manager.md # Релизы (Devstral-2 123B)
|
||
│ │ ├── evaluator.md # Оценщик (GPT-o3)
|
||
│ │ ├── prompt-optimizer.md # PromptOps (Claude 4.5)
|
||
│ │ ├── ask.md # Knowledge agent (Gemini-3-Flash)
|
||
│ │ ├── code.md # Quick coder (DeepSeek-v3.2)
|
||
│ │ ├── debug.md # Диагностика (MiniMax-m2.7)
|
||
│ │ └── plan.md # Стратег (GPT-OSS 120B)
|
||
│ ├── package.json # @kilocode/plugin dependency
|
||
│ └── node_modules/ # Plugin runtime
|
||
├── .kilocode/
|
||
│ ├── agents/ # Устаревший формат (заменён .kilo/agent/)
|
||
│ ├── rules/
|
||
│ │ └── global.md # Глобальные правила
|
||
│ └── logs/
|
||
│ └── efficiency_score.json # История оценок
|
||
└── packages/
|
||
└── opencode/
|
||
└── src/
|
||
└── kilocode/
|
||
└── agent-manager/ # TypeScript-интеграция с KiloCode
|
||
├── index.ts # Загрузчик конфигурации агентов
|
||
├── workflow.ts # State Machine пайплайна
|
||
├── router.ts # Маршрутизатор между агентами
|
||
├── prompt-loader.ts # Динамическая загрузка промптов
|
||
├── git-ops.ts # Git-операции (история, коммиты)
|
||
├── evaluator.ts # Логика оценки эффективности
|
||
└── types.ts # TypeScript-типы системы
|
||
```
|
||
|
||
---
|
||
|
||
## Состав команды (14 агентов)
|
||
|
||
### Блок А: Вход и Планирование
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 1 | **Requirement Refiner** | Kimi-k2-thinking | Транслирует задачи в строгие технические чек-листы |
|
||
| 2 | **Orchestrator** | GLM-5 | Главный диспетчер, управляет State Machine |
|
||
| 3 | **History Miner** | Gemini-3-Flash | Сканирует git log, предотвращает дублирование работы |
|
||
|
||
### Блок Б: Проектирование
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 4 | **System Analyst** | GPT-OSS 120B | Создаёт схемы БД, TypeScript-интерфейсы и API-контракты |
|
||
| 5 | **Product Owner** | Qwen3.5 122B | Управляет чек-листами в Issues и статусными лейблами |
|
||
|
||
### Блок В: Производство
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 6 | **Lead Developer** | DeepSeek-v3.2 | Пишет основной код (Go / Node.js) по TDD-спецификации |
|
||
| 7 | **Frontend Dev** | Kimi-k2.5 | UI-компоненты, мультимодальный анализ скриншотов |
|
||
| 8 | **The Fixer** | MiniMax-m2.7 | Итеративно исправляет баги после тестов и ревью |
|
||
|
||
### Блок Г: Контроль Качества
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 9 | **SDET Engineer** | Qwen3-Coder-Next | Пишет падающие тесты до реализации (TDD Red Phase) |
|
||
| 10 | **Code Skeptic** | GPT-OSS 120B | Ищет race conditions, уязвимости, логические дыры |
|
||
| 11 | **Performance Engineer** | Nemotron-3-Super | Проверяет на N+1, утечки памяти, блокировки event loop |
|
||
| 12 | **Security Auditor** | GLM-4.7 | OWASP Top 10, SQL-инъекции, XSS, CVE в зависимостях |
|
||
|
||
### Блок Д: Релиз и Самообучение
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 13 | **Release Manager** | Devstral-2 123B | SemVer, Git Flow, мердж только при Green Build |
|
||
| 14 | **Performance Evaluator** | GPT-o3 | Оценивает эффективность каждого агента по шкале 1-10 |
|
||
| 15 | **Prompt Optimizer** | Claude 4.5 | Анализирует ошибки и переписывает системные промпты |
|
||
|
||
---
|
||
|
||
## Жизненный цикл задачи (State Machine)
|
||
|
||
```
|
||
[Пользователь] -> Requirement Refiner -> Orchestrator
|
||
|
|
||
+-------------------------+
|
||
v v
|
||
History Miner (если дубль -> закрыть)
|
||
|
|
||
v
|
||
System Analyst
|
||
|
|
||
v
|
||
SDET Engineer (Red Phase: тесты падают)
|
||
|
|
||
v
|
||
Lead Developer (Green Phase: тесты проходят)
|
||
|
|
||
v
|
||
Code Skeptic ---- замечания ---> The Fixer --+
|
||
| |
|
||
+--------------------------------------+
|
||
| (Approve)
|
||
v
|
||
Performance Engineer -- проблемы -> The Fixer
|
||
| (OK)
|
||
v
|
||
Security Auditor -- уязвимости -> The Fixer
|
||
| (OK)
|
||
v
|
||
Release Manager (SemVer + Merge)
|
||
|
|
||
v
|
||
Performance Evaluator (оценка 1-10)
|
||
|
|
||
v
|
||
Prompt Optimizer (если оценка < 7 -> улучшить промпт)
|
||
|
|
||
v
|
||
Product Owner (закрывает Issue)
|
||
```
|
||
|
||
---
|
||
|
||
## Установка и использование
|
||
|
||
### Вариант A: Claude Code (рекомендуется)
|
||
|
||
#### Глобальная установка — команды работают во ВСЕХ проектах
|
||
|
||
```bash
|
||
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
|
||
mkdir -p ~/.claude/commands ~/.claude/rules
|
||
cp APAW/.claude/commands/*.md ~/.claude/commands/
|
||
cp APAW/.claude/rules/global.md ~/.claude/rules/
|
||
# Заменить /project: на /user: во внутренних ссылках:
|
||
sed -i 's|/project:|/user:|g' ~/.claude/commands/*.md
|
||
```
|
||
|
||
После этого в **любом проекте** доступны команды `/user:pipeline`, `/user:refine` и т.д.
|
||
|
||
#### Установка в конкретный проект
|
||
|
||
```bash
|
||
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
|
||
./APAW/install-apaw.sh /path/to/your-project
|
||
```
|
||
|
||
Скрипт создаёт `.claude/` в целевом проекте. Команды доступны как `/project:*`.
|
||
|
||
#### Быстрый старт
|
||
|
||
```
|
||
# Полный цикл от идеи до релиза:
|
||
/project:pipeline добавить эндпоинт авторизации через JWT
|
||
# или глобально (после глобальной установки):
|
||
/user:pipeline добавить эндпоинт авторизации через JWT
|
||
|
||
# Или пошагово:
|
||
/project:refine хочу кнопку экспорта в PDF
|
||
/project:mine экспорт PDF
|
||
/project:analyze экспорт PDF — user story + acceptance criteria
|
||
/project:tests ...
|
||
/project:implement ...
|
||
```
|
||
|
||
#### Таблица команд
|
||
|
||
| Команда | Агент | Модель | Назначение |
|
||
|---------|-------|--------|-----------|
|
||
| `/project:pipeline` | Pipeline Runner | Sonnet | Весь цикл одной командой |
|
||
| `/project:orchestrate` | Orchestrator | Sonnet | Маршрутизация по состоянию |
|
||
| `/project:refine` | Requirement Refiner | Sonnet | Вагные идеи → чеклист |
|
||
| `/project:mine` | History Miner | **Haiku** | Поиск дублей в git |
|
||
| `/project:analyze` | System Analyst | **Opus** | Схемы БД, API-контракты |
|
||
| `/project:tests` | SDET Engineer | Sonnet | TDD — пишет падающие тесты |
|
||
| `/project:implement` | Lead Developer | **Opus** | TDD — делает тесты зелёными |
|
||
| `/project:skeptic` | Code Skeptic | Sonnet | Adversarial ревью кода |
|
||
| `/project:perf` | Performance Engineer | Sonnet | N+1, утечки, блокировки |
|
||
| `/project:fix` | The Fixer | Sonnet | Точечные исправления |
|
||
| `/project:security` | Security Auditor | **Opus** | OWASP Top 10, CVE |
|
||
| `/project:release` | Release Manager | Sonnet | SemVer, gate-check, тег |
|
||
| `/project:evaluate` | Evaluator | **Haiku** | Оценка агентов 1–10 |
|
||
| `/project:optimize-prompts` | Prompt Optimizer | **Opus** | PromptOps авто-улучшение |
|
||
|
||
> Haiku = быстро и дёшево. Opus = максимальное качество. Sonnet = баланс.
|
||
|
||
---
|
||
|
||
### Вариант B: KiloCode (VS Code плагин)
|
||
|
||
```bash
|
||
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
|
||
cp -r APAW/.kilocode /your-project/
|
||
cp APAW/.kilocodemodes /your-project/
|
||
```
|
||
|
||
KiloCode автоматически обнаружит `.kilocodemodes` и загрузит все режимы агентов.
|
||
Начните с **Requirement Refiner**, введя описание задачи на естественном языке.
|
||
|
||
---
|
||
|
||
## PromptOps: Эволюция промптов через Git
|
||
|
||
Все системные промпты хранятся в `.kilocode/agents/` и версионируются через Git:
|
||
|
||
- **Отслеживать эволюцию** — `git diff` покажет изменения, сделанные Prompt Optimizer
|
||
- **Откатывать изменения** — `git checkout` вернёт предыдущую версию промпта
|
||
- **Анализировать обучение** — частые коммиты в промпт означают, что агент требует доработки
|
||
|
||
Пример коммита от Prompt Optimizer:
|
||
|
||
```
|
||
chore(ai-brain): optimize Lead Dev prompt based on Issue #142 failures
|
||
|
||
- Added: "Always check type compatibility in index.d.ts before implementation"
|
||
- Reason: 4 fix iterations due to TypeScript interface mismatches
|
||
```
|
||
|
||
---
|
||
|
||
## Оценка эффективности
|
||
|
||
Файл `.kilocode/logs/efficiency_score.json` хранит историю оценок по каждому Issue:
|
||
|
||
```json
|
||
{
|
||
"version": "1.0",
|
||
"history": [
|
||
{
|
||
"issue": 142,
|
||
"date": "2026-03-31T10:30:00Z",
|
||
"agents": {
|
||
"requirement-refiner": 8,
|
||
"lead-developer": 6,
|
||
"code-skeptic": 9
|
||
},
|
||
"iterations": 3,
|
||
"duration_hours": 2.5
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## Технический стек
|
||
|
||
- **Оркестрация**: Node.js / TypeScript (Agent Manager)
|
||
- **Интеграция**: KiloCode VS Code Extension
|
||
- **Версионирование**: Gitea + Git Flow
|
||
- **Язык разработки**: Go / Node.js (основные проекты)
|
||
- **Тестирование**: TDD (Red-Green-Refactor)
|
||
|
||
---
|
||
|
||
*Разработано в рамках проекта APAW (Automatic Programmers Agent Workflow) — 2026*
|