Как перестать переплачивать за токены 💸

Когда вы просите Cursor, Claude Code или любой другой AI-инструмент разобраться в сложной кодовой базе (особенно без грамотных правил и скиллов), они ведут себя как слепые котята. Чтобы найти, откуда вызывается метод, они делают grep, читают десятки файлов целиком и забивают контекстное окно мусором. Вы платите за токены, а агент тратит время на парсинг текста.

Тут появилась локальная тулза CodeGraph, которая парсит ваш проект через tree-sitter, строит из него семантический граф знаний (AST, связи, вызовы) и складывает всё это в локальную SQLite базу.

Агенту скармливается MCP-сервер. Теперь вместо текстового поиска он делает точечные вызовы к графу:
1️⃣ "Кто вызывает эту функцию?"
2️⃣ "Каков impact-радиус изменения этого класса?"
3️⃣"Построй trace от эндпоинта до базы."

🐍 Для питонистов тут отдельный жир:
CodeGraph из коробки понимает роутинг FastAPI, Flask и Django. Он парсит urls.py, находит path('api/', ViewSet.as_view()) и создает реальное ребро графа от URL к классу-обработчику.
Тулза умеет резолвить даже динамический диспатч, на котором grep ломает зубы. Например, скрытые вызовы под капотом Django ORM (тот самый _iterable_class, через который QuerySet дергает SQL-компилятор).

Метрики с их бенчмарков (на базе Django, VS Code, Tokio):
▫️ Токенов тратится на 57% меньше (агент получает ответ за один вызов, а не читает файлы).
▫️ Вызовов инструментов меньше на 71%.
▫️ Затраты падают на треть.

Утилита сама читает ваш .gitignore, игнорирует .venv, node_modules и файлы тяжелее 1 Мб. Никаких внешних API, база лежит локально в папке .codegraph.

Если вы пускаете LLM в проект больше чем на 20 файлов — надо пробовать.

Вся документация и мануалы по привязке к конкретным агентам — в репозитории.

#тулбокс