C
ChaoBro

Устанавливаем «дворец памяти» для инструментов ИИ-программирования: как codegraph позволяет Claude Code тратить вдвое меньше токенов

Каждый раз, когда вы работаете с крупным проектом в Claude Code, Cursor или Codex, вы ощущаете эту боль «хронического сжигания денег»: чтобы понять структуру проекта, агент сначала должен прочитать файлы по одному; чтобы отследить связи вызовов функции, приходится просматривать десяток файлов; чтобы изменить одну строку кода, он может прочитать 20 файлов, прежде чем решится на действие.

Именно эту проблему решает codegraph — дело не в том, чтобы сделать модель умнее, а в том, чтобы ей не приходилось читать так много.

Подход графа знаний, примененный к коду

Основная идея codegraph на самом деле не так уж сложна: вместо того чтобы заставлять ИИ-агента каждый раз заново перечитывать код, лучше заранее извлечь структуру связей репозитория и построить на её основе графовую базу данных.

Что хранится в этом графе? Связи вызовов между функциями, цепочки наследования классов, зависимости между модулями — проще говоря, всё то, что вы видите при переходе по Cmd+Click в IDE, только теперь это структурировано и проиндексировано.

Когда ИИ-агенту нужно понять какую-либо функцию, ему больше не нужно запускать grep или читать весь файл целиком. Он просто делает запрос к графу: кто меня вызывает, кого вызываю я, откуда берутся мои входные параметры. Несколько миллисекунд — и готово.

Цифры говорят сами за себя

Эффект, описанный в README проекта:

  • Снижение расхода токенов на 40–70% — в зависимости от размера проекта
  • Значительное сокращение количества вызовов инструментов — отпадает необходимость многократно использовать read_file и grep
  • 100% локальная работа — не нужно отправлять код в какие-либо сторонние сервисы

Для разработчика, который ежедневно проводит несколько часов за написанием кода с помощью ИИ-инструментов, сокращение расхода токенов вдвое означает следующее: если раньше вы тратили 2 доллара в день, то теперь — всего 1 доллар. Сэкономленных за год денег хватит на покупку нескольких хороших механических клавиатур.

Но цифры — не самое главное. По-настоящему интересен тренд, который они раскрывают:

Инструменты ИИ-программирования переходят от «чата» к «инфраструктуре»

Логика первой волны инструментов ИИ-программирования (ранние версии GitHub Copilot, вставка кода в ChatGPT) была такой: вы скармливаете код модели, а модель дает вам ответ.

Логика второй волны (Claude Code, режим Cursor Agent) иная: агент самостоятельно исследует проект, читает файлы и вносит изменения.

codegraph представляет третью волну: агент не должен каждый раз начинать исследование с нуля, у него должна быть постоянная, структурированная память о проекте.

На самом деле это очень похоже на то, как работают люди-программисты. Когда вы беретесь за старый проект, первую неделю вы лихорадочно читаете код, а затем «запоминаете» его — не каждую строку, а структуру, связи и паттерны. В следующий раз, когда нужно будет внести правки, вы сразу перейдете к нужному месту, не перечитывая всё заново.

codegraph как раз и создает этот «дворец памяти» для ИИ-агента.

Каков реальный опыт использования?

Я изучил раздел issues и историю коммитов проекта, вот несколько ключевых моментов:

  • Поддержка Claude Code, Codex, Cursor, OpenCode — охвачены практически все основные ИИ-инструменты для программирования
  • Интеграция после установки через .claude/skills или .cursor/rules, не требует изменения самих инструментов
  • Сам проект разрабатывается с помощью Claude (в истории коммитов много записей commits by claude), что является классическим примером dogfooding (тестирования на собственном продукте)
  • Недавно добавлен фреймворк оценки agent-eval, что говорит о серьезном отношении команды к качеству

Конечно, есть и моменты, на которые стоит обратить внимание: время и потребление памяти при индексации крупных репозиториев (например, уровня ядра Linux) всё ещё остаются проблемой. В документации проекта рекомендуется начинать со средних проектов, с которыми вы работаете ежедневно.

Стоит ли это использовать?

Если вы ежедневно используете ИИ-инструменты для программирования и ваши проекты содержат тысячи строк кода, codegraph — это практически бесплатный прирост производительности. Низкая стоимость установки (локальный запуск, уровень npm install), прямой эффект (экономия токенов, ускорение работы) и минимальные риски (исходный код не передается, всё остается локально).

Если же вы лишь изредка используете ChatGPT для правки нескольких строк в небольших скриптах, пока в этом нет необходимости.

Более широкая картина

codegraph — не единственная команда, работающая в этом направлении. Похожие идеи — предоставление ИИ-агентам структурированных, предварительно вычисленных знаний — появляются в разных областях:

  • Некоторые команды работают над графами знаний для документации
  • Другие создают индексы связей вызовов API
  • Третьи исследуют семантическую векторизацию кода

Но codegraph на данный момент является самым практичным решением: здесь не гонятся за эффектными демо, а честно решают конкретную проблему «ИИ-агент читает слишком много файлов».

Иногда решение самой скучной проблемы дает наибольший прирост эффективности.


Основные источники: