У Claude Code есть хроническая проблема в больших проектах: он постоянно сканирует деревья файлов, читает содержимое файлов и ищет ссылки на код снова и снова. Каждый разговор сжигает токены как воду.
Подход Codegraph прямолинеен — заранее построить структуру проекта в граф знаний, сохранить локально, и Claude запрашивает его напрямую, вместо повторного чтения каждый раз.
Основная идея
Традиционный рабочий процесс Claude Code:
- Получить вопрос
- Прочитать структуру директорий
- Решить, какие файлы читать на основе директорий
- Искать ссылки на конкретные символы
- Повторять итерации
Codegraph превращает это в:
- Построить индекс при инициализации проекта (делается один раз)
- Claude напрямую запрашивает граф, получая связи файлов и ссылки на символы
- Пропускает повторное сканирование и поиск
Один недавний коммит интересен: «refactor: Remove semantic search and vector embedding functionality.» Автор удалил семантический поиск и векторные эмбеддинги, перейдя к чисто структурированному графу знаний. Этот выбор стоит обдумать.
Семантический поиск звучит модно, но в кодовых сценариях не очень практичен. Связи в коде детерминированы — функция A вызывает функцию B, класс C наследует от класса D. Эти связи не нуждаются в «семантическом сходстве» для определения — просто запроси граф напрямую. Удаление векторного поиска снижает сложность, стоимость поддержки и потребление токенов.
Измеренные результаты
Документация проекта заявляет:
- Меньше токенов: не нужно повторно передавать содержимое файлов модели
- Меньше вызовов инструментов: запросы к графу дают результат за один раз, без многокругового поиска
- 100% локально: все данные индекса хранятся локально, без внешних сервисов
256 коммитов, последний 18 часов назад. Недавно добавляется поддержка workspace crate resolution для Rust resolver, что говорит о расширении покрытия языков. В настоящее время поддерживается более одного языка (CLAUDE.md упоминает поддержку Svelte).
Сценарии применения
Особенно подходит:
- Большие кодовые базы (тысячи файлов и более)
- Сценарии, требующие частого кросс-файлового анализа в Claude Code
- Команды, чувствительные к стоимости API-вызовов
Менее необходимо:
- Маленькие проекты (десятки-сотни файлов — нативные вызовы инструментов Claude Code достаточно быстры)
- Проекты с экстремально частыми изменениями структуры (индекс нужно перестраивать)
По сравнению с альтернативами
У Cline есть собственный механизм управления контекстом, но он общий — не специфически оптимизирован для структуры кода. Дифференциация Codegraph именно здесь — он делает одну вещь: превращает структуру кода в граф, ускоряя запросы агента.
Правильный ли это подход? Думаю, общее направление верное. Понимание кода — это понимание связей, а не «семантики». Графы знаний естественно подходят для выражения связей — более разумно для кодовых сценариев, чем для общего текста.
1300+ звёзд, 11 открытых issue, 29 PR. Проект в активной разработке, но ещё не достиг стадии стабильного релиза. Если хочешь использовать — попробуй сначала на маленьком проекте.
Основные источники: