Главная / Сравнение / Ouroboros

AI Council и Q00/ouroboros: что умеет каждый

Сравнение возможностей по коду и документации обоих проектов.

Коротко

AI Council — self-hosted платформа для команды разработчиков. Она сама разбирает репозитории в граф кода: стек, структуру, зависимости и циклы, вызовы, данные, архитектуру, DDD, паттерны, стиль, смеллы и качество по ISO 25010. Над графом лежит база знаний проекта — решения, заметки, диаграммы и журналы изменений; каждая запись привязана к месту в коде и к ветке и приходит агенту, когда он трогает нужный файл. Отдельно живут конвенции: правила трёх областей — к сущностям кода, к путям и ко всему проекту — с уровнями MUST/SHOULD, состояниями и проверкой перед правкой и по диффу. Вокруг этого собраны ревью с публикацией в MR, тикеты, задачи и компании с ролями и лицензией. Статический анализ кода модель не использует, но без модели остаётся только он: ревью, ревью знаний, AI-чат и рабочие пространства идут через хостовый воркер, бридж и вендорский CLI/OAuth. Модель живёт на хосте, а не в стеке Council.

Работать с Council можно двумя способами. На машине разработчика Claude Code подключается к нему через MCP и хуки: правила проекта приходят к каждому сообщению, контекст файла — на Read/Edit/Bash, а в конце — чек-лист. В рабочем пространстве задача идёт на VM в изолированном sysbox-контейнере, живёт днями и ведётся человеком из веб-интерфейса: от анализа и диффа до коммита, push и MR.

ouroboros — локальная надстройка над агентом, который уже стоит у разработчика (Claude Code, Codex и др.). Ведёт цепочку «интервью → спецификация → выполнение с проверкой → оценка → эволюция». Своей модели нет. Python, около 351 тыс. строк, один пользователь, один файл SQLite.

1. Понимание кода

AI Council Q00/ouroboros
Кто читает код Council сам: разбирает репозитории и строит граф. Модель при анализе не вызывается Сам не читает. Код читает хост-агент, находки приходят в интервью ответами [from-code]
Когда При создании проекта, при push в main (опрос), по кнопке, ночью. После каждой правки файла агентом (Write/Edit) пересчитываются файл и зависимые от него — (только распознаёт существующий проект по git или конфигу)
Что извлекает Слои L0–L10: стек и гайды по фреймворкам; структура; зависимости и циклы; метрики и граф вызовов; слой данных (ORM, DDL); стиль архитектуры и запрещённые зависимости; паттерны проектирования; стиль кода; DDD (bounded contexts через кластеризацию Leiden, агрегаты, события); связь файлов по совместным правкам в git; смеллы; качество по ISO 25010 и fitness-функции; диаграммы (C4, зависимости, слои) —
Языки Python, PHP, TypeScript, JavaScript, Java, Kotlin, C#, C, C++ Любой, на котором пишет хост-агент
Несколько репозиториев Да, общий граф на проект Один каталог
Внешние анализаторы SonarQube: забирает найденное. Свой сканер: текстовые языки, JVM со сборкой, .NET, .NET Framework на Windows-воркере —
История архитектуры Рёбра версионируются после каждого прогона; architecture_as_of показывает архитектуру на дату Только история своих прогонов
Поиск По смыслу; regex (grep_code); find_usages, find_path, граф зависимостей, похожие реализации. ask_question отвечает выдержками из базы, а не пересказом модели Своего нет

2. Знания и правила

AI Council Q00/ouroboros
База знаний Решения, заметки, диаграммы Mermaid (синтаксис проверяется при записи), журналы изменений. Каждая запись привязана к коду и приходит агенту, когда он трогает нужный файл Нет; журнал своих прогонов
Актуальность Запись держит место в коде на своей ветке. Она уходит на перепроверку, если: изменился код под ней (по отпечатку AST); изменилась сама запись; появилась похожая; ветку слили. Ревьюер-модель (токен только на чтение) обязан привести дословную цитату из исходника. Итог — пометка «устарела», «расходится с кодом», «оспорена» или «заменена»; текст записи не трогается. Точность ревьюера замеряется на известных ответах. Включение, модели и дневной бюджет — в настройках проекта —
Ветки Знания и граф хранятся по веткам. Агент видит свою ветку, родителя и слитое в них. При слиянии запись переезжает. Граф ветки считается отдельным слоем рядом с основным Отдельный worktree на задачу
Откуда знания Пишут агенты и люди. Тикеты из трекера автоматически разбираются в записи-историю (так в базу ouroboros попали сотни записей из его 882 тикетов). Черновики из истории MR. Документы из Google Drive Спецификации и итоги своих прогонов
Правила Конвенции трёх видов: к сущностям кода; к путям (действуют и на ещё не созданный файл); ко всему проекту. Уровни MUST/SHOULD, состояния «черновик», «отставлено», «удалено», набор по умолчанию. Проверка перед правкой и по диффу Нет
Как доходит до агента Хуки Claude Code. К каждому сообщению пользователя по очереди подмешиваются правила проекта. Перед действием — широкий канал (около 200 тыс. символов). На каждый Read/Edit/Bash — контекст файла. В конце хода — чек-лист. Гейт «сначала база»: агент не открывает код, пока не спросил базу; снять гейт может только человек. Напоминание «об этом уже есть запись». Правило доставляется целиком или не доставляется Ставит в агента свои skills и инструкции (как пользоваться самим ouroboros)
MCP Около 60 инструментов; профили (minimal / dev / review / ops); режимы на сессию; незнакомый аргумент отвергается; ответы в XML с ограничением размера Около 40 инструментов ouroboros_*; долгие операции — фоновыми заданиями
Перенос знаний Экспорт и импорт пакетом, копирование между проектами —

3. Требования и задачи

AI Council Q00/ouroboros
Требования Трассировка тестов к требованиям по меткам: покрытие и разрывы; «без теста» — тристейт, а не requirements-менеджмент Ядро продукта: интервью до неоднозначности ≤ 0.20 → неизменяемая спецификация со скрытыми проверками. Интервью менеджера продукта с выдачей PRD
Тикеты Jira (Cloud/DC), GitHub Issues, Redmine: чтение, разбор в знания, recommend_for_ticket (совет по графу без модели), find_tickets_for Только выгрузка спецификации в GitHub issues (ooo publish)
Работа на своей машине Агент — Claude Code разработчика. Council подаёт контекст и правила через хуки и MCP, пересчитывает граф после правок. Есть ревью локального диффа (review_local_changes), разбор диффа (brief_me_on_diff), проверка диффа на правила (check_diff_conventions) Работает внутри хост-агента разработчика
Задачи в рабочем пространстве Этапы «создана → анализ → в работе → MR → закрыта», задача может жить днями. Агент на VM: отдельный sysbox-контейнер и свой домашний каталог на задачу, окружение стенда (рецепт развёртывания, секреты), превью приложения. В чате интерфейса человек может вмешаться в идущий ход, ответить на вопрос агента, разрешить инструмент, остановить. Длина хода не ограничена: ход кончается, когда агент замолчал. История пишется по ходу; если сессия агента умерла — сводка для продолжения. Агент-наставник читает вывод и направляет Автономно: критерии по уровням → параллельно фоновым агентам. Повторы, дробление, переход на другого агента, пауза при исчерпании квоты, worktree, коммит на каждый принятый критерий
Что уходит наружу Дифф; сообщение коммита по конвенции; коммит; push с одноразовыми учётными данными, проверкой защиты ветки и роста критических смеллов; MR в GitHub / GitLab / Bitbucket; закрытие задачи при слиянии; отчёт по качеству изменений задачи Локальные коммиты; issues через gh

4. Проверка и модели

AI Council Q00/ouroboros
Приёмка по спецификации Нет. Есть ревью, отчёт по изменениям задачи и запрет push при росте критических смеллов Самая сильная часть: семь слоёв проверки. Заявления агента сверяются с журналом его вызовов; скрытая verify_command после каждой попытки; отложенные проверки (held-out), собранные до старта агента и прогнанные на исходном коде; песочница (Landlock/seccomp, без сети). Модель может только запретить приёмку
Формальная оценка — Три стадии: автоматические проверки (mechanical.toml) → оценка по смыслу → консенсус. Одобряет только выполненная первая стадия. Консенсус по умолчанию — вручную или при отклонении/неуверенности > 0.3; голосующие видят только текст артефакта
Code review Отдельный сервис. Смотрит только изменившееся в ветке, группы файлов раздаются волнами. Находка — суждение и ноль или больше мест; модель цитирует код, строка выводится из цитаты. Вердикт обязателен по каждому файлу («не смог» ≠ «чисто»). Второй проход снимает находку, только если доказано, что она неверна. Публикация в MR: комментарии на добавленные строки и общая заметка без дублей. MR обходятся автоматически, включая MR из форков. При смене правил прошлые результаты недействительны Отдельного нет
Самоулучшение Знания перепроверяются при изменении кода; граф сам исправляет расхождения Цикл эволюции (поиск проблем → разбор → новая спецификация → выполнение → оценка) до сходимости, застоя или лимита. StagnationDetector написан, но не вызывается
Модели Модель обязательна: на хосте два процесса работают через OAuth вендора: операторский AI-чат (Claude, Codex, Gemini) и шесть фоновых задач (ревью группы файлов, второй проход ревью, ревью знаний, разбор тикетов, загрузка документов, имя ветки). Ответ модели проверяется на отказ до использования Модель — у агента-исполнителя. Три уровня цены (1/10/30) с эскалацией — принудительно только на Claude SDK, claude_mcp и Codex, на остальных лишь рекомендация. Доказательство экономии всегда «мало данных»; турнир нескольких реализаций — мёртвый код
Агенты Claude Code (хуки, MCP); MCP доступен любому клиенту Около 13 исполнителей: Claude Code, Codex, OpenCode, Copilot, Gemini, Hermes, Kiro, GJC, Goose, Pi, OMP, Zcode, Antigravity, Grok

5. Платформа

AI Council Q00/ouroboros
Пользователи Компании → участники → роли (можно на один проект) → права. API-ключи компании. Данные разделены по компаниям: запрос без компании отвергается. Лицензия на установку и лимиты мест Один человек
Интерфейс Около 50 страниц: дашборд, код, граф, ветки, качество, соблюдение правил, ревью, конвенции, знания, ревью знаний, тикеты, задачи с чатом и диффом, операторский AI-чат, MCP Live, администрирование, System Health Два терминальных интерфейса, веб-канбан только для чтения (без входа по паролю, только с той же машины), веб-страница настроек
Мониторинг Телеметрия каждого вызова MCP и события хука без персональных данных; повторный поиск агента — признак плохого первого ответа. Около 22 правил Prometheus с тестами; у каждого сигнала есть правило «за ним никто не следит». Экран System Health, трассировка Журнал событий; анонимные события уходят в PostHog разработчиков (отключаемо)
Самовосстановление Сверка Temporal с базой, уборка осиротевших данных перед анализом, удаление проекта пачками в фоне, ночной бэкап и еженедельная проверка восстановления, удаление старой телеметрии, проверка места на диске перед выкаткой Восстановление прогонов из журнала, уборка осиротевших прогонов при старте
Хранилище Neo4j, Qdrant, PostgreSQL по сервисам, Temporal, NATS, Redis Один файл SQLite (только добавление событий)
Изоляция На своей машине агент работает так, как его настроил разработчик. В рабочем пространстве — sysbox-контейнер на задачу, одноразовые учётные данные для push, exec по белому списку. Ревьюер знаний только на чтение, проверка прав в одном шлюзе, защита от SSRF, учётные данные зашифрованы Исполнитель с полными правами хоста; песочница только для команд проверки
Поставка Дистрибутив для self-hosted установки или SaaS; на машине разработчика — MCP и хуки pip / uv / brew
Лицензия Закрытая MIT

Вывод

Council заметно шире:

  • понимает код: граф L0–L10 — стек, структура, зависимости и циклы, вызовы, данные, архитектура и запрещённые зависимости, паттерны, стиль, DDD, co-change, смеллы, ISO 25010, диаграммы; статический анализ модель не вызывает.
  • держит знания и правила: записи привязаны к позиции в коде и к ветке, приходят агенту при касании файла и уходят на перепроверку при изменении кода; конвенции трёх областей (сущности, пути, проект) с MUST/SHOULD, проверкой до правки и по диффу; гейт «сначала база» блокирует чтение кода до обращения к базе.
  • ревью кода и знаний: вердикт по каждому файлу, второй проход, публикация в MR без дублей; отдельное ревью знаний с цитатой и калибровкой.
  • рабочее пространство: задача на VM в sysbox-контейнере живёт дни, человек ведёт из UI; анализ → дифф → коммит → push → MR; одноразовые креды, RBAC, SSRF.
  • команда: компании → участники → роли (в т.ч. на проект) → права; тикеты Jira/GitHub/Redmine, трассировка тестов к требованиям; лицензия и места; self-hosted/офлайн или SaaS.
  • платформа: общий граф на несколько репозиториев, architecture_as_of, SonarQube; телеметрия каждого вызова MCP и хука без PII, около 22 правил Prometheus, System Health, трассировка; сверка Temporal с базой, уборка осиротевших данных, бэкап с проверкой восстановления.

ouroboros уже, но глубже в одном: автономно довести задачу от спецификации до приёмки, которую агент не может подделать. Это другая ось, и она реальна: у Council нет интервью со спецификацией и скрытых проверок приёмки.

Оба живут внутри агента разработчика через MCP и потому стыкуются. ouroboros сознательно отдаёт понимание кода хост-агенту — ровно это место занимает Council. В одной сессии Claude Code ouroboros может вести процесс (интервью, спецификация, приёмка), а Council — подавать код, правила и знания.

Итог: ouroboros сильнее в автономном доведении задачи и неподделываемой приёмке; Council — в понимании кода, знаниях, правилах, ревью и командной работе. Ни одна из осей не отменяет другую.

Сравните на своём проекте

На живом демо покажем работу платформы на реальном проекте, а не шаблонную презентацию.