TGViewer
Всеволод Викулин Всеволод Викулин @vikulin_ai · 5.28K subscribers
Post #136 5.69K
Почему я ненавижу векторный поиск

Возьмите любую статью, где автор делал RAG. Откройте схему архитектуры. Держу пари: там будут эмбеддинги, векторное хранилище и поиск по нему. Обязательно будет.

Я долго думал, почему люди так любят это дело. Рефлексировал, общался с коллегами, прочитал гору книг по психологии. Мне кажется, теперь я все понял.

Почему все (но не я) любят сравнивать эмбеддинги

Это очень удобная ментальная модель. Вы не знаете, как сравнивать два текста в вашей задаче — я, кстати, чаще всего в своей тоже не знаю. Задача сравнения текстов вообще чертовски сложная: два человека иногда не могут договориться, про одно и то же говорят или нет.

И тут приходит эмбеддер. Чёрный ящик, который обещает: дай мне оба текста — я скажу, похожи они или нет. Сложная задача сравнения двух многогранных текстов сводится к сравнению расстоянию между двумя векторами по 512 чисел. Перечитайте это предложение ещё раз. Вы точно уверены, что она сводится?

Модель удобная. Она обещает, что теоретически сможет идеально сравнить два текста. Просто добавляй побольше данных, делай побольше эмбеддер, учи его подольше. Вот, кстати, еще 200 интересных статей, как этот эмбеддер можно обучать...

Когда ментальная модель встречает реальность

У сравнения эмбеддингов есть ряд ограничений, которые не лечатся ни большим датасетом, ни новой архитектурой.

— Точные совпадения. Пользователь спросил «iPhone 16 Pro» — он не хочет «iPhone 16. Семантически оба айфоны, даже оба новые. Но это совершенно разные продукты. Реклама меня уверяла. Ведь так?

— Отрицание. «Телефон, но не iPhone» — попробуйте заставить эмбеддинг адекватно обработать «не». Отрицание должно переворачивать все сравнения с ног на голову (как будет работать двойное отрицание, я пока не понял).

— Числа и даты. Ищете квартиру в Москве дешевле 20 млн? Квартира за 19.5 млн сильно не изменит свой эмбеддинг, когда собственник поднимет стоимость до 20.5.

— То, чего нет в обучающих данных эмбеддера. «Всеволод Викулин» плохо матчится эмбеддингом с текстом «лучший AI-практик в мире». Мы с вами всё понимаем, модель — пока нет. По крайней мере, пока не прочитает этот канал.

Как делать поиск, если не векторно

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

1. Сначала проверьте, нужен ли поиск вообще. Если все ваши знания влезают в 5–10 тысяч токенов — просто положите их в промпт. Один раз объяснили, чем хорош Викулин и оно запомнило.

2. Если документов немного — оценивайте все документы другой LLM-кой. Берёте дешёвую маленькую модель, даёте ей запрос и документ, просите оценить релевантность.

3. Если документов много — используйте несколько методов поиска:

— полнотекстовый (по словам и н-граммам) — не знает семантики, зато точно находит «iPhone 16 Pro»

— структурированный (SELECT WHERE price < 20kk) — для чисел и фильтров

— поиск по оглавлениям — LLM разбивает базу на темы, потом выбирает нужную тему. Люди так делали c книгами до изобретения Ctrl+F

— поиск тулами — даёте LLM grep и наслаждаетесь

— гибридный поиск — смесь нескольких вариантов

— поиск по графу — разбирали пример

— (еще есть много чего, в том числе и векторный поиск)

4. Если качества не хватает, делаете реранкер. Берёте простой поиск, получаете топ-N кандидатов, и дальше их переранжирует LLM из пункта 2.

Кстати, пример архитектуры хорошего поиска мы уже разбирали в посте.

Резюме

Пока писал этот пост кое-что понял.

Я ненавижу не векторный поиск. Я ненавижу, когда люди скидывают ответственность за качество своего продукта на самый популярный в индустрии чёрный ящик. Нарисовали эмбеддер, дальше только данные подкидывать, а он разберется.

Не разберется. Нужно самому принимать решение, которое будет лучше всего работать в конкретной задаче.

Может, у меня синдром гиперконтроля? Надо сходить провериться.
  • ❤ 54
  • 🔥 41
  • 👍 20
  • 😁 18
  • 🤡 6
  • 💅 2
  • 🤝 1
More from @vikulin_ai
  1. Sep 21, 2026Кому можно вайбкодить и как это делать Управление AI-агентами очень похоже на управление л…
  2. Sep 16, 2026Кто управляет разработкой AI-проекта Несколько лет назад во время очередного релиза я поня…
  3. Sep 8, 2026Всеобъемлющая статья про инференс LLM Многие у меня спрашивают, как посчитать GPU и как по…
  4. Aug 30, 2026Как стать AI-native компанией AI всегда был гонкой инфраструктуры. Если вы хотите крутые A…
  5. Aug 25, 2026Первый обзор научной статьи в этом канале Я не фанат читать свежие статьи. Сам когда-то за…
  6. Aug 18, 2026Вам LLM побыстрее или подешевле? Выберите только одно Почему-то во всех командах, где я ра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →