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

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

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

Коротко

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.

skillmem — локальный слой процедурной памяти для кодирующих агентов (Claude Code, Codex CLI, Cursor, Windsurf, Gemini CLI, opencode). Он хранит не факты о пользователе, а процедуры: триггер, шаги, результат, уроки. Запись стоит $0: нет LLM-вызовов на write/read, данные лежат в SQLite, семантика — локальная ONNX-модель на 384 измерения. Петля продукта: learn → recall → reinforce → decay. Силу двигает только внешнее свидетельство (тест прошёл, diff принят, человек подтвердил); самооценка агента — нет. Ночное затухание уводит записи active → stale → archived. Есть модель доверия (origin, trusted_at, owner_seal, рамка UNTRUSTED), пять хуков Claude Code (авто-recall, tool-recall, session-recap, pending-rules), 9 MCP-инструментов, HTTP API с токенами, CLI, экспорт в Markdown и 16 инвариантов с property-тестами. Apache-2.0.

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

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

AI Council skillmem
Кто читает код Council сам: разбирает репозитории и строит граф. Модель при анализе не вызывается Никто: skillmem не анализирует код. Он хранит текстовые процедуры и заметки; код в них может быть цитатой, но индекса кода нет
Когда При создании проекта, при push в main (опрос), по кнопке, ночью; после правки файла агентом пересчитываются файл и зависимые В момент записи процедуры агентом (mem_learn) или recap-ом; никакого разбора кода
Что извлекает Слои L0–L10: стек, структура, зависимости и циклы, метрики и вызовы, данные (ORM, DDL), архитектура и запрещённые зависимости, паттерны, стиль, DDD, связь файлов по правкам, смеллы, качество ISO 25010, диаграммы Ничего о структуре кода: только trigger/steps/outcome/lessons, заметки, feedback и recap-выжимки сессий
Языки Python, PHP, TypeScript, JavaScript, Java, Kotlin, C#, C, C++ — с полным разбором слоёв Не применимо: память язык-агностична
Несколько репозиториев Проект из нескольких репозиториев с общим графом Поле project в записи; общего графа нет
История Рёбра версионируются после каждого прогона; architecture_as_of — архитектура на дату История записи — hash-chain в memory_history; истории кода нет
Поиск Поиск по смыслу и regex, find_usages, find_path, граф зависимостей, похожие реализации; ask_question — выдержки из базы без пересказа моделью Гибридный поиск по памяти: FTS5 BM25 + Snowball + локальные эмбеддинги, RRF k=60, дедупликация recap-записей ×0.5, бонус силы. По коду не ищет

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

AI Council skillmem
База знаний Решения, заметки, диаграммы Mermaid, журналы изменений. Каждая запись привязана к коду и приходит агенту, когда он трогает нужный файл Процедурная память: skill (trigger/steps/outcome/lessons), feedback, user, note, reference, project, document, session-recap. Записи не привязаны к позициям в коде; есть project, topics, tags
Актуальность Запись держит место в коде на своей ветке и уходит на перепроверку, когда меняется код под ней, сама запись, появляется похожая или ветку сливают. Ревьюер обязан привести цитату; итог — пометка Устаревание — по бездействию: сила ×0.85 за порог, active → stale (>30 дней) → archived (>90 дней и сила на полу). Архив исключён из поиска, но восстановим. Проверки «соответствует ли код» нет
Ветки Знания и граф хранятся по веткам; агент видит свою ветку, родителя и слитое; при слиянии запись переезжает Поле project; знаний по веткам и слияния нет. Рабочая копия — один SQLite
Правила Конвенции трёх областей: к сущностям кода, к путям (действуют и на ещё не созданный файл), ко всему проекту. MUST/SHOULD, состояния «черновик», «отставлено», «удалено». Проверка перед правкой и по диффу Правила — это записи user/feedback; они не имеют уровней MUST/SHOULD, привязки к сущностям и путям и проверки диффа. Доверие к ним — trusted_at (явное одобрение владельца), owner_seal (не снимается) и рамка UNTRUSTED для неодобренного
Как доходит до агента Хуки Claude Code: правила проекта к каждому сообщению, широкий канал перед действием, контекст файла на Read/Edit/Bash, чек-лист в конце; гейт «сначала база» Пять хуков Claude Code: SessionStart (mcp-guard, inject, session-history), UserPromptSubmit (verify-gate, auto-recall), PreToolUse (tool-recall), Stop (session-recap, pending-rules), SessionEnd (session-recap). Recall бюджетный (1500/1000 символов), fail-open, tool-recall — только лексический (без модели)
MCP Сервер: около 60 инструментов, профили, режимы, XML с бюджетом Сервер: 9 инструментов — mem_search, mem_get, mem_list, mem_write, mem_update, mem_learn, mem_recall, mem_reinforce, mem_pin
Перенос Экспорт и импорт знаний пакетом, копирование между проектами export-all в Markdown-дамп с манифестом, import-vault, migrate из auto-memory, packs из SKILL.md; round-trip проверяется инвариантом

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

AI Council skillmem
Требования Трассировка тестов к требованиям по меткам: покрытие и разрывы; «без теста» — тристейт, а не requirements-менеджмент —
Тикеты Jira, GitHub Issues, Redmine: чтение, разбор в знания, совет по тикету из графа —
Работа на своей машине Агент — Claude Code разработчика; Council подаёт контекст и правила через MCP и хуки; ревью локального диффа, разбор диффа, проверка диффа на правила Это основной режим: память для Claude Code, Codex CLI, Cursor, Windsurf, Gemini CLI, opencode через хуки и MCP
Рабочее пространство Задачи на VM в sysbox-контейнере, живут днями; человек ведёт из чата; наставник; дифф → коммит → push → MR Задач и рабочего пространства нет: только память
PR Ревью с публикацией в MR (GitHub, GitLab, Bitbucket) —
Процесс Машина состояний задачи: создана → анализ → в работе → MR → закрыта; содержимое шага задаёт человек Процесса задачи нет; есть петля learn → recall → reinforce → decay и ночное обслуживание

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

AI Council skillmem
Code review Отдельный сервис: смотрит изменившееся, вердикт по каждому файлу, второй проход, публикация в MR без дублей; ревью знаний отдельно ИИ-ревью кода нет. Ревью есть только у памяти: pending-rules показывает владельцу неодобренные правила, одобряю ставит trusted_at; recap-суммаризатор запускается без инструментов
Модели Модель обязательна: на хосте два процесса через OAuth вендора: AI-чат и шесть фоновых задач (ревью, ревью знаний, разбор тикетов и др.). Без модели остаётся только статический анализ кода. На write/read — ни одного LLM-вызова: локальная ONNX-модель 384d и BM25. Recap вызывает claude -p (Haiku по умолчанию) с обязательными --tools "" и --strict-mcp-config; если CLI не знает safety-флаг — recap не запускается
Агенты Claude Code (хуки, MCP); MCP доступен любому клиенту Хуки и MCP для Claude Code, Codex CLI, Cursor, Windsurf, Gemini CLI, opencode; CLI и HTTP API
Оценка Телеметрия каждого вызова MCP и хука; повторный поиск агента — признак плохого первого ответа LongMemEval: hit@5 0.871 (0.889 после 0.13), MRR 0.622, n=479; A/B по исходу: с recall 17–18/18, без — 6–7/18. Выборки малые, БД авторская — заявлено в базе
Гарантии Гейты тестов, ревью, конвенции 16 инвариантов (docs/INVARIANTS.md), property-тесты на Hypothesis, release gate требует, чтобы новый регрессионный тест падал на родителе

5. Платформа

AI Council skillmem
Пользователи Компании → участники → роли (можно на проект) → права. API-ключи компании. Данные разделены: запрос без компании отвергается. Лицензия и лимиты мест Один пользователь, локально. HTTP API умеет несколько токенов с visibility public/shared/private, но организаций, ролей и лицензии нет
Интерфейс Около 50 страниц: код, граф, ветки, качество, правила, ревью, знания, тикеты, задачи, MCP Live, администрирование, System Health CLI skillmem (~40 команд), MCP (9 инструментов), HTTP FastAPI, хуки, плагин Claude Code; отдельного UI нет
Мониторинг Телеметрия каждого вызова MCP и хука без PII; около 22 правил Prometheus с тестами; System Health, трассировка hooks-status (runs/skips/failed), doctor, логи хуков, бенчмарки; Prometheus и System Health нет
Самовосстановление Сверка Temporal с базой, уборка осиротевших данных, удаление проекта пачками, ночной бэкап и проверка восстановления, ретенция телеметрии Fail-open хуки с watchdog, атомарные записи, недельный export-all в vault, import-vault, ночное обслуживание (decay/sweep/бэкап), изоляция БД по db_id, JSONL-бэкап архива
Хранилище Neo4j, Qdrant, PostgreSQL по сервисам, Temporal, NATS, Redis Один SQLite (schema v12) + body-файлы, content-addressed + Markdown vault + локальная ONNX-модель
Изоляция Sysbox-контейнер на задачу, одноразовые учётные данные для push, ревьюер знаний только на чтение, проверка прав в одном шлюзе, защита от SSRF Локальная БД, scrub секретов на записи, рамка UNTRUSTED, owner-гейты по TTY, токены 0600, конфайнмент путей; песочницы нет — TTY назван защитой от случайности, не стеной
Поставка Дистрибутив для self-hosted установки или SaaS; на машине разработчика — MCP и хуки pip install 'skillmem[semantic]', install.sh/install.ps1, плагин Claude Code, MCP Registry, Docker; Apache-2.0
Лицензия Закрытая Apache-2.0

Вывод

skillmem — ближайший к Council по слою памяти и доставки, но не по пониманию кода. Он хранит процедуры и уроки, а Council — знания о решениях, привязанные к позициям в коде, и правила команды. Понятия истины у них разные: Council проверяет запись против кода цитатой ревьюера; skillmem проверяет происхождение текста и явное одобрение владельца. Оба подхода дополняют друг друга.

Где сильнее skillmem:

  • процедурная память с жизненным циклом: learn → recall → reinforce → decay → archive, пин и восстановление;
  • модель доверия: origin, trusted_at, owner_seal, рамка UNTRUSTED, owner-гейты по TTY; неодобренный текст не становится правилом;
  • автоматический recall на промпт и на инструмент, session-recap с суммаризатором без инструментов;
  • локальность и $0: SQLite, FTS5, ONNX, никаких API-ключей на write/read;
  • экспорт в Markdown, import-vault, packs, migrate с round-trip;
  • 16 инвариантов, property-тесты, release gate;
  • измеренная эффективность: LongMemEval hit@5 0.871/0.889 и A/B по исходу;
  • Apache-2.0.

Где сильнее Council:

  • понимает код, а не только процедуры. Граф L0–L10: стек, структура, зависимости и циклы, вызовы, данные, архитектура и запрещённые зависимости, паттерны, стиль, DDD, co-change, смеллы, ISO 25010, диаграммы; статический анализ модель не вызывает. skillmem хранит «как делать», но не строит граф кода.
  • знания привязаны к позиции в коде и к ветке. Запись живёт на ветке, приходит агенту при касании файла, уходит на перепроверку при изменении кода под ней; ревьюер обязан привести цитату. У skillmem есть origin/trust/owner seal, но проверка идёт против одобрения владельца, а не против кода.
  • конвенции — авторитетные правила с проверкой. Три области (сущности, пути, проект), MUST/SHOULD, состояния, проверка перед правкой и по диффу; хуки доставляют правила к каждому сообщению и контекст файла на Read/Edit/Bash; гейт «сначала база» блокирует чтение кода до обращения к базе. skillmem доставляет процедуры и feedback, но не правила кода с областью действия.
  • ревью кода и знаний — сервис. Вердикт по каждому файлу, второй проход, публикация в MR без дублей; отдельное ревью знаний с цитатой и калибровкой. skillmem не ревьюит код.
  • задачи на VM, тикеты, MR, команда. Задача в sysbox-контейнере живёт дни, человек ведёт из UI; тикеты, трассировка требований, компании/роли/лицензия. skillmem — локальная память, этого слоя у него нет.
  • общий граф на несколько репозиториев, история архитектуры, SonarQube. architecture_as_of, версионирование рёбер, внешний анализатор; ask_question отдаёт выдержки с FQN. skillmem работает с текстом, не с архитектурой.
  • наблюдаемость и самовосстановление. Телеметрия каждого вызова MCP и хука без PII, около 22 правил Prometheus, System Health, трассировка; сверка Temporal с базой, уборка осиротевших данных, бэкап с проверкой восстановления. У skillmem есть инварианты и release gate, но не per-call наблюдаемость платформы.

Могут ли работать вместе. Да, и это разные слои. skillmem хранит «как делать» — процедуры, уроки, подтверждённые правила; Council хранит «почему так» — решения, привязанные к коду, и конвенции команды. Оба работают через хуки Claude Code и MCP, поэтому могут жить в одной сессии. Пересечение — доставка на промпт/инструмент: skillmem подмешивает процедуры и feedback, Council — правила и знания по файлу. Автоматической интеграции нет, но их легко подключить к одному агенту.

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

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