Code-Graph-RAG: граф знаний для вашего монорепо

Что это и для кого

Code-Graph-RAG — это точная RAG-система, которая анализирует многоязычные кодовые базы с помощью Tree-sitter, строит комплексные графы знаний и позволяет выполнять запросы на естественном языке к структуре кода, а также редактировать его.

Инструмент разбирает многоязычную кодовую базу с помощью Tree-sitter, строит граф её структуры в Memgraph и позволяет запрашивать, редактировать и оптимизировать код на простом английском языке — в том числе в монорепо со смешанными языками под единой схемой графа.

Проект создан для:

  • Разработчиков и техлидов, работающих с большими монорепозиториями
  • Команд, использующих Claude Code, Cursor, Windsurf и другие AI-ассистенты
  • DevOps и архитекторов, которым нужен быстрый анализ зависимостей между компонентами
  • Компаний с требованиями безопасности, которым нужно развёртывание без доступа к внешним серверам
ℹ Open Source
Code-Graph-RAG полностью открыт и бесплатен для самостоятельного использования. На момент написания обзора репозиторий набрал более 2 300 звёзд на GitHub, а проект активно развивается.

Архитектура: как это работает

Исходный код поступает в парсер Tree-sitter, который выполняет AST-анализ и строит граф знаний в Memgraph. Пользовательский запрос обрабатывается AI-моделью, генерирующей Cypher-запрос, — результаты запроса к графу превращаются в ответ.


graph LR
    A[Исходный код] --> B[Tree-sitter Parser]
    B --> C[AST-анализ]
    C --> D[Memgraph Knowledge Graph]
    E[Запрос пользователя] --> F[AI-модель Cypher Gen]
    F --> G[Cypher Query]
    G --> D
    D --> H[Результаты]
    H --> I[Ответ / Редактирование]

Парсер на основе Tree-sitter читает кодовую базу и загружает функции, классы, методы, модули и их отношения в Memgraph в рамках единой языково-независимой схемы.


Ключевые возможности

🌐 Поддержка множества языков

Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua и Dart поддерживаются полностью. Scala находится в разработке, Ruby имеет структурную поддержку (модули, функции, классы и импорты) через подключаемый уровень ast-grep.

🔍 Семантический поиск по коду

Добавлен поиск кода на основе намерений с использованием эмбеддингов UniXcoder. Это позволяет находить функции по описанию их назначения (например, «функции обработки ошибок», «код аутентификации»), а не по точным именам.

🤖 AI-генерация Cypher-запросов

Система интегрирует LLM-бэкенды (Google Gemini, OpenAI, Ollama) для перевода естественного языка в Cypher-запросы и обеспечивает редактирование кода на основе AST, анализ зависимостей и генерацию графов вызовов для поддерживаемых языков.

✏️ AI-редактирование и оптимизация кода

Хирургическая замена кода с AST-таргетингом функций, визуальный предпросмотр diff и точное изменение блоков кода.

Можно направлять процесс оптимизации, используя собственные стандарты кодирования: cgr optimize python --repo-path /path/to/your/repo --reference-document /path/to/best_practices.md.

🔗 MCP-сервер (интеграция с Claude Code и др.)

Code-Graph-RAG работает как MCP-сервер, что позволяет Claude Code и другим MCP-клиентам напрямую запрашивать и редактировать кодовую базу.

Code-Graph-RAG совместим с Claude Code, Claude Desktop, Cursor, VSCode Copilot, Windsurf, Continue Dev, Gemini CLI, Amp, Roo Code и Goose.

🔄 Обновление графа в реальном времени

Для активной разработки граф знаний можно поддерживать в автоматической синхронизации с изменениями кода с помощью updater’а реального времени. Это особенно полезно, когда вы активно изменяете код и хотите, чтобы AI-ассистент всегда работал с актуальной структурой кодовой базы.

🔎 Структурный поиск и замена

Поиск и перезапись кода по AST-паттерну с помощью ast-grep, доступные в виде инструментов агента, позволяют сопоставлять и трансформировать структуру по всей кодовой базе — вместо текстового или regex-поиска.


Установка

Пакет cgr опубликован на PyPI. Рекомендуется устанавливать глобально с экстрами treesitter-full (все языки) и semantic (векторный поиск). Также потребуются Docker (для Memgraph), cmake и ripgrep.

# Установка через uv (рекомендуется)
uv tool install "code-graph-rag[treesitter-full,semantic]"

# или через pipx
pipx install "code-graph-rag[treesitter-full,semantic]"

Пример индексации репозитория:

python -m codebase_rag.main start --repo-path /path/to/your/repo --update-graph

Подключение как MCP-сервер к Claude Code:

claude mcp add --transport stdio code-graph-rag \
  --env TARGET_REPO_PATH=/absolute/path/to/your/project \
  --env CYPHER_PROVIDER=openai \
  --env CYPHER_MODEL=gpt-4 \
  --env CYPHER_API_KEY=your-api-key \
  -- uv run --directory /path/to/code-graph-rag code-graph-rag mcp-server
💡 Совет по установке
Используйте uv вместо pip или pipx — он значительно быстрее разрешает зависимости и рекомендован самими авторами проекта.

Тарифы и цены

Code-Graph-RAG — open-source проект, бесплатный для самостоятельного использования. Для организаций, которым нужно больше, предлагаются полностью управляемые облачные решения и on-premise развёртывания: облачное развёртывание включает управляемую инфраструктуру для базы данных графов и подключения AI-агента с нулевыми накладными расходами на инфраструктуру.

Доступно также on-premise и air-gapped развёртывание — полностью внутри инфраструктуры клиента, включая изолированные сети. Это обеспечивает полный суверенитет данных для регулируемых отраслей и организаций с требованиями к безопасности.

Команда также предлагает кастомную разработку, консультации по интеграции, контракты на техническую поддержку и обучение команд.

ВариантСтоимостьДля кого
Self-hosted (open-source)БесплатноРазработчики, стартапы
Cloud-HostedПо запросуКоманды без DevOps
On-Premise / Air-GappedПо запросуРегулируемые отрасли
Поддержка и консалтингПо запросуEnterprise

Плюсы и минусы

✅ Плюсы❌ Минусы
Полностью open-source и бесплатенТребует Docker + Memgraph (инфраструктурный порог)
Поддержка 14 языков программированияПроизводительность на больших монорепо (>100k файлов) не задокументирована
Граф знаний точнее вектора на multi-hop запросахВерсия ещё молодая (v0.0.5x), возможны breaking changes
MCP-интеграция с большинством AI-IDEТребует Python 3.12+, cmake, ripgrep
Поддержка Gemini, OpenAI, OllamaНет встроенного SAST / анализа уязвимостей
Real-time обновление графаОблачный тариф — только по запросу, без прозрачных цен
Reference-guided оптимизация по своим стандартамДокументация местами не полная для новых языков
⚠ Важно перед продакшеном
Редактирование файлов работает через AST-замену — перед автоматизацией в CI/CD рекомендуется тщательно протестировать на целевой кодовой базе. Проект активно развивается и может содержать несовместимые изменения между версиями.

Сравнение с альтернативами

ПараметрCode-Graph-RAGCodebase RAG (allentcm)GitHub Copilot Workspace
ПодходGraph RAG (AST + Граф)Vector RAGLLM + контекст файлов
Open Source✅ Да✅ Да❌ Нет
Поддержка языков14+Любые (текст)10+
Multi-hop запросы✅ Отлично⚠️ Ограничено⚠️ Зависит от контекста
MCP-интеграция✅ Нативно✅ Есть❌ Нет
Self-hosted✅ Да✅ Да❌ Только облако
Редактирование кода✅ AST-хирургия❌ Только поиск✅ Есть
ИнфраструктураDocker + MemgraphМинимальнаяНичего
СтоимостьБесплатно / EnterpriseБесплатноПлатно ($19+/мес)

AST-производный граф знаний строится за секунды и обеспечивает детерминированное покрытие кодовой базы — в отличие от LLM-генерируемых графов, где часть файлов может быть пропущена.

Инструменты типа Code Graph RAG используют подход Graph RAG: они разбирают абстрактное синтаксическое дерево кода, чтобы построить граф отношений (например, эта функция вызывает ту, этот класс наследует от другого), что принципиально отличает их от векторного поиска.


Вердикт

Code-Graph-RAG подойдёт:

  • Командам с большими многоязычными монорепозиториями
  • Тем, кто использует Claude Code, Cursor или Windsurf и хочет дать AI реальное понимание структуры кода
  • Организациям с требованиями к data sovereignty (air-gapped режим)
  • Разработчикам, которым нужен не просто поиск, но и AI-редактирование кода по архитектурным стандартам

Не подойдёт:

  • Тем, кто хочет zero-config решение без инфраструктурных зависимостей
  • Проектам, где нужен аудит безопасности / SAST
  • Командам на очень маленьких репозиториях, где хватит обычного контекстного окна LLM

Оценка

КритерийОценка
Функциональность⭐⭐⭐⭐⭐ 9/10
Простота установки⭐⭐⭐ 6/10
Поддержка языков⭐⭐⭐⭐⭐ 9/10
Интеграции (MCP)⭐⭐⭐⭐⭐ 9/10
Зрелость проекта⭐⭐⭐ 7/10
Итог8/10

Code-Graph-RAG — один из наиболее амбициозных open-source инструментов для работы с кодом на основе RAG. Он решает реальную проблему: традиционный векторный поиск плохо справляется с многоуровневыми архитектурными запросами к большим кодовым базам, тогда как граф знаний на основе AST даёт детерминированное и структурно точное покрытие. Если вы готовы к первоначальной настройке инфраструктуры и работаете с нетривиальными монорепозиториями — этот инструмент способен кардинально изменить то, как ваша команда взаимодействует с кодом через AI.