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

AI Council и Graphify-Labs/graphify: что умеет каждый

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

Коротко

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.

graphify — локальная CLI-утилита на Python (пакет на PyPI — graphifyy). Строит граф знаний по папке проекта. В граф идёт код (около 50 языков и форматов), а с помощью модели — ещё документы, PDF, картинки, видео и аудио. Граф отдаётся агенту через MCP-сервер, skill и правила для ~16 агентов и хуки Claude Code. Хранится в файлах graphify-out/ у разработчика. Пользователь один.

Это ближайший к Council по классу проект: оба строят граф проекта и подают его агенту через MCP и хуки. Разница — в глубине анализа и в том, что построено вокруг графа.

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

AI Council graphify
Кто строит граф Сервер Council, по проекту CLI на машине разработчика (graphify extract, update); результат — файлы в graphify-out/
Когда обновляется При создании проекта, при push в main (опрос), по кнопке, ночью. После каждой правки файла агентом (Write/Edit) пересчитываются файл и зависимые от него Git-хуки post-commit, post-checkout, post-merge, post-rewrite пересобирают граф в фоне; режим watch; update. Есть git merge-драйвер для файла графа
Языки Python, PHP, TypeScript, JavaScript, Java, Kotlin, C#, C, C++ — с полным разбором слоёв Около 50 языков и форматов: свои экстракторы плюс общий запасной движок. В том числе COBOL, Fortran, Pascal, Verilog, Solidity, Terraform, SQL, PowerShell. Можно подать SCIP-индексы как точный источник символов
Кроме кода Документы из Google Drive — в базу знаний Модель извлекает узлы и связи из Markdown, HTML, текста, PDF, картинок (vision), docx/xlsx. Транскрибирует аудио и видео. Читает схему Postgres, Cargo, манифесты зависимостей, Google Workspace, принимает данные из MCP
Что извлекает Слои L0–L10: стек и гайды по фреймворкам; структура; зависимости и циклы; метрики и граф вызовов; слой данных (ORM, DDL); стиль архитектуры и запрещённые зависимости; паттерны проектирования; стиль кода; DDD (bounded contexts через Leiden, агрегаты, события); связь файлов по совместным правкам в git; смеллы; качество по ISO 25010 и fitness-функции; диаграммы Сущности и связи (импорты, вызовы, определения, наследование), гиперрёбра; сообщества (кластеризация, подписи сообществ моделью); «god nodes»; метрики. Слоёв архитектуры, DDD, смеллов и оценки качества нет
Дубли сущностей — Слияние дублей: MinHash, при необходимости — модель
Несколько репозиториев Проект из нескольких репозиториев с общим графом Глобальный граф: графы проектов сливаются, считаются вызовы между репозиториями
Внешние анализаторы SonarQube: забирает найденное; свой сканер (текстовые языки, JVM, .NET, .NET Framework на Windows) —
История Рёбра версионируются после каждого прогона; architecture_as_of — архитектура на дату Граф — текущее состояние; affected — что затронуто изменением
Запросы к графу Поиск по смыслу и regex, find_usages, find_path, граф зависимостей, похожие реализации; ask_question — выдержки из базы без пересказа моделью query: стартовые узлы по словам вопроса → обход BFS/DFS → подграф текстом в пределах бюджета токенов (без модели). Плюс path, explain, god-nodes, affected

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

AI Council graphify
База знаний Решения, заметки, диаграммы Mermaid, журналы изменений. Каждая запись привязана к коду и приходит агенту, когда он трогает нужный файл Отдельной базы нет: граф и «рабочая память». save-result сохраняет вопросы и ответы с оценкой исхода (полезно / тупик / исправлено); reflect сводит их в LESSONS.md, который агент читает в начале следующей сессии
Актуальность Запись держит место в коде на своей ветке и уходит на перепроверку, когда меняется код под ней, сама запись, появляется похожая или ветку сливают. Ревьюер-модель (только чтение) обязан привести дословную цитату; итог — пометка, текст не трогается Граф пересобирается из кода; память по коду не перепроверяется
Ветки Знания и граф хранятся по веткам; агент видит свою ветку, родителя и слитое; при слиянии запись переезжает При смене ветки граф пересобирается хуком; граф один — на текущее состояние
Правила Конвенции трёх видов: к сущностям кода, к путям (действуют и на ещё не созданный файл), ко всему проекту. Уровни MUST/SHOULD. Проверка перед правкой и по диффу Нет. Ставит в агента свои правила «как пользоваться графом» (CLAUDE.md / AGENTS.md / GEMINI.md)
Как доходит до агента Хуки Claude Code: правила проекта к каждому сообщению пользователя; широкий канал перед действием; контекст файла на каждый Read/Edit/Bash; чек-лист в конце хода. Гейт «сначала база»: код не открыть, пока не спросил базу; снять гейт может только человек Skill и постоянные правила для ~16 агентов: Claude Code, Codex, Cursor, Copilot, Gemini, OpenCode, Kiro, Aider, Amp, Kilo, Trae, Droid, Hermes, Antigravity, Pi, Kimi. Хуки Claude Code на поиск (Grep, grep в Bash) и Read подсказывают «спроси graphify query». В строгом режиме Read файла запрещается, и агенту отдаётся сводка файла из графа (функции со строками) и совет graphify explain. Для Gemini — хук BeforeTool
MCP Около 60 инструментов; профили; режимы на сессию; ответы в XML с ограничением размера 10 инструментов: query_graph, get_node, get_neighbors, get_community, god_nodes, graph_stats, shortest_path, list_prs, get_pr_impact, triage_prs; stdio и streamable HTTP
Перенос Экспорт и импорт знаний пакетом, копирование между проектами Файлы графа; merge-graphs; экспорт

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

AI Council graphify
Требования Трассировка тестов к требованиям по меткам: покрытие и разрывы; «без теста» — тристейт, а не requirements-менеджмент —
Тикеты Jira, GitHub Issues, Redmine: чтение, разбор в знания, совет по тикету из графа —
Работа на своей машине Агент — Claude Code разработчика; Council подаёт контекст и правила; ревью локального диффа, разбор диффа, проверка диффа на правила Единственный режим
Рабочее пространство Задачи на VM в sysbox-контейнере, живут днями; человек ведёт агента из чата интерфейса; наставник; дифф → коммит → push → MR —
PR Ревью с публикацией в MR (GitHub, GitLab, Bitbucket) Через gh: список PR, влияние PR на граф, сортировка PR (triage)

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

AI Council graphify
Code review Отдельный сервис: смотрит изменившееся, вердикт по каждому файлу, второй проход, публикация в MR без дублей Нет; есть оценка влияния PR на граф
Модели Модель обязательна: на хосте два процесса работают через OAuth вендора: AI-чат и шесть фоновых задач (ревью, ревью знаний, разбор тикетов и др.). Без модели остаётся только статический анализ кода. Нужен свой ключ (Anthropic, OpenAI, Gemini, DeepSeek, Moonshot/Kimi, Azure OpenAI, Bedrock), или локальная Ollama, или Claude CLI. Есть оценка стоимости. Модель можно выключить (GRAPHIFY_BACKEND=none) — тогда остаётся только разбор кода

5. Платформа

AI Council graphify
Пользователи Компании → участники → роли → права; данные разделены по компаниям; лицензия Один человек, локально
Интерфейс Около 50 страниц веб-интерфейса: код, граф, ветки, качество, правила, ревью, знания, тикеты, задачи, MCP Live, администрирование, System Health Интерактивный HTML графа, HTML графа вызовов и дерева проекта, локальный веб-сервер (serve), wiki, текстовый отчёт, экспорт в Obsidian и Neo4j
Мониторинг Телеметрия каждого вызова MCP и хука, правила Prometheus с тестами, System Health diagnose, benchmark, cache-check
Хранилище Neo4j, Qdrant, PostgreSQL по сервисам, Temporal, NATS, Redis Файлы в graphify-out/ (граф, кеш, память); граф в памяти (networkx); Neo4j — только как экспорт
Безопасность Изоляция задач, одноразовые учётные данные, проверка прав в одном шлюзе, защита от SSRF Отдельный модуль защиты от SSRF и выхода за корень проекта; через него идёт внешний контент и веб-вывод
Поставка Дистрибутив для self-hosted установки или SaaS; на машине разработчика — MCP и хуки pip install graphifyy, затем graphify install под нужного агента

Вывод

graphify — ближайший к Council по идее: граф проекта, который подаётся агенту через MCP и хуки. Как и Council, он подталкивает агента к графу вместо grep и Read, а в строгом режиме запрещает Read — по смыслу это тот же гейт.

Это разные оси: число агентских хостов — охват установки, а число слоёв — глубина анализа; складывать их в один счёт нельзя.

По каким осям сильнее graphify:

  • Вход: около 50 языков и не только код — PDF, картинки, видео, офисные файлы; не-код извлекается моделью.
  • Охват агентов: ~16 хостов через MCP и skill/правила, а не только Claude Code; автоматическое управление чтением глубже в Claude Code (хуки, строгий режим), у Gemini — BeforeTool.
  • Порог входа: установка за минуту без сервера.
  • Рабочая память: «вопрос → исход → урок».

По каким осям сильнее Council:

  • Глубина анализа: слои L0–L10 — стек, структура, зависимости и циклы, вызовы, данные, архитектура и запрещённые зависимости, паттерны, стиль, DDD, co-change, смеллы, ISO 25010, диаграммы. У graphify граф проекта и рабочая память, но нет архитектурных слоёв и качества; при этом graphify шире по входу (PDF, картинки, видео) — это его ось, не Council.
  • Знания: привязаны к позиции в коде и к ветке, приходят агенту при касании файла, уходят на перепроверку при изменении кода под ними; ревьюер обязан привести цитату. У graphify рабочая память «вопрос → исход → урок», но нет привязки к коду и проверки против кода.
  • Правила: конвенции трёх областей — сущности, пути (включая ещё не созданный файл), проект; MUST/SHOULD, состояния, проверка до правки и по диффу; хуки доставляют правила к каждому сообщению и контекст файла на Read/Edit/Bash; гейт «сначала база» блокирует чтение кода до обращения к базе. У graphify есть подталкивание к графу и строгий режим, но нет авторитетных правил команды.
  • Ревью: код и знания, вердикт по каждому файлу, второй проход, публикация в MR без дублей; отдельное ревью знаний с цитатой и калибровкой. graphify не ревьюит изменение.
  • Задачи и команда: задача на VM в sysbox-контейнере живёт дни, человек ведёт из UI; тикеты Jira/GitHub/Redmine, трассировка тестов к требованиям, компании/роли/лицензия, self-hosted/офлайн или SaaS. У graphify этого слоя нет.
  • Цена анализа: статический анализ графа модель не вызывает и не тратит токены; модель нужна только для ревью, чата и рабочего пространства — она живёт на хосте через воркер/бридж/вендорский CLI/OAuth, а не ключом в стеке.
  • История архитектуры: architecture_as_of показывает архитектуру на дату, рёбра версионируются после каждого прогона; SonarQube забирается как внешний анализатор. graphify строит граф проектов, но истории архитектуры по срезам не держит.

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

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