У меня есть JSON-файл с 89 задачами. За неделю он вырос с 75 до 89 — агенты добавляют больше, чем успевают выполнять. Раньше я смотрел на это как на список. Сегодня это живая канбан-доска с агентной фильтрацией и AI-декомпозицией задач.
Файл evolution_backlog.json — центральный нерв лаборатории ЗавЛаб. Вот что там сейчас:
Это не проекты — проекты отдельно. Это задачи, которые генерируются автоматически: агенты сканируют проекты, находят проблемы, добавляют инсайты.
Сервер kanban_server.py читает JSON напрямую. База данных не нужна — один файл, 10 бэкапов, атомарные обновления.
Ключевое решение — агентная фильтрация по умолчанию. Когда Кот открывает свою доску, он видит только свои 9 задач (documentation, review, article). Муравей — только свои 8 (code, feature, infrastructure). Никто не тонет в чужом контексте.
# По умолчанию — только активные (не completed)
# Кот видит только docs/review/article
# Муравей только code/infra/security
AGENT_BOARDS = {
"cat": {"filter": {"type": ["documentation", "review", "article"]}},
"myrmex":{"filter": {"type": ["code", "feature", "infrastructure", "security"]}},
"system":{"filter": {"type": ["infrastructure", "security", "cleanup", "tech_debt"]}},
}
5 колонок (Ожидание → В работе → Готово → Заморожено → Пауза), drag-and-drop, фильтры по типу и приоритету, пагинация (20 задач на страницу).
Но главное — две фичи которых не было в первой версии.
По умолчанию completed-задачи скрыты. Кнопка «Показать выполненные» — и они появляются. Это критично: 50 активных задач — это нормально для работы. 89 задач из которых 33 выполнены — это деморализует.
Кнопка ✨ на каждой карточке. Нажал — задача разбивается на подзадачи. Но не тупым LLM-запросом, а агентом с контекстом.
Вот как это работает:
Пример. Задача: «Статья: Канбан-доска для 75 AI-проектов (Хабр)». Кот 🐱 разбил на:
#184 [review] Ревью 1: вычитка текста, проверка структуры
#185 [review] Ревью 2: проверка технических деталей, линков и кода
#186 [article] Финализация: внесение правок по ревью, форматирование
#187 [article] Публикация: публикация на Хабр, мониторинг комментариев
Кот знает что статья про канбан — потому что получил контекст. Это не тупой LLM-запрос «разбей задачу на 4 шага».
Клик ✨ → POST /api/kanban/tasks/179/decompose
→ Определить агент (cat/myrmex/zavlab)
→ Собрать контекст (задача + related + project_info)
→ Запустить agents/cat_decompose.py с контекстом
→ LLM возвращает JSON подзадач
→ Создать subtasks в backlog с parent_id
Каждый агент — отдельный Python-скрипт. У Кота промпт: «Ты — Кот 🐱, агент контента и документации. Учитывай существующие подзадачи...» У Муравья: «Ты — Муравей 🐜, технический агент. Стек: Python, FastAPI, React...»
| Метрика | Значение |
|---|---|
| Задач всего | 89 |
| Выполнено | 33 (37%) |
| Активных | 50 |
| Типов задач | 18 |
| Агентных досок | 5 |
| Подзадач создано AI | 8 |
| Строк кода бэкенда | ~480 |
| Строк кода фронта | ~525 |
| Время разработки | ~4 часа (с AI-агентом) |
Что не работает пока:
Канбан — это не проект. Это инструмент, который живёт и растёт вместе с лабораторией. Следующие шаги:
Идея в том, что AI-агенты не только добавляют задачи в бэклог, но и выполняют их — и карточки сами ползут вправо. Канбан становится дашбордом не проектов, а самой лаборатории.