На больших монорепах Claude Code тратит значительную часть работы на разведку: Explore-агенты рекурсивно обходят файлы через grep и glob, читают десятки файлов, заполняют контекстное окно. Один вопрос про устройство авторизации может занять полторы-две минуты и сотню вызовов инструментов. CodeGraph предлагает другой подход: предварительно проиндексированный граф символов, к которому агент обращается мгновенно.
Проект реализован как MCP-сервер (Model Context Protocol) — стандарт, который Anthropic ввела для расширения возможностей Claude Code сторонними инструментами. CodeGraph устанавливается одной командой через npx, прописывает себя в конфигурацию ~/.claude.json и начинает следить за проектом. Лицензия MIT, 552 звезды на GitHub на момент написания обзора.
| Кодовая база | Язык / файлов | Вызовов без CodeGraph | Вызовов с CodeGraph | Время без | Время с |
|---|---|---|---|---|---|
| VS Code | TypeScript, 4002 файла | 52 | 3 | 1м 37с | 17с |
| Swift Compiler | Swift/C++, 25 874 файла | не указано | 6 | не указано | 35с |
Архитектура состоит из четырёх стадий. Сначала tree-sitter парсит исходный код в AST — это та же библиотека, что GitHub использует для подсветки синтаксиса. Языко-специфичные запросы извлекают узлы: функции, классы, методы, а также связи между ними — вызовы, импорты, наследование. Затем всё складывается в локальную SQLite-базу с полнотекстовым поиском через FTS5. На третьей стадии резолвятся ссылки: вызовы функций сопоставляются с определениями, импорты — с исходными файлами. Наконец, MCP-сервер следит за изменениями через нативные OS-события (FSEvents на macOS, inotify на Linux) с дебаунсингом в 2 секунды и инкрементально обновляет граф.
На репозитории VS Code (4002 файла) агент сделал 3 вызова за 17 секунд вместо 52 вызовов за 1 минуту 37 секунд без индекса.
Принципиальное отличие от векторного подхода — детерминированность. Если функция login() вызывает validateToken(), это факт из AST, а не «семантическая близость с вероятностью 0.87». Для трассировки вызовов и анализа зависимостей это надёжнее векторного поиска. Для задач «найди что-то концептуально похожее» — наоборот, граф проигрывает векторным эмбеддингам. Ближайший аналог с другим подходом — SocratiCode, который строит векторный индекс через Qdrant и требует Docker; CodeGraph обходится встроенной SQLite без внешних сервисов.
Агенту доступны восемь инструментов: поиск символов по имени, построение контекста под задачу, поиск вызывающих и вызываемых функций, анализ impact от изменения символа, детали по конкретному узлу, структура файлов и статус индекса. Архитектурно важная деталь: установщик прописывает в ~/.claude/CLAUDE.md запрет вызывать тяжёлые инструменты из главной сессии. Инструменты, возвращающие большие куски исходного кода, разрешены только в субагентах — чтобы контекст главной сессии не засорялся. Это осознанное решение проблемы context bloat.
Бенчмарки проводились на шести реальных кодовых базах с Claude Opus 4.6 (контекст 1M) и Claude Code v2.1.91. Усреднённый результат: 92% меньше вызовов инструментов, на 71% быстрее. На репозитории VS Code (TypeScript, 4002 файла) агент сделал 3 вызова за 17 секунд против 52 вызовов за 1 минуту 37 секунд без индекса. Swift Compiler (25 874 файла, 272 898 узлов) проиндексирован менее чем за 4 минуты; агент ответил на сложный кросс-каттинг вопрос за 6 вызовов и ноль чтений файлов за 35 секунд.
Цифры — авторские, не независимая проверка. Методология при этом честная: указаны точные вопросы, версии инструментов и конкретные кодовые базы. Это лучше, чем анонимные заявления об ускорении. Поддерживается 19 языков: TypeScript, JavaScript, Python, Go, Rust, Java, C#, PHP, Ruby, C, C++, Swift, Kotlin, Dart, Svelte и другие.


