Почему мы обновили поиск по коду до voyage-4-large
> Мы перевели эмбеддинги кода на voyage-4-large — модель, которая сейчас возглавляет публичный рейтинг RTEB по поиску кода. Честная версия: какой компромисс мы принимаем, что мы на самом деле индексируем и почему платим за премиальные эмбеддинги.
Цифры бенчмарков в этом посте отражают рейтинги RTEB на момент публикации (июнь 2026). Рейтинги меняются; относитесь к ним как к снимку момента, а не постоянному факту.
Семантический поиск ровно настолько хорош, насколько хороши лежащие в его основе эмбеддинги.
Когда агент спрашивает у Maguyva «где мы обрабатываем повторные попытки», он не грепает слово retry. Он спрашивает про смысл — цикл backoff, circuit breaker, то, что оборачивает нестабильный вызов. На этот вопрос отвечает векторная модель, которая превращает код в точку в пространстве и находит соседей. Возьмите модель получше — и каждый семантический запрос в продукте незаметно становится точнее.
Поэтому мы поменяли свою. С июня 2026 года эмбеддинги кода в Maguyva работают на voyage-4-large, заменившей voyage-code-3.
Бенчмарк
Мы приняли это решение не на интуиции. Публичный Retrieval Embedding Benchmark (RTEB) ранжирует модели эмбеддингов на реальных задачах поиска, и в его рейтинге Code voyage-4-large занимает 1-е место в общем зачёте (90,86) — опережая gemini-embedding-2-preview (90,26) и, что примечательно, опережая модель, которую мы уже использовали, voyage-code-3 (89,73, 3-е место).
Это небольшой абсолютный разрыв. Но это разрыв в правильном направлении, на публичном бенчмарке, именно на той задаче, которая нас волнует: извлечение кода по смыслу.
Компромисс, на который мы идём: бинарное квантование
Вот часть, которую большинство постов «мы обновили модель» опускают.
Maguyva не хранит векторы полной точности. Мы храним бинарно-квантованные эмбеддинги: каждый 2048-мерный вектор схлопывается в 2048-битную сигнатуру — 256 байт на вектор. Эти сигнатуры ищутся по расстоянию Хэмминга, индексируются и партиционируются по тенантам.
Это осознанный компромисс. Бинарное квантование жертвует частью точности извлечения в обмен на драматически меньший объём хранения и быструю, дешёвую математику расстояний без отдельной векторной базы данных для эксплуатации. Для продукта, который индексирует целые репозитории на каждое рабочее пространство, эта экономика важнее, чем выжимание последней доли балла бенчмарка.
voyage-4-large вписывается в этот дизайн, не заставляя мигрировать слой хранения: она выдаёт 2048-мерный вывод, как и voyage-code-3, поэтому наши колонки bit(2048) и путь поиска по Хэммингу не изменились. Модель стала лучше; схема осталась прежней.
Код был только началом
Maguyva — инструмент интеллектуального анализа кода. Но мы также сами свой первый клиент, и мы направляем его на кое-что ещё: markdown, который живёт в наших репозиториях рядом с кодом. Записи архитектурных решений, runbook’и, контракты, финансовые и политические документы — всё это под версионным контролем в Git, всё это за тем же MCP-сервером, семантический индекс поверх документов, а не только исходного кода.
Именно поэтому широта voyage-4-large имеет значение. В том же семействе рейтингов RTEB она №1 в финансах, №1 в здравоохранении и №1 в общем текстовом поиске — опережая Gemini Embedding от Google, Embed v4 от Cohere и text-embedding-3-large от OpenAI. (Voyage — соавтор RTEB, так что мы читаем это как сильный публичный сигнал, а не как совершенно нейтральное судейство, — но её бенчмаркуют лицом к лицу против каждой крупной коммерческой модели на приватных отложенных наборах.) Тот же индекс, который находит нужную функцию для агента, находит нужный пункт в контракте или нужную строку в политике — и в этих доменах voyage-4-large не компромисс, а лидер.
Почему мы платим за премиальные эмбеддинги
Есть более дешёвый способ делать поиск, и многое в нём бесплатно. Лексический поиск — BM25 и его родня — сопоставляет ключевые слова, работает локально и ничего не стоит. Open-source модели эмбеддингов вроде BGE, Nomic и embeddinggemma дают действительно приличный семантический поиск, и их можно развернуть у себя за цену GPU. Maguyva использует и бесплатную сторону тоже: каждый запрос сливает текстовый, AST, графовый и семантический поиск. На чём мы не экономим — это семантический слой.
Мы платим за токен за премиальные эмбеддинги — voyage-4-large — вместо того чтобы развернуть у себя бесплатную модель, по двум причинам. Во-первых, поиск по ключевым словам сам по себе не может ответить на «где мы обрабатываем повторные попытки», когда код говорит backoff и circuit breaker и никогда не произносит слово retry — смысл и есть весь смысл существования эмбеддинга, а на доменах, которые мы обслуживаем, открытые модели отстают от премиальных: на пару баллов на общем тексте и ещё сильнее в нишах вроде кода, контрактов и финансов. Во-вторых, по нашему опыту качество извлечения формирует итоговый ответ сильнее, чем модель на другом конце — сильный агент, которому дали неверный контекст, всё равно ответит неверно, и он никогда не увидит документ, который ему не дали.
Так что премиальные эмбеддинги — это счёт за токен, который масштабируется с каждым репозиторием и документом, который мы индексируем, — и мы платим его сознательно. Ради результата, который получают наши пользователи — нужной функции или нужного пункта, — мы считаем этот компромисс оправданным.
Честная часть
Собственная документация Voyage всё ещё маркирует voyage-code-3 как модель, оптимизированную для кода. Так зачем переходить?
Потому что мы читаем публичный бенчмарк, а не только таблицу моделей вендора, а бенчмарк поставил voyage-4-large на первое место по извлечению кода. Это было решение с расчётом на будущее: взять более новую, в целом более сильную модель и проверить её по публичному рейтингу на задачах, которые имеют значение. Нам комфортно делать такую ставку, потому что доказательства обширны — voyage-4-large побеждает не только в коде, она лидирует и в финансах, здравоохранении, и в общем поиске.
Тихий фундамент
Каждый инструмент, который мы предоставляем, — семантический поиск, сбор контекста задачи, обоснованные вопросы и ответы — в основе своей упирается в извлечение. Когда ретривер улучшается, агент на другом конце получает более качественные доказательства, делает меньше неверных поворотов и обосновывает свои ответы нужным кодом — или нужным пунктом, или нужной политикой. Более точная модель эмбеддингов — не броская фича. Это фундамент под всем остальным, и мы его только что подняли. Вы этого не заметите. В этом и суть.
Похожие материалы
Ещё из журнала разработки Maguyva
Рекурсивное самосовершенствование языков: шлифуем интеллектуальный анализ кода на ~280 языках_
Мы поддерживаем интеллектуальный анализ кода для ~280 языков. Ни один человек не может вручную проверить это. Поэтому мы построили цикл рекурсивного самосовершенствования языков — выборочная проверка, LLM в роли судьи, исправление одной вещи, повторная валидация — и прогоняем его флотом изолированных агентов, пока извлечение не станет по-настоящему верным, а не просто «зелёным».
Мультимодальный фьюжн-поиск: выбор правильного ретривера для каждого запроса_
Запрос вроде «где определён parseConfig» требует другого поиска, чем «как работает аутентификация». Maguyva классифицирует намерение, соответствующим образом взвешивает четыре модальности поиска и сливает результаты с помощью взвешенного Reciprocal Rank Fusion.
Наблюдаемость агентов: хуки, Alloy и Grafana_
Мы подключили Claude Code и Codex к единому стеку Grafana через OpenTelemetry и Alloy, а затем с помощью трасс и логов находили и устраняли проблемы в поведении агентов прямо у источника.