Brief (RU)
Historic product brief (RU). Canonical short English entry: Principles. Shipped work and plans: Changelog, Specs index.
Product Brief: Хореографическая AI-система разработки (AI Swarm Development Kit)¶
1. Концепция продукта¶
Автономная децентрализованная система AI-агентов для соло-разработчиков. В отличие от классических оркестрируемых платформ (Devin, CrewAI), система базируется на принципах хореографии, роевого интеллекта и эмерджентности.
Вместо жесткого линейного планирования система реагирует на внешние и внутренние сигналы (логи, баг-репорты, идеи разработчика), позволяя изолированным специализированным агентам взаимодействовать через общую шину данных. Продукт спроектирован так, чтобы оставаться примитивно простым в расширении и защищать бюджет разработчика от зацикливания LLM.
2. Ключевые архитектурные свойства¶
- Децентрализованное управление (Сверху вниз ──► Снизу вверх): Отсутствует центральный планировщик. Агенты самостоятельно принимают решения о включении в работу на основе контента в шине.
- Событийно-ориентированный контекст (EDA): Общение происходит через строгие контракты сообщений (
SIGNAL,INSIGHT,MUTATION,VERIFICATION). - Адаптивный граф связей: Баг-репорты, фича-реквесты и изменения в коде автоматически связываются через сквозной идентификатор
traceId. - Эмерджентная стабильность: Защита от бесконечных циклов ИИ с помощью затухающих токенов энергии (
energyToken) и фильтрации по уровню уверенности (confidence).
3. Технологический стек¶
Брокер сообщений и хранилище: NATS + JetStream¶
Выбран в качестве единого ультра-легковесного фундамента системы. Запускается одним бинарником локально на машине разработчика.
- JetStream обеспечивает непрерывный лог событий (Event Sourcing) для функции
Event Replay(отладка промтов на исторической цепочке данных). - Суб-топики и Wildcards (
mutation.code.>) используются для ювелирной подписки агентов на свои домены. - NATS KV и Object Store применяются как разделяемая память роя для хранения контекста проекта и тяжелых артефактов (кода, логов).
Язык реализации компонентов (Альтернативы для соло-разработчика)¶
Поскольку компоненты общаются через независимые контракты NATS, язык написания самих агентов может быть гибким. Рассматриваются два основных пути:
- Go (Golang): Идеально совпадает с философией NATS. Дает экстремально быстрые, компилируемые в один бинарник агенты с минимальным потреблением памяти. Современные библиотеки для работы с LLM в Go (например,
langchaingoили официальные SDK от OpenAI/Anthropic) стали зрелыми и обеспечивают полную гибкость для промт-инжиниринга и интеграции инструментов (Tools/Function Calling). - Python: Классический выбор для AI-экосистем. Имеет самую богатую экосистему для работы с кодом, AST-деревьями и LLM. Оптимален, если нужно быстро прототипировать новые типы агентов, однако требует управления виртуальными окружениями.
4. Парадигма Human-in-the-Loop (HITL)¶
Человек встраивается в хореографию не как блокирующий шаг оркестратора, а как «Агент-Судья» высшего уровня через специальный UI-шлюз (Human Gateway):
- Асинхронное ревью: Рой генерирует изменения в топик
mutation.code.proposal, шлюз выводит разработчику Git Diff. Разработчик может апрувнуть его (коммит) или вбросить текстовый инсайт-коррекцию обратно в шину. - Интерактивные сессии: Для прямого диалога с агентом в рамках одной сессии —
paseka bee chat(PTY, опционально Ghostty). См. interactive sessions. - Управление энергией: Возможность вручную добавить
energyTokenв затухающий процесс или принудительно погасить лавину споров агентов сигналомsystem.kill. - Эффект «Тимлида»: Разработчик может забросить абстрактную идею в шину и наблюдать за ходом дискуссии и эволюцией решений в фоновом режиме.
5. Ближайшие шаги проектирования¶
Для перехода к MVP системы необходимо формализовать:
- Интерфейс Разработчика (UI/CLI): Архитектура дашборда для визуализации деревьев
traceIdи логов рассуждений роя. - Локальный файловый агент: Модуль (на Go или Python), трансформирующий изменения в локальной папке проекта в события NATS.
- Промт-контракты: Базовые шаблоны системных промтов, заставляющие LLM выдавать строго валидные JSON-события согласно спецификации шины.