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.
HumanLayer — open-source (Apache 2.0) платформа, которая запускает кодинг-агентов на машинах разработчиков и даёт команде управлять ими из одного места. Агенты — Claude Code, Codex (CodeLayer) и Fold; сессии, начатые в терминале, зеркалятся из OpenCode, Pi и Claude Code. Человек работает в веб-приложении или десктопе (Electron/Tauri), на каждом хосте стоит демон, который запускает агента, держит worktree и шлёт события в API. Задачи, сессии, планы и артефакты, согласования, диффы, коммиты и PR живут в PostgreSQL; Electric SQL раздаёт их клиентам, durable streams — живой поток. У HumanLayer есть организации, роли, приглашения, биллинг и метрики использования.
Это не конкурент Council по знаниям и графу. HumanLayer ближе к рабочему пространству Council: оба ведут задачу от тикета до PR и держат человека в контуре. Разница в том, где живёт агент и что система знает о коде: Council изолирует задачу в контейнере на VM и сам понимает код; HumanLayer запускает агента на машине разработчика и даёт команде общий пульт управления.
| AI Council | HumanLayer | |
|---|---|---|
| Кто читает код | Council сам: разбирает репозитории и строит граф. Модель при анализе не вызывается | Сам агент: платформа не анализирует код, она запускает Claude Code, CodeLayer (Codex) или Fold и показывает их сессии |
| Когда | При создании проекта, при push в main (опрос), по кнопке, ночью; после правки файла агентом пересчитываются файл и зависимые | В момент хода агента; между сессиями платформа хранит диффы, коммиты, PR и артефакты, но не структуру кода |
| Что извлекает | Слои L0–L10: стек, структура, зависимости и циклы, метрики и вызовы, данные (ORM, DDL), архитектура и запрещённые зависимости, паттерны, стиль, DDD, связь файлов по правкам, смеллы, качество ISO 25010, диаграммы | Ничего из этого. Только git diff рабочего дерева, коммиты, PR-метаданные и файлы задачи; графа, слоёв, метрик и смеллов нет |
| Языки | Python, PHP, TypeScript, JavaScript, Java, Kotlin, C#, C, C++ — с полным разбором слоёв | Любой, который умеет читать агент. Своего разбора нет; диффы разбирает git, а не язык |
| Несколько репозиториев | Проект из нескольких репозиториев с общим графом | Проект и workspace описывают несколько репозиториев (repos[]), на задачу создаётся worktree в каждом; общего графа между репозиториями нет |
| Внешние анализаторы | SonarQube: забирает найденное; свой сканер (текстовые языки, JVM, .NET, .NET Framework на Windows) | — |
| История | Рёбра версионируются после каждого прогона; architecture_as_of — архитектура на дату | История сессий, версии артефактов, журнал коммитов и PR; истории архитектуры нет |
| Поиск | Поиск по смыслу и regex, find_usages, find_path, граф зависимостей, похожие реализации; ask_question — выдержки из базы без пересказа моделью | Своего поиска по коду нет: агент ищет своими инструментами (grep/read). Есть doc-researcher для библиотек (Context7 + Exa) и контекст из разговоров |
| AI Council | HumanLayer | |
|---|---|---|
| База знаний | Решения, заметки, диаграммы Mermaid, журналы изменений. Каждая запись привязана к коду и приходит агенту, когда он трогает нужный файл | Отдельной базы знаний по коду нет. Есть context shards — «осколки» из разговоров с evidence до 5 цитат, которые организация может открыть всем и которые демон подмешивает в промпт; артефакты задачи — research, PRD, TDD, план, outline в .humanlayer/tasks/<slug>/, с версиями, комментариями и шарингом; skills RPI и HumanLayer; история сессий |
| Актуальность | Запись держит место в коде на своей ветке и уходит на перепроверку, когда меняется код под ней, сама запись, появляется похожая или ветку сливают. Ревьюер обязан привести цитату; итог — пометка | Не перепроверяется. Артефакты версионируются, у context shards есть evidence, но связи с кодом и проверки «не устарело ли» нет |
| Ветки | Знания и граф хранятся по веткам; агент видит свою ветку, родителя и слитое; при слиянии запись переезжает | Worktree на задачу и репозиторий, сессия привязана к ветке; context shards — на организацию, артефакты — на задачу. Знаний по веткам нет |
| Правила | Конвенции трёх областей: к сущностям кода, к путям (действуют и на ещё не созданный файл), ко всему проекту. MUST/SHOULD, состояния «черновик», «отставлено», «удалено». Проверка перед правкой и по диффу | CLAUDE.md/AGENTS.md как текст, skills RPI, конфиг workspace, типы workflow. Движка правил с привязкой к коду и путям, проверки перед правкой и по диффу нет |
| Как доходит до агента | Хуки Claude Code: правила проекта к каждому сообщению, широкий канал перед действием, контекст файла на Read/Edit/Bash, чек-лист в конце; гейт «сначала база» | Плагины и хуки агентов: плагин Claude Code, плагин OpenCode, расширение Pi. Они зеркалят сессию, дают вебу отвечать/останавливать/одобрять, подмешивают context shards в промпт и ставят skills. Доставки правил по файлу нет |
| MCP | Сервер: около 60 инструментов, профили, режимы, XML с бюджетом | MCP-сервер внутри плагина Claude Code (stdio + Unix socket) для зеркалирования и управления; агент-нейтральные инструменты для комментариев к артефактам и диффам, library_researcher. Это клиент/платформа, а не сервер знаний |
| Перенос | Экспорт и импорт знаний пакетом, копирование между проектами | Артефакты синхронизируются между машинами, публичные ссылки на артефакты, файлы задачи; переноса знаний как пакета нет |
| AI Council | HumanLayer | |
|---|---|---|
| Требования | Трассировка тестов к требованиям по меткам: покрытие и разрывы; «без теста» — тристейт, а не requirements-менеджмент | PRD/TDD и артефакты фаз: research questions, research, design, outline, plan. Связи «тест → требование» нет; есть процесс и чекпоинты |
| Тикеты | Jira, GitHub Issues, Redmine: чтение, разбор в знания, совет по тикету из графа | GitHub Issues (импорт), Linear, Jira: задача создаётся из тикета, статус двигается автоматически по фазам RPI; Slack-уведомления. Шире и глубже, чем у Council |
| Работа на своей машине | Агент — Claude Code разработчика; Council подаёт контекст и правила через MCP и хуки; ревью локального диффа, разбор диффа, проверка диффа на правила | Это основной режим: демон на машине разработчика запускает агента, веб/десктоп управляют; терминальные сессии Claude Code, OpenCode, Pi зеркалятся. Поддерживаются Claude Code, CodeLayer (Codex), Fold |
| Рабочее пространство | Задачи на VM в sysbox-контейнере, живут днями; человек ведёт из чата; наставник; дифф → коммит → push → MR | Задачи и сессии на хосте пользователя, worktree на задачу и репозиторий, setup-команды, approvals, очередь сообщений, multiplayer, артефакты, панель PR. Изоляции на отдельной VM нет — агент работает с правами пользователя |
| Процесс | Машина состояний задачи: создана → анализ → в работе → MR → закрыта; содержимое шага задаёт человек | RPI: research → design → plan → implement с чекпоинтами; типы rpi, outline_only, prd_tdd, oneshot, freeform; auto-advance между фазами; PRD/TDD как отдельные артефакты |
| PR | Ревью с публикацией в MR (GitHub, GitLab, Bitbucket) | Панель PR через GitHub App: checks, threads, merge state, merge/close/reopen/ready/auto-merge/update branch; PR-status stream; атрибуция коммитов и PR. ИИ-ревью нет |
| AI Council | HumanLayer | |
|---|---|---|
| Code review | Отдельный сервис: смотрит изменившееся, вердикт по каждому файлу, второй проход, публикация в MR без дублей | ИИ-ревью кода нет. Есть человеческое ревью: комментарии к артефактам с якорем, комментарии к диффу, панель PR с checks и threads |
| Чекпоинты | — (нет приёмки по спецификации) | PRD, TDD и outline требуют одобрения человеком; feedback на outline меняет outline, а не запускает реализацию; auto-advance может пропустить паузу, но не меняет артефакт |
| Модели | Модель обязательна: на хосте два процесса через OAuth вендора: AI-чат и шесть фоновых задач (ревью, ревью знаний, разбор тикетов и др.). Без модели остаётся только статический анализ кода. | Агенты используют credentials на хосте: вход в Claude/Codex/xAI через provider login. Платформенные ИИ-агенты (заголовок, summary, next-step, context shards, task intent, doc researcher) — через reliable model (primary/secondary); каталог моделей, usage и стоимость на сессию |
| Агенты | Claude Code (хуки, MCP); MCP доступен любому клиенту | Claude Code, CodeLayer (Codex), Fold; зеркалятся OpenCode, Pi, Claude Code. Несколько агентов на одном хосте |
| Стоимость и учёт | Телеметрия каждого вызова MCP и хука; повторный поиск агента — признак плохого первого ответа | session_usage_events по моделям, стоимость сессии, метрики costPerKlocByModel, modelSpendTrend, usageByModel; Stripe-биллинг и места |
| AI Council | HumanLayer | |
|---|---|---|
| Пользователи | Компании → участники → роли (можно на проект) → права. API-ключи компании. Данные разделены: запрос без компании отвергается. Лицензия и лимиты мест | Организации → команды → проекты → workspace → задачи → сессии. WorkOS (JWT), роли/admin, ACL задач и сессий, multiplayer prompting, публичные ссылки на артефакты, Stripe (планы, места, триал) |
| Интерфейс | Около 50 страниц: код, граф, ветки, качество, правила, ревью, знания, тикеты, задачи, MCP Live, администрирование, System Health | Веб-приложение React 19 (47 маршрутов: board, sessions, tasks, artifacts, PRs, context shards, settings, billing, hosts), десктоп Electron и Tauri, мобильный веб, CLI humanlayer, плагины зеркалирования, отдельное admin-приложение |
| Мониторинг | Телеметрия каждого вызова MCP и хука без PII; около 22 правил Prometheus с тестами; System Health, трассировка | Sentry, PostHog, структурированные логи, heartbeat и статистика хостов, health tracker синхронизации, страницы метрик (активность, коммиты, PR, стоимость). Инфраструктурного стека Prometheus/System Health нет |
| Самовосстановление | Сверка Temporal с базой, уборка осиротевших данных, удаление проекта пачками, ночной бэкап и проверка восстановления, ретенция телеметрии | stale-daemon-sweeper (lost-сессии, offline/lost хосты, эфемерные хосты), ретенция снапшотов CodeLayer 90 дней, self-update демона, один авто-рестарт демона, repair статуса сессии, идемпотентные события, повторная гидратация стримов. Бэкапа и проверки восстановления в базе не описано |
| Хранилище | Neo4j, Qdrant, PostgreSQL по сервисам, Temporal, NATS, Redis | PostgreSQL 18 — источник истины (58 таблиц), Electric SQL 1.7 — read-модель, durable streams (Rust) — живой поток, Redis — кэш биллинга, S3/MinIO — артефакты, Yjs — совместное редактирование |
| Изоляция | Sysbox-контейнер на задачу, одноразовые учётные данные для push, ревьюер знаний только на чтение, проверка прав в одном шлюзе, защита от SSRF | Агент работает на хосте с файловыми и сетевыми правами пользователя; песочницы нет, approvals — UX-помощник. WorkOS/daemon RS256/launch token, ACL задач и сессий, проверка host ownership, публичные share-key. Демон даёт агенту права пользователя — рекомендуются ограниченные аккаунты |
| Поставка | Дистрибутив для self-hosted установки или SaaS; на машине разработчика — MCP и хуки | Открытый монорепозиторий Apache 2.0; для разработки — devstack (Postgres, Electric, MinIO, durable streams, Redis) в Docker; десктопные сборки, CLI; продукт — облачный SaaS (WorkOS, Stripe, AWS Lambda). Развёртывание в закрытом контуре в базе не описано |
| Лицензия | Закрытая | Apache 2.0 |
HumanLayer — не конкурент Council по знаниям и графу. Это пульт управления кодинг-агентами для команды: задачи, сессии, workspace, согласования, артефакты, PR, организации и биллинг. Он ближе к рабочему пространству Council, чем к его анализу кода, но решает другую задачу: Council изолирует задачу на VM и сам понимает код, HumanLayer запускает агента на машине разработчика и делает работу команды видимой и управляемой.
Где сильнее HumanLayer:
Где сильнее Council:
Могут ли работать вместе. Да, и это разные слои. HumanLayer запускает агента и управляет им; Council даёт граф, знания, правила и ревью. Агент под управлением HumanLayer (Claude Code или OpenCode) может ходить в MCP Council за контекстом. Но автоматической интеграции нет: плагины HumanLayer зеркалят сессию и управляют ею, а не доставляют правила Council по файлам; хуки Council написаны под Claude Code, и их пришлось бы связывать с плагином HumanLayer. Задачи и сессии двух систем тоже не общие: у Council своя машина состояний и VM, у HumanLayer — worktree на хосте.
На живом демо покажем работу платформы на реальном проекте, а не шаблонную презентацию.