Graphify: превращаем кодовый хаос в базу знаний для AI-ассистентов
Graphify: превращаем хаос кода в понятную карту для AI-ассистентов
Давайте признаемся: каждый из нас открывал проект, который не трогал несколько месяцев, и чувствовал это знакомое чувство паники. Файлы на месте, архитектура в голове где-то болтается. Но связать всё воедино? Это уже археология.
Graphify пытается решить эту проблему — причём конкретно для AI-ассистентов.
Что такое Graphify?
Graphify — это открытый навык (skill), который строит запросный граф знаний из всего вашего кодbase. Сюда входит исходный код, документация, исследовательские работы и даже диаграммы. Всё сливается в единый граф, где можно искать и который объясняет не только что делает код, но и почему он спроектирован именно так.
Если совсем просто: вы даёте AI-ассистенту карту проекта вместо кучи файлов.
Инструмент создал Safi Shamsi, распространяется под MIT-лицензией. Работает на проверенных технологиях: NetworkX для операций с графами и Tree-sitter для статического анализа кода.
Мультимодальность — вот что интересно
Graphify не просто парсит код. Он понимает разные форматы:
- Исходный код (.py, .js, .go, .java и другие) — Tree-sitter вытаскивает AST, call graphs и docstrings
- Markdown и PDF — LLM извлекает концепции из текста
- Диаграммы и картинки — Vision-модели читают архитектурные схемы
Благодаря такому подходу вы получаете не просто call graph. Вы видите семантические связи между концепциями, которые живут в разных файлах и форматах.
Как это работает: от репозитория к интерактивному графу
Паipline простой, но мощный:
- Сбор — находим все нужные файлы
- Извлечение — достаём AST и семантические узлы/рёбра
- Построение — создаём NetworkX-граф
- Кластеризация — применяем алгоритм Leiden для обнаружения сообществ
- Анализ — ищем "богов" (файлы с высокой центральностью) и неожиданные связи
- Отчёт — генерируем читаемый результат
Кластеризация особенно умная. Graphify не полагается на векторные эмбеддинги (которые дорогие и неточные), а использует алгоритм Leiden для группировки связанного кода в семантические кластеры. Никаких embedding-моделей не нужно.
Богатства и сюрпризы
Фича, которая меня зацепила: Graphify находит так называемые "god nodes" — файлы или компоненты с самой высокой связностью в графе. Обычно это ваши core-классы, точки входа или критически важные утилиты.
Ещё интереснее — он помечает "surprises", то есть неожиданные кросс-файловые или кросс-доменные связи. Это может указывать на проблемы в дизайне, недокументированные зависимости или области, требующие внимания.
В одном из примеров на библиотеке httpx Graphify нашёл неожиданную связь между DigestAuth и Response. Такую связь не увидишь, читая файлы по отдельности. Но на графе всё становится очевидным.
Аргумент про эффективность токенов
Цифра, которую стоит запомнить: в тестах на смешанном корпусе (репозитории GPT-фреймворков плюс научные статьи) Graphify показал сокращение использования токенов в 71.5 раз по сравнению с наивным контекстным инжектом.
Это не мелочь. Когда платите за AI API помимо токенов, такое сокращение запросов ощутимо. И речь не только о деньгах — меньшие контекстные окна дают более быстрые ответы и меньше галлюцинаций.
Безопасность, которой не пренебрегают
Open-source инструменты, которые тягают URL и обрабатывают код, должны относиться к безопасности серьёзно. Graphify это понимает:
- Только http/https URL
- Лимиты на размер и таймауты при скачивании
- Проверка путей (никакого directory traversal)
- HTML-escaping для всех меток узлов
- Никакой телеметрии и сбора данных третьими лицами
Ваш код никогда не покидает вашу среду. Graphify отправляет AI-модели только семантические описания, а не сырой исходник.
Интеграция с AI-ассистентами
Graphify поставляется с простыми командами для Claude Code, Codex и OpenCode:
/graphify— построить новый граф/graphify query <вопрос>— задать вопрос о кодовой базе/graphify path <файл>— сфокусироваться на конкретных путях/graphify explain— получить объяснение структуры графа
На выходе: интерактивный graph.html, graph.json для программного доступа и GRAPH_REPORT.md для аудита.
Установка
Хотите попробовать:
pip install graphifyy
graphify install
graphify ./your-project
Требования: Python 3.10+ и настроенный API-ключ для вашей AI-модели (Claude, OpenAI и т.д.).
Место Graphify в экосистеме
Он не пытается заменить Sourcegraph или Neo4j. Graphify занимает интересную нишу:
- Семантичнее статических анализаторов
- Структурированнее векторного поиска
- Заточен именно под контекстную инъекцию в AI-ассистенты
Для разработчиков, которые работают с AI-кодинг-ассистентами над сложными проектами — особенно смешанными кодовыми базами с документацией и исследованиями — это реально заполняет пробел.
Большая картина
Graphify — часть более широкого тренда: AI-ассистенты, которые не просто генерируют код, а реально понимают системы, с которыми работают. Граф знаний — это не визуализация для красоты. Это структура для рассуждений, которая позволяет делать более точные и контекстно-зависимые подсказки.
Будет ли Graphify стандартом для понимания кода AI — пока непонятно. Но проблема, которую он решает, реальна. Кодовые базы — это сложные, взаимосвязанные системы. Возможно, им больше подходят графовые инструменты, а не навигаторы по файловому дереву.
Если вы постоянно бьётесь над тем, чтобы заставить AI-ассистента понять архитектуру вашего проекта, Graphify заслуживает вечернего эксперимента.
Пробовали инструменты на основе графов знаний для понимания кода? Расскажите в комментариях.