Извлечение кода для ИИ-агентов: почему векторные эмбеддинги не работают и как побеждают графы LLM на уровне файлов

Годовой эксперимент по созданию системы индексации кода для AI-инструментов дал однозначные результаты: векторные эмбеддинги на фрагментах кода и разбор Tree-sitter AST имеют критические недостатки, а LLM-анализ по файлам, хранящийся в графе Neo4j с семантическим полнотекстовым поиском, работает лучше всего. Полученные данные подтверждаются недавними статьями, такими как RepoGraph (ICLR 2025) и Code-Craft.
Протестированные подходы
- Векторные эмбеддинги на фрагментах кода – полностью отброшены. Функция с именем
process()в сервисе платежей и такая же в конвейере изображений получают похожие векторы, хотя не имеют ничего общего. Векторы уплощают графы вызовов, наследование, импорты — все структурные связи. Точность поиска была неприемлемой. - Разбор Tree-sitter AST – точен и быстр, но только структурный. Он может сказать, что функция существует и что она вызывает, но не может ответить на вопрос: «Эта функция обрабатывает повторные попытки вебхуков для неудачных платежей Stripe». Оказывается недостаточным, когда разработчики формулируют вопросы на бизнес-языке.
- LLM-анализ по файлам → граф – работает. Каждый файл получает вызов LLM, генерирующий
purpose,summaryиbusinessContext, которые хранятся как узлы в Neo4j с ребрами к классам, функциям, ключевым словам и импортам. Поиск использует полнотекстовый поиск по этим семантическим полям вместо векторной близости. SHA-256-диффинг ограничивает переиндексацию измененными файлами, делая начальные затраты приемлемыми.
Бенчмарки из литературы
RepoGraph (ICLR 2025) показал улучшение на +32,8% на SWE-bench при использовании графовых подходов. Code-Craft достиг +82% точности поиска top-1, используя LLM-сводки снизу вверх на основе графов кода.
Сравнение с существующими инструментами
Команда опубликовала сравнительный анализ в comparison.md. Ключевые различия:
- Bytebell: LLM по файлам → purpose + summary + businessContext + entities; хранение в Neo4j + MongoDB; переиндексация с учетом SHA-256-диффа.
- PageIndex: дерево рассуждений TOC для длинных PDF/документов; нет семантики, специфичной для кода.
- GitNexus: Tree-sitter AST + обнаружение сообществ; опциональная семантика на символ; использует LadybugDB.
- GraphRAG: сущности LLM по фрагментам + кластеризация сообществ для общего текста, не для кода.
- Sourcegraph/Cody: поисковый индекс LSIF/SCIP; нет семантики на узел; развертывание самостоятельно или SaaS.
- Augment: проприетарный семантический индекс с эмбеддингами; только SaaS; управляемое непрерывное индексирование.
Открытый исходный код
Система имеет открытый исходный код на github.com/ByteBell/bytebell-oss.
📖 Читать полный источник: r/LocalLLaMA
👀 Смотрите также

Engramx v3.4: MCP-сервер + граф знаний SQLite сокращает потребление токенов Claude Code на 89%
Engramx v3.4 перехватывает чтение файлов агентами Claude Code, возвращая структурные сводки вместо исходного содержимого. Бенчмарки показывают совокупное сокращение токенов на 89,1% в кодовой базе из 87 файлов.

Менграм добавляет постоянную память агентам OpenClaw.
Mengram — это система памяти с открытым исходным кодом, которая предоставляет агентам OpenClaw долговременную память между сессиями, решая проблему, когда агенты забывают всё при перезапуске. Она обеспечивает эпизодическую, объектную и процедурную память с интеллектуальным архивированием устаревших фактов.

克劳德设计与华数设计:HTML布局与速率限制的对决
Claude Design быстро создает HTML-прототипы, но быстро упирается в лимиты. Huashu-Design, открытый навык Claude Code, работает по обычной подписке без отдельного лимита, но занимает 20 минут вместо 5.

Открытый дизайн: Альтернатива с открытым исходным кодом для Claude Design работает на ваших локальных CLI-агентах
Open Design — это локальный дизайн-движок с поддержкой BYOK, который превращает 11 CLI-агентов для написания кода (Claude Code, Codex, Cursor, Gemini CLI и др.) в дизайн-воркфлоу с 72 брендовыми дизайн-системами и 31 композитным навыком, экспортируя HTML/PDF/PPTX/MP4.