Что делает Claude Code по умолчанию, когда вы просите его найти, как реализована та или иная функция в кодовой базе VS Code?
Он запускает агента Explore, после чего начинает последовательно выполнять команды grep, glob, ls, Read — перебирая файлы один за другим. Результат: 52 вызова инструментов, 1 минута 37 секунд, расход 89,4 тыс. токенов и просмотр примерно 15 файлов.
Та же задача с установленным CodeGraph: 3 вызова инструментов, 17 секунд, 56,6 тыс. токенов, просмотр 0 файлов.
Разница: снижение числа вызовов инструментов на 94 % и ускорение на 82 %.
Это не «накрученный» бенчмарк. Это фундаментальный сдвиг в подходе.
Граф знаний о коде против «грубого» поиска
Основная идея CodeGraph проста: вместо того чтобы заставлять агента каждый раз выполнять «грубый» поиск по файловой системе, лучше заранее построить для кодовой базы её «карту» — с символами, графом вызовов и структурой кода — и проиндексировать всё это.
Когда агенту нужно найти информацию, он просто обращается к графу знаний, а не листает файлы.
Команда codegraph init -i инициализирует проект одним щелчком. Интерактивный установщик автоматически настраивает поддержку Claude Code, Cursor, Codex CLI и opencode.
А когда агенту требуется исследовать код, он использует инструмент codegraph_explore — и получает структурированный ответ напрямую, без необходимости самостоятельно выполнять grep и glob.
Данные бенчмарка
Автор провёл сравнительные тесты на шести реальных кодовых базах, используя Claude Opus 4.6 (контекст 1 млн токенов) + Claude Code v2.1.91. Во всех экспериментах запускался один и тот же агент Explore с одинаковым вопросом:
| Кодовая база | С CodeGraph | Без CodeGraph | Улучшение |
|---|---|---|---|
| VS Code (TypeScript) | 3 вызова, 17 с | 52 вызова, 1 м 37 с | ↓94 %, ↑82 % |
| Excalidraw (TypeScript) | 3 вызова, 29 с | 47 вызовов, 1 м 45 с | ↓94 %, ↑72 % |
| Claude Code (Python + Rust) | 3 вызова, 39 с | 40 вызовов, 1 м 8 с | ↓93 %, ↑43 % |
| Claude Code (Java) | 1 вызов, 19 с | 26 вызовов, 1 м 22 с | ↓96 %, ↑77 % |
| Alamofire (Swift) | 3 вызова, 22 с | 32 вызова, 1 м 39 с | ↓91 %, ↑78 % |
| Компилятор Swift (Swift/C++) | 6 вызовов, 35 с | 37 вызовов, 2 м 8 с | ↓84 %, ↑73 % |
Средний результат: снижение числа вызовов инструментов на 92 % и рост скорости на 71 %.
Наиболее убедительный пример — тест с компилятором Swift: граф знаний содержит 25 874 файла и 272 897 узлов. Агент завершил задачу всего за 6 вызовов и 35 секунд — тогда как без CodeGraph требовалось 37 вызовов и 2 минуты 8 секунд.
Экономия — не только времени
Прямой эффект от сокращения вызовов инструментов — снижение потребления токенов. В рамках ценовой модели API крупных языковых моделей каждый вызов инструмента имеет свою стоимость: не только денежную (плата за API), но и «контекстную» — он занимает место в окне контекста агента.
Когда в контексте агента скапливаются выводы команд grep и Read, объём памяти, доступной для логических рассуждений, сокращается. CodeGraph освобождает агента от рутинного поиска информации и позволяет ему использовать контекстное окно преимущественно для её понимания и анализа.
Это часто упускаемое из виду измерение оптимизации: цель — не сделать модель «сильнее», а минимизировать количество бесполезной работы, которую она выполняет.
Ограничения
Инициализация требует времени. Для крупных кодовых баз первичное построение графа знаний может занять от нескольких минут до десятков минут. Это одноразовые затраты, но их необходимо учитывать при планировании рабочего процесса.
Граф не является «живым». При изменении кода граф знаний требует повторной индексации. Если команда часто делает коммиты, возможно, стоит настроить CI-задачу для автоматического обновления графа — в текущей версии встроенного механизма частичного (инкрементального) обновления нет.
Поддерживается только сценарий Explore. CodeGraph оптимизирует именно процесс исследования кодовой базы агентом. Он не помогает при написании, изменении или тестировании кода. Это «ускоритель поиска», а не «ускоритель программирования».
В настоящее время поддерживаются только Claude Code, Cursor, Codex CLI и opencode. Для других агентов потребуется адаптация.
Моя оценка
Ценность этого проекта заключается в постановке важного вопроса: узким местом ИИ-инструментов программирования может быть не слабость моделей, а неэффективность поиска информации.
Предоставить агенту «карту» кода гораздо эффективнее, чем заставлять его перебирать файлы по одному. Эта идея интуитивно понятна — но интуиция не означает, что её уже реализовали.
Если вы работаете с крупными кодовыми базами (несколько тысяч файлов и более) в Claude Code, установка через npx @colbymchenry/codegraph практически бесплатна: 5 816 звёзд на GitHub, лицензия MIT, 100 % локальное выполнение.
Единственный вопрос: достаточно ли велика ваша кодовая база, чтобы построение графа знаний было оправдано? Для небольших проектов grep по-прежнему вполне достаточен. Но как только размер проекта превышает определённый порог, выгода от графа знаний резко возрастает.
Основные источники:
- GitHub - colbymchenry/codegraph (5 816 звёзд, обновлено 2026-05-19)
- npm - @colbymchenry/codegraph
- Данные бенчмарка взяты из README проекта; тестовая конфигурация: Claude Opus 4.6 (1M) + Claude Code v2.1.91