Агенты, которые доводят задачу до merge request
Платформа агентской разработки с нуля: цикл plan → act → observe → report, роутер любых моделей с fallback, RBAC и квоты, независимая проверка кода, фабрика «issue → спека → MR» и RAG на pgvector. Без магии — с трейсами, стоимостью и честными ошибками.
Один агентский контур — много областей работы
Agents flow — это не чат-бот, а управляемый конвейер: цель, действия, проверка, память и контроль доступа. Один и тот же каркас подходит всему, где у задачи есть проверяемый результат.
Разработка ПО
Фабрика превращает issue в спеку, код с тестами и merge request. Баг-фиксы идут по циклу «воспроизвести → падающий тест → минимальный фикс → регрессия».
QA и тестирование
Агенты пишут тесты и проверяют их качество: в код вносятся поломки, и тесты обязаны их заметить. Тестовая база растёт с каждым найденным классом ошибок.
Знания и поддержка
RAG по документам, спекам и коду с локальными embeddings: ответ со ссылками на источники и честное «в контексте этого нет». Данные не покидают ваш контур.
Встречи и документы
Транскрибатор (распознавание речи локально) и Протоколист: из записи — протокол, решения и задачи в GitLab Issues.
Безопасность и комплаенс
Роли и права, квоты, фильтры на вход и вывод, маскировка секретов, изолированная песочница, журнал прогонов — для аудита и разбора инцидентов.
Бизнес-приложения: CRM, задачи, ERP
Агенты собирают и ведут рабочие системы по ролям пользователей: от CRM и таск-менеджера до учёта. Каркас фабрики и прав уже есть; предметные модули — следующий слой.
Операции и мониторинг (DevOps/SRE)
Дежурные агенты в песочнице с белым списком команд: разбор логов, алерты деградации провайдеров, снимки состояния и откат. Телеметрия и snapshot — готовы.
Аналитика и отчётность
История прогонов и расходов лежит в PostgreSQL: разрезы по пользователю, агенту, модели и дню — основа для отчётов и дашбордов стоимости.
HR и рекрутинг
Агенты для скрининга и коммуникации с кандидатами, свои HR-инструменты поверх платформы — тот же контур прав, памяти и проверок.
«Работает сегодня» — есть в этом репозитории и проверено запусками. «Направление» — архитектурно закрыто каркасом, предметная часть ещё не написана.
От баг-репорта до MR — по спеке, с проверкой на каждом шаге
Любая работа начинается со спеки. Агент не «отвечает на промпт», а проходит цикл с критериями приёмки, откатом и записью в память.
Issue
GitLab issue с лейблом factory — вход конвейера: webhook запускает фабрику сам.
Спека
LLM пишет спеку по шаблону: цель, критерии, edge-кейсы, rollback.
План модулей
Задача режется на небольшие модули с тестами и зависимостями — каждый укладывается в таймаут провайдера.
Код и проверка
Сначала другая модель пишет приёмочные тесты по контракту, реализатор их не видит. Затем каждый модуль идёт в цикле цели: тесты, мутации кода и ревью, пока критерий не выполнен.
Merge request
Ветка, коммит, MR с таблицей доказательств. Проверки MR ставит тот же webhook-сервис, без GitLab Runner. Ветки после мёрджа не удаляются.
Платформа из независимых слоёв
Каждый слой самостоятельный, со своей спекой, тестами и откатом. Их можно использовать вместе или по отдельности.
Runner
Цикл plan→act→observe→report, snapshot/restore, act-фаза в песочнице без shell и с минимальным окружением.
Цикл цели
Повторяет прогоны до критерия или лимита бюджета; меняет workflow и эскалирует модель по ходу.
Независимая проверка
Критерий успеха не зависит от самооценки модели: приёмочные тесты другой модели до реализации, мутационная проверка тестов (операторы, throw, регулярные выражения) и ревью другой моделью.
Роутер моделей
Политики по юзкейсам, fallback-цепочки, автомат-предохранитель по лимитам, учёт стоимости. Любой OpenAI-совместимый API.
Безопасность
RBAC на 4 роли, RSA-токены с JWKS, квоты, guardrails на вход и вывод, маскировка секретов.
RAG на pgvector
Локальная embedding-модель, HNSW-индекс, бэкенды SQLite / pgvector / Supabase, endpoint'ы для API.
Память и Usage
История прогонов и расходы по цепочке Пользователь → Агент → Run в PostgreSQL; квоты считаются из базы.
Eval и соревнование
Тестовая база кейсов, gate с baseline, сравнение Runner, Kilo CLI и opencode на общих задачах.
Фабрика
Issue → спека → модули → MR с доказательствами; идемпотентно, без удаления веток.
Webhook и CI без Runner
Issue Hook запускает фабрику, Merge Request Hook — тесты и eval-gate; статусы коммита и комментарий в MR, очередь по одному заданию с отсевом дублей.
RAG-eval
Вопросы с известным источником ответа, метрики hit@k и MRR; пороги входят в eval-gate и CI.
Учёт токенов и бюджеты
Журнал каждого вызова по фазам и модулям, окна расхода провайдеров с самокалибровкой лимитов, квоты по пользователям и сервисам, алерты о приближении к границам, зеркало в PostgreSQL и раздел затрат в отчёте MR.
Наблюдаемость
Трейсы прогонов, агрегаты по фазам, алерты деградации провайдеров, состояние кулдаунов через API.
API для VS Code
OpenAI-совместимый сервер: подключается любое расширение, всё под RBAC, квотами и TLS.
Приватность
Тяжёлое и чувствительное — локально: распознавание речи и embeddings считаются у вас, наружу уходит только текст.
Подключите API любой модели — через роутер
Роутер не привязан к одному вендору. Любой OpenAI-совместимый endpoint добавляется записью в конфиг и сразу получает политики, fallback, права, квоты и защиту от лимитов.
Провайдеры
- Одна запись в конфиге. Адрес, имя модели, переменная окружения с ключом, роли и цена — и модель в каталоге. Ключи в файл не пишутся.
- Политики по задачам. Дешёвые и бесплатные модели — на черновую работу, сильные — на план и ревью. Порядок и приоритет задаёт конфиг.
- Устойчивость. Исчерпан лимит одного провайдера — роутер закрывает его до сброса и переключается на следующий; клиент получает честный 503 с временем повтора.
- Контроль расходов и доступа. Стоимость считается по каждой модели, права и квоты действуют одинаково для всех провайдеров.
Зелёным — проверено живыми вызовами (Kimi, Kilo, локальный llama-server). Синим — подключается по OpenAI-совместимому протоколу; логика проверена тестами с подменой сети, живой вызов зависит от вашего ключа.
// подключаем свой провайдер и локальную модель { "providers": [ { "id": "openai", "baseUrl": "https://api.openai.com/v1", "apiKeyEnv": "OPENAI_API_KEY", "models": [{ "model": "gpt-4.1-mini", "roles": ["code", "simple"], "costPerMToken": 0.4 }] }, { "id": "ollama", "baseUrl": "http://127.0.0.1:11434/v1", "models": [{ "model": "qwen2.5-coder:7b", "roles": ["simple", "bulk"], "priority": "primary" }] } ] } $ node src/router/custom.ts check
Записанные прогоны и панель управления
Справа — воспроизведение реальных запусков платформы: команды, трейсы и ответы взяты из логов проекта. Слева — роли и квоты из настоящего конфига. Живые вызовы на публичной странице отключены, чтобы не жечь квоты провайдеров.
Роль и доступ
Выберите роль — и посмотрите, что ей разрешено.
Модели, доступные роли
Решения подтверждены данными
Сравнивали не «ощущения», а прогоны на общих кейсах. Выводы записаны в ADR.
Harness-соревнование: среднее время кейса, с
Все три прошли 3 из 3 кейсов (codegen, bugfix, refactor). Меньше — лучше.
Runner быстрее в 16–18× на одношаговых задачах; CLI-harness'ы остаются эталоном для multistep. (ADR-002)
Eval-gate: 8 кейсов
Цена за весь прогон набора.
| Модель | Pass | Стоимость |
|---|
Дешёвая модель даёт то же качество — роутер по умолчанию берёт её. (ADR-001)
RAG-eval: поиск по документации
Вопросы с известным источником ответа. Пороги входят в eval-gate и проверки MR.
| Метрика | Значение |
|---|
Живые прогоны фабрики
Каждая строка — реальный merge request: issue → webhook → спека → код → проверки. Цифры взяты из описаний MR в GitLab; предупреждения и провалы не скрываются.
| MR | Задача | Итераций | Приёмка | Мутации | Ревью | Токены | Время |
|---|
Реальный расход платформы
Данные из журнала вызовов моделей: фазы, модели, упавшие вызовы. Без пользователей и текстов запросов.
| Фаза | Вызовов | Сбоев | Токены |
|---|
| Модель | Вызовов | Сбоев | Токены |
|---|
Что требуется — что уже есть, чего не хватает
Список составлен по тексту вакансии на bos.pro. Что пока не закрыто — названо прямо в roadmap.
| Требование | Статус | Что в проекте |
|---|---|---|
| Runner как модульная платформа, роли | есть | Runner + RBAC + реестр агентов |
| Соревнование сменяемых harness | есть | Runner vs Kilo CLI vs opencode, ADR-002 |
| Роутер моделей под юзкейсы | есть | Политики, fallback, автомат-предохранитель по лимитам провайдеров, подключение любого OpenAI-совместимого API, ADR-001 |
| Eval агентских движков и моделей | есть | Gate + baseline + compete-отчёты |
| Надёжность: телеметрия, snapshot, ошибки провайдеров | есть | Backoff, fallback, алерты деградации |
| Фабрика от issue до прода | есть | Issue → спека → план модулей → приёмочные тесты другой модели до реализации → код и тесты каждого модуля → независимая проверка (приёмка, мутации, ревью второй моделью) → интеграционный прогон → MR с evidence. Merge в прод — за человеком |
| Postgres / Supabase / edge-функции | есть | pgvector, миграции с RLS, память и Usage в Postgres; Deno-функция и supabase-js проверены вживую на PostgREST (облачный проект — следующий шаг) |
| goal + loop + dynamic workflows | есть | goal-loop: критерий, лимиты и бюджет; стратегия меняется по ходу (bugfix-loop, эскалация модели) |
Написать мне
Вопросы по платформе, идеи и вакансии — пишите в Telegram.