Files
APAW/agent-evolution
¨NW¨ fb552e0020 feat: v3 optimal model assignments + fitness gate
- Update 30 agents to v3 heatmap maximum-score models:
  * go-dev: qwen3-coder -> deepseek-v4-pro-max (85->88 +3)
  * planner: nemotron -> deepseek-v4-pro-max (80->88 +8)
  * perf-engineer: nemotron -> deepseek-v4-pro-max (78->84 +6)
  * reflector: nemotron -> deepseek-v4-pro-max (78->84 +6)
  * security: nemotron -> deepseek-v4-pro-max (76->80 +4)
  * memory-manager: nemotron -> qwen3.6-plus (86->87 +1)
  * frontend: kimi-k2.5 -> minimax-m2.5 (92)
  * the-fixer: minimax-m2.5 -> kimi-k2.6 (88->90 +2)
  * browser-auto: kimi-k2.6 -> qwen3-coder (86->87 +1)
  * prompt-opt: glm-5.1 -> qwen3.6-plus (82->83 +1)
  * backend: deepseek-v3.2 -> qwen3-coder (91)
  * capability-analyst: nemotron -> glm-5.1 (85)
  * release-man: devstral-2 -> glm-5.1 (82)
  * evaluator: nemotron -> glm-5.1 (86)
  * workflow-arch: gpt-oss -> glm-5.1 (84)

- Add Model Evolution Guard:
  * fitness-gate.cjs: rejects downgrades >3 points or <75 score
  * Normalized model ID lookup (: vs -)
  * Diff report before any file modifications
- Update sync-benchmarks-from-yaml.cjs with fitness gate
- Sync kilo-meta.json, kilo.jsonc, .md agent files
- Rebuild research-dashboard.html (104KB, 30 agents, 11 models)

Total improvement: +105 points across 11 agents
Source: v3.html heatmap IF-adjusted composite scores
2026-04-30 08:42:10 +01:00
..
2026-04-05 19:58:59 +01:00
2026-04-05 19:58:59 +01:00

Agent Evolution Dashboard

Интерактивная панель для отслеживания эволюции агентной системы APAW.

🚀 Быстрый старт

Синхронизация данных

# Синхронизировать агентов + построить standalone HTML
bun run sync:evolution

# Только построить HTML из существующих данных
bun run evolution:build

Открыть в браузере

Способ 1: Локальный файл (рекомендуется)

# Windows
start agent-evolution\index.standalone.html

# macOS
open agent-evolution/index.standalone.html

# Linux
xdg-open agent-evolution/index.standalone.html

# Или через npm
bun run evolution:open

Способ 2: HTTP сервер

cd agent-evolution
python -m http.server 3001

# Открыть http://localhost:3001

Способ 3: Docker

# Linux/macOS
bash agent-evolution/docker-run.sh restart

# Windows
agent-evolution\docker-run.bat restart

# Открыть http://localhost:3001

📁 Структура файлов

Быстрый запуск

# Linux/macOS
bash agent-evolution/docker-run.sh restart

# Windows
agent-evolution\docker-run.bat restart

# Открыть в браузере
http://localhost:3001

Docker Compose

# Стандартный запуск
docker-compose -f docker-compose.evolution.yml up -d

# С nginx reverse proxy
docker-compose -f docker-compose.evolution.yml --profile nginx up -d

# Остановка
docker-compose -f docker-compose.evolution.yml down

Управление контейнером

# Linux/macOS
bash agent-evolution/docker-run.sh build    # Собрать образ
bash agent-evolution/docker-run.sh run      # Запустить контейнер
bash agent-evolution/docker-run.sh stop      # Остановить
bash agent-evolution/docker-run.sh restart   # Пересобрать и запустить
bash agent-evolution/docker-run.sh logs      # Логи
bash agent-evolution/docker-run.sh open      # Открыть в браузере
bash agent-evolution/docker-run.sh sync      # Синхронизировать данные
bash agent-evolution/docker-run.sh status     # Статус
bash agent-evolution/docker-run.sh clean      # Удалить всё
bash agent-evolution/docker-run.sh dev        # Dev режим с hot reload

# Windows
agent-evolution\docker-run.bat build
agent-evolution\docker-run.bat run
agent-evolution\docker-run.bat stop
agent-evolution\docker-run.bat restart
agent-evolution\docker-run.bat logs
agent-evolution\docker-run.bat open
agent-evolution\docker-run.bat sync
agent-evolution\docker-run.bat status
agent-evolution\docker-run.bat clean
agent-evolution\docker-run.bat dev

NPM Scripts

bun run evolution:build   # Собрать Docker образ
bun run evolution:run     # Запустить контейнер
bun run evolution:stop    # Остановить
bun run evolution:dev      # Docker Compose
bun run evolution:logs     # Логи
bun run research:dashboard    # Build research dashboard
bun run research:watch        # Watch mode for dashboard
bun run research:sync         # Sync model research to agents

Структура

agent-evolution/
├── data/
│   ├── agent-versions.json      # Текущее состояние + история
│   └── agent-versions.schema.json # JSON Schema
├── scripts/
│   └── sync-agent-history.ts    # Скрипт синхронизации
├── index.html                   # Дашборд UI
└── README.md                    # Этот файл

Research Dashboard (Model Benchmarks)

Generate from live data

# Build research dashboard from model-benchmarks.json
bun run agent-evolution/scripts/build-research-dashboard.ts

# Watch mode — auto-rebuild on data changes
bun run agent-evolution/scripts/build-research-dashboard.ts --watch

# Open in browser
start agent-evolution/research-dashboard.html

Output files

File Description
research-dashboard.html Latest interactive dashboard (all 6 tabs)
dist/research-dashboard-YYYY_MM_DD.html Dated archive
research-dashboard.template.html Template for generation

Dashboard tabs

  1. Обзор — stat cards, current config table, agent count, model count
  2. Groq — free tier models with RPM/RPD/TPM/TPD limits, speed indicators
  3. Модели — filterable cards with SWE-bench, IF scores, context windows, tags
  4. Матрица — Agent×Model heatmap with IF adjustment, tooltips, color coding
  5. Рекомендации — selectable cards with JSON export, impact analysis
  6. Анализ профита — before/after comparison, canvas charts, closed-source comparison

Source data

The dashboard reads from agent-evolution/data/model-benchmarks.json:

  • 15 models with benchmarks (SWE-bench, IF scores)
  • 36 agent configurations
  • 33 agent×model score matrices
  • 11 recommendations
  • 5 Groq models with rate limits
  • Closed-source comparison data

Refresh: run /research models or /evolution research to update

Быстрый старт

# Синхронизировать данные агентов
bun run sync:evolution

# Запустить дашборд
bun run evolution:dashboard

# Открыть в браузере
bun run evolution:open
# или http://localhost:3001

Возможности дашборда

1. Overview — Обзор

  • Статистика: общее количество агентов, с историей, рекомендации
  • Recent Changes: последние изменения моделей и промптов
  • Pending Recommendations: критические рекомендации по обновлению

2. All Agents — Все агенты

  • Поиск и фильтрация по категориям
  • Карточки агентов с:
    • Текущей моделью
    • Fit Score
    • Количеством capability
    • Историей изменений

3. Timeline — История

  • Полная хронология изменений
  • Типы событий: model_change, prompt_change, agent_created
  • Фильтрация по дате

4. Recommendations — Рекомендации

  • Агенты с pending recommendations
  • Приоритеты: critical, high, medium, low
  • Экспорт в JSON

5. Model Matrix — Матрица моделей

  • Таблица Agent × Model
  • Fit Score для каждой пары
  • Визуализация provider distribution

Источники данных

1. Agent Files (.kilo/agents/*.md)

---
model: ollama-cloud/qwen3-coder:480b
description: Primary code writer
mode: subagent
color: "#DC2626"
---

2. Capability Index (.kilo/capability-index.yaml)

agents:
  lead-developer:
    model: ollama-cloud/qwen3-coder:480b
    capabilities: [code_writing, refactoring]

3. Kilo Config (.kilo/kilo.jsonc)

{
  "agent": {
    "lead-developer": {
      "model": "ollama-cloud/qwen3-coder:480b"
    }
  }
}

4. Git History

git log --all --oneline -- ".kilo/agents/"

5. Gitea Issue Comments

## ✅ lead-developer completed

**Score**: 8/10
**Duration**: 1.2h
**Files**: src/auth.ts, src/user.ts

6. Model Benchmarks (agent-evolution/data/model-benchmarks.json)

Research data extracted from apaw_agent_model_research_v3.html:

  • Static benchmark scores (SWE-bench, IF scores, context windows)
  • Heatmap compatibility matrix
  • Provider rate limits
  • Recommendation history

7. Model Research Output (agent-evolution/data/model-research-latest.json)

Dynamic research results:

  • Fresh model data from provider APIs
  • IF-adjusted agent×model scores
  • Pending recommendations with impact levels
  • Ready-to-apply YAML patches

JSON Schema

Формат agent-versions.json:

{
  "version": "1.0.0",
  "lastUpdated": "2026-04-05T17:27:00Z",
  "agents": {
    "lead-developer": {
      "current": {
        "model": "ollama-cloud/qwen3-coder:480b",
        "provider": "Ollama",
        "category": "Core Dev",
        "fit_score": 92
      },
      "history": [
        {
          "date": "2026-04-05T05:21:00Z",
          "commit": "caf77f53c8",
          "type": "model_change",
          "from": null,
          "to": "ollama-cloud/qwen3-coder:480b",
          "reason": "Initial configuration"
        }
      ],
      "performance_log": [
        {
          "date": "2026-04-05T10:30:00Z",
          "issue": 42,
          "score": 8,
          "duration_ms": 120000,
          "success": true
        }
      ]
    }
  }
}

Model Research Data

model-benchmarks.json

Comprehensive benchmark data from the HTML research file:

{
  "version": "1.0.0",
  "generated": "2026-04-27T17:44:44Z",
  "total_agents": 36,
  "total_models_tracked": 11,
  "models": [
    {
      "id": "ollama-cloud/qwen3-coder:480b",
      "name": "Qwen3-Coder 480B",
      "organization": "Qwen",
      "swe_bench": 66.5,
      "if_score": 88,
      "context_window": "256K→1M",
      "categories": ["coding", "agent"],
      "provider": "ollama"
    }
  ],
  "agent_current_config": [
    { "agent": "lead-developer", "model": "ollama-cloud/qwen3-coder:480b", "fit_score": 92, "status": "optimal" }
  ],
  "recommendations": [
    {
      "agent": "planner",
      "current_model": "nemotron-3-super",
      "recommended_model": "deepseek-v4-pro-max",
      "impact": "high",
      "expected_improvement": { "quality": "+10%", "speed": "~1x", "context_window": "1M" }
    }
  ]
}

model-research-latest.json

Latest research output (overwritten each cycle):

  • Generated by /research models or /evolution Step 0
  • Validated against model-research.schema.json
  • Consumed by sync-model-research.ts

sync-model-research.ts

Applies model recommendations to configuration:

# Dry-run first
bun run agent-evolution/scripts/sync-model-research.ts --dry-run

# Apply all pending recommendations
bun run agent-evolution/scripts/sync-model-research.ts

# Apply for single agent
bun run agent-evolution/scripts/sync-model-research.ts --agent planner

Updates:

  1. .kilo/capability-index.yaml — model assignments
  2. kilo-meta.json — source of truth
  3. kilo.jsonc — agent config
  4. agent-evolution/data/agent-versions.json — history tracking
  5. .kilo/agents/*.md frontmatter (via sync-agents.js --fix)

After applying, rebuilds dashboard automatically.

Интеграция

В Pipeline

Добавьте в .kilo/commands/pipeline.md:

post_steps:
  - name: sync_evolution
    run: bun run sync:evolution

В Gitea Webhooks

// Добавить webhook в Gitea
{
  "url": "http://localhost:3000/api/evolution/webhook",
  "events": ["issue_comment", "issues"]
}

Чтение из кода

import { agentEvolution } from './agent-evolution/scripts/sync-agent-history';

// Получить все агенты
const agents = await agentEvolution.getAllAgents();

// Получить историю конкретного агента
const history = await agentEvolution.getAgentHistory('lead-developer');

// Записать изменение модели
await agentEvolution.recordChange({
  agent: 'security-auditor',
  type: 'model_change',
  from: 'gpt-oss:120b',
  to: 'nemotron-3-super',
  reason: 'Better reasoning for security analysis',
  source: 'manual'
});

Рекомендации

Приоритеты

Priority Criteria Action
Critical Fit score < 70 Немедленное обновление
High Модель недоступна Переключение на fallback
Medium Доступна лучшая модель Рассмотреть обновление
Low Возможна оптимизация Опционально

Примеры рекомендаций

{
  "agent": "requirement-refiner",
  "recommendations": [{
    "target": "ollama-cloud/nemotron-3-super",
    "reason": "+22% quality, 1M context for specifications",
    "priority": "critical"
  }]
}

Мониторинг

Метрики агента

  • Average Score: Средний балл за последние 10 выполнений
  • Success Rate: Процент успешных выполнений
  • Average Duration: Среднее время выполнения
  • Files per Task: Среднее количество файлов на задачу

Метрики системы

  • Total Agents: Количество активных агентов
  • Agents with History: Агентов с историей изменений
  • Pending Recommendations: Количество рекомендаций
  • Provider Distribution: Распределение по провайдерам

Обслуживание

Очистка истории

# Удалить дубликаты
bun run agent-evolution/scripts/cleanup.ts --dedupe

# Слить связанные изменения
bun run agent-evolution/scripts/cleanup.ts --merge

Экспорт данных

# Экспортировать в CSV
bun run agent-evolution/scripts/export.ts --format csv

# Экспортировать в Markdown
bun run agent-evolution/scripts/export.ts --format md

Резервное копирование

# Создать бэкап
cp agent-evolution/data/agent-versions.json agent-evolution/data/backup/agent-versions-$(date +%Y%m%d).json

# Восстановить из бэкапа
cp agent-evolution/data/backup/agent-versions-20260405.json agent-evolution/data/agent-versions.json

Будущие улучшения

  1. API Endpoints:

    • GET /api/evolution/agents — список агентов
    • GET /api/evolution/agents/:name/history — история агента
    • POST /api/evolution/sync — запустить синхронизацию
  2. Real-time Updates:

    • WebSocket для обновления дашборда
    • Автоматическое обновление при изменениях
  3. Analytics:

    • Графики производительности во времени
    • Сравнение моделей
    • Прогнозирование производительности
  4. Integration:

    • Slack/Telegram уведомления
    • Автоматическое применение рекомендаций
    • A/B testing моделей

Bidirectional Data Flow

[/research models] OR [/evolution Step 0]
       ↓
[agent-evolution/data/model-research-latest.json]
       ↓
[bun run sync-model-research.ts]
       ↓
[.kilo/capability-index.yaml] → updated model assignments
[kilo-meta.json]              → updated source of truth
[kilo.jsonc]                  → updated config
[agent-versions.json]         → history entries
[.kilo/agents/*.md]           → frontmatter updated
       ↓
[sync-agents.js --fix]        → propagate to all files
       ↓
[bun run build-research-dashboard.ts]
       ↓
[research-dashboard.html]     → live dashboard
[dist/dashboard-YYYY_MM_DD.html] → dated archive
       ↓
[/research models]            ← loop continues

Data staleness check

# Check if benchmarks need refresh
node -e "
const d = require('./agent-evolution/data/model-benchmarks.json');
const days = (Date.now() - new Date(d.generated)) / (1000*60*60*24);
console.log(days > 7 ? 'STALE: needs refresh' : 'FRESH', Math.round(days), 'days old');
"

Auto-refresh pipeline

# In capability-index.yaml
evolution:
  auto_trigger: true
  max_evolution_attempts: 3
  dashboard_rebuild: true  # new: auto-rebuild on model changes