Почему мы обновили поиск по коду до 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
Мультимодальный фьюжн-поиск: выбор правильного ретривера для каждого запроса_
Запрос вроде «где определён parseConfig» требует другого поиска, чем «как работает аутентификация». Maguyva классифицирует намерение, соответствующим образом взвешивает четыре модальности поиска и сливает результаты с помощью взвешенного Reciprocal Rank Fusion.
Майнинг скиллов: от 3500 кандидатов до 466 возможностей_
Мы просеяли 3500 кандидатов в скиллы и приняли 466. Систематический цикл майнинга и приёма для построения цельной библиотеки скиллов ИИ-агентов в масштабе.
Прогрессивное раскрытие: CLI-окна в агентные системы_
Агентные системы по умолчанию непрозрачны. Прогрессивное раскрытие даёт операторам многоуровневые CLI-представления — от быстрой проверки статуса до полного устройства агента и трасс решений.