Опубликовано 24 марта 2026

SmartSearch: качественное ранжирование важнее идеального порядка в памяти ИИ

SmartSearch: почему качественное ранжирование важнее идеального порядка в памяти ИИ

Как система SmartSearch научилась извлекать нужное из хаоса диалогов без сложных алгоритмов – и почему эффективное ранжирование ценнее идеальной структуры хранения данных.

Компьютерная наука 10 – 15 минут чтения
Автор публикации: Доктор Рафаэль Сантос 10 – 15 минут чтения
«Работая над этим текстом, я поймал себя на мысли: мы так привыкли думать, что порядок – это всегда лучше хаоса, что иногда перестаём замечать, как сами же создаём лишнюю работу. SmartSearch – это как тот игрок на поле, который не красуется техникой, а просто всегда оказывается в нужном месте в нужный момент. Мне интересно, изменит ли этот подход то, как индустрия думает о предобработке данных – или привычка к «красивым архивам» окажется сильнее здравого смысла?» – Доктор Рафаэль Сантос

Представьте футбольного тренера, который перед каждым матчем просматривает записи всех предыдущих игр своей команды за последние несколько лет. Игр – сотни. Записей – тысячи часов. Задача: быстро найти момент, когда конкретный игрок забил гол с угла поля в дождь, под давлением защитника слева. Можно, конечно, сначала аккуратно разложить все записи по папкам, пронумеровать, составить каталог – это займёт недели. А можно научиться быстро искать по смыслу и находить нужное за секунды, даже если записи хранятся вразброс. SmartSearch – это именно второй подход. И он работает лучше.

Зачем ИИ нужна долгосрочная память

Зачем ИИ нужна «долгосрочная память»

Когда вы разговариваете с голосовым ассистентом или чат-ботом на протяжении нескольких недель или месяцев, между вами накапливается огромный массив информации. Вы упоминали своё имя, рассказывали о работе, жаловались на погоду, обсуждали планы на отпуск. Хороший помощник должен всё это помнить – и уметь использовать в нужный момент.

Но вот в чём проблема: диалоги длинные, информация в них перемешана, а контекст, который помощник может «держать в голове» одновременно, ограничен. Большие языковые модели – те самые нейросети, которые умеют генерировать текст – имеют так называемый лимит токенов. Токен – это примерно слог или короткое слово. Если диалог слишком длинный, модель просто не может обработать его целиком за один раз.

Это как пытаться прочитать роман в 800 страниц, когда тебе разрешено держать в руках только 50 страниц единовременно. Нужно выбрать, какие именно страницы взять – и не ошибиться.

Именно поэтому исследователи в области искусственного интеллекта давно занимаются разработкой систем разговорной памяти – механизмов, которые умеют из длинной истории диалога извлекать только самое нужное и передавать это нужное в модель в нужный момент.

Как разговорная память ИИ работала раньше: дорого и сложно

Как это делали раньше: дорого, сложно, но привычно

Традиционный подход к проблеме выглядит примерно так. Когда ассистент ведёт диалог, каждая новая порция разговора немедленно обрабатывается и структурируется. Большая языковая модель читает сырой текст и превращает его в аккуратный набор фактов: «Пользователя зовут Андрей. Он живёт в Москве. Любит джаз. Работает архитектором». Получается что-то вроде досье – красиво, упорядоченно, удобно для поиска.

Потом, когда пользователь задаёт вопрос, система обращается к этому досье и ищет в нём ответ. Иногда используются векторные базы данных – математические пространства, в которых слова и фразы превращаются в числовые координаты, а похожие по смыслу фрагменты оказываются «рядом» друг с другом. Иногда строятся графы знаний – схемы связей между людьми, событиями и объектами, упомянутыми в разговоре.

Всё это звучит красиво. Но у таких подходов есть серьёзные издержки.

  • Дороговизна структурирования. Каждый раз, когда поступает новый кусок диалога, его нужно обработать с помощью большой языковой модели. Это требует вычислительных ресурсов, времени и денег – особенно если диалогов миллионы.
  • Потеря деталей. Когда мы пересказываем что-то своими словами, мы неизбежно теряем нюансы. То же самое происходит при автоматическом структурировании: тонкие детали, важные оговорки, эмоциональный контекст – всё это может исчезнуть в процессе «перевода» живого диалога в набор сухих фактов.
  • Зависимость от обучающих данных. Системы, которые используют обученные модели для поиска, требуют большого количества размеченных примеров. Нет данных – нет нормальной работы.
  • Плохая обобщаемость. Модель, настроенная на один тип диалогов, может плохо работать с другим.

Именно на фоне этих недостатков и появился SmartSearch – система, которая решила пойти совершенно другим путём.

SmartSearch: новый подход к обработке диалогов без репетиции

SmartSearch: танец без репетиции

Ключевая идея SmartSearch проста и даже немного дерзка: не нужно предварительно структурировать историю диалога. Вообще. Пусть она хранится как есть – в виде сырого текста, как поток живой речи. А когда придёт вопрос, система будет искать ответ прямо в этом потоке, быстро и умно.

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

Конвейер SmartSearch состоит из трёх этапов. Разберём каждый из них так, чтобы было понятно даже без инженерного диплома.

Этап первый: найти всё возможное 🔍

Когда пользователь задаёт вопрос, SmartSearch не просто ищет слова из вопроса в тексте диалога. Система сначала выделяет из вопроса именованные сущности – это имена людей, названия мест, даты, организации и другие конкретные объекты. Этот процесс называется распознавание именованных сущностей, или NER (от английского Named Entity Recognition).

Например, если вопрос звучит как «Что Андрей говорил про свою поездку в Санкт-Петербург в прошлом году?», то именованные сущности здесь – «Андрей» и «Санкт-Петербург». Их система выделяет отдельно и при поиске даёт им больший вес, чем обычным словам вроде «говорил» или «поездка».

Затем идёт поиск по подстрокам – то есть буквальный поиск совпадений в тексте истории диалога. Простой, быстрый, надёжный. Никаких нейросетей на этом шаге – только текст и правила.

Результат: система находит все фрагменты диалога, в которых встречаются нужные слова или сущности. На этом этапе лучше найти лишнее, чем пропустить нужное. И SmartSearch справляется блестяще: в ходе исследования выяснилось, что на этапе первичного поиска система находит 98,6% всей релевантной информации. Почти идеальный результат.

Этап второй: расширить сеть 🕸️

Иногда ответ на вопрос не лежит в одном месте. Информация разбросана по нескольким частям диалога, и чтобы собрать её воедино, нужно сделать несколько «шагов».

Представьте: пользователь спрашивает про «лучшего друга Марины». В диалоге где-то упоминается, что «Марина всегда ходит в кино с Катей», а в другом месте – что «Катя недавно переехала в Екатеринбург». Чтобы ответить на вопрос полно, нужно связать эти два фрагмента.

SmartSearch делает это через расширение по сущностям. Система анализирует уже найденные фрагменты, извлекает из них новые имена и объекты – и снова запускает поиск, уже с ними. Этот процесс повторяется несколько раз, как круги на воде: каждый новый шаг расширяет охват, добавляя связанные фрагменты. Правила для этого расширения написаны вручную – никакого обучения, никакой нейросети. Просто логика и грамматика.

Это как в игре «шесть рукопожатий»: от одного человека до другого можно добраться через цепочку знакомств. SmartSearch делает то же самое с информацией.

Этап третий: отсортировать с умом 🎯

Вот мы добрались до самого главного – и самого интересного. После двух предыдущих этапов у системы есть большой набор фрагментов диалога: часть из них точно нужна, часть – вероятно, часть – совсем нет. Нужно выбрать лучшее.

На этом этапе SmartSearch использует два обученных инструмента ранжирования, которые работают в паре.

Первый – ColBERT. Это модель, которая умеет сравнивать запрос и фрагмент текста на уровне отдельных слов. Она не просто смотрит, есть ли совпадение, а оценивает, насколько каждое слово запроса «перекликается» с каждым словом фрагмента. Это гораздо точнее, чем просто считать количество совпадений. ColBERT работает быстро и справляется с большим числом кандидатов.

Второй – CrossEncoder. Это более мощная модель: она берёт запрос и фрагмент вместе и оценивает их соответствие как единое целое, учитывая тонкие смысловые связи. Она точнее, но медленнее – поэтому её применяют только к лучшим кандидатам, уже отобранным ColBERT.

Итоговая оценка каждого фрагмента формируется из комбинации результатов обоих инструментов. Это называется объединение рангов (rank fusion). Получается что-то вроде жюри из двух судей: один оценивает быстро и широко, второй – медленно, но очень внимательно. Вместе они выносят более точный вердикт, чем каждый по отдельности.

И всё это – включая оба инструмента ранжирования – работает на обычном процессоре (CPU) и занимает около 650 миллисекунд. Меньше секунды. Для разговорного ассистента это вполне приемлемо.

Умное усечение: как брать только нужную информацию для ИИ

Умное усечение: брать только то, что нужно

После ранжирования система должна передать отобранные фрагменты в большую языковую модель, которая сформирует финальный ответ. Но у модели ограниченный «карман» – тот самый лимит токенов. Значит, нужно решить, сколько фрагментов взять.

Традиционный способ: взять топ-N фрагментов и всё. Просто, предсказуемо, но неточно. Если граница проходит посередине важного куска информации – ответ будет неполным. Если включить слишком много – модель утонет в шуме.

SmartSearch использует адаптивное усечение на основе оценок. Система смотрит на оценки релевантности, которые присвоил CrossEncoder каждому фрагменту. Пока оценка высокая – берём. Как только оценка начинает резко падать – останавливаемся. Это динамическая граница, которая подстраивается под конкретный запрос и конкретный диалог.

Результат впечатляет: в среднем SmartSearch передаёт в модель в 8,5 раза меньше токенов, чем системы, которые просто скармливают модели весь доступный контекст. При этом качество ответов не падает – наоборот, растёт. Потому что модель концентрируется на действительно важном, а не пытается разобраться в горе лишней информации.

Это как готовить эспрессо вместо ведра растворимого кофе: меньше объёма, больше концентрации, лучше вкус.

Оракульный анализ: где кроется слабое место традиционных систем

Оракульный анализ: где прячется узкое место

Исследователи провели интересный эксперимент – так называемый оракульный анализ. Они проверили, что происходит, если взять идеальный сценарий: система находит все нужные фрагменты (recall 98,6%), но затем без какого-либо ранжирования обрезает их до фиксированного лимита токенов.

Результат оказался красноречивым: при таком подходе до финального ответа доживает лишь 22,5% действительно важных фрагментов. Почти всё ценное теряется – просто потому что оказалось не в начале списка.

Этот эксперимент наглядно показывает: найти – это только половина дела. Важно правильно расставить приоритеты. Представьте, что вы нашли в интернете 200 статей по нужной теме, но прочитать можете только 10. Какие выберете? Если случайные – вероятно, пропустите самое главное. Если по умному рейтингу – скорее всего, найдёте то, что искали.

Именно эту задачу и решает этап ранжирования в SmartSearch. Он превращает теоретически высокий recall в практически высокое качество ответов.

Как SmartSearch показал себя на испытаниях и тестах

Как SmartSearch показал себя на испытаниях

SmartSearch проверяли на двух стандартных тестовых наборах, которые используются в научном сообществе для сравнения систем разговорной памяти.

LoCoMo (Long-Context Memory – «долгосрочная контекстная память») – набор очень длинных диалогов, в которых много «шумной» информации, не относящейся к делу. Задача системы: среди этого шума найти именно то, что нужно для ответа.

LongMemEval-S (Long Memory Evaluation, Simplified – «оценка долгой памяти, упрощённая версия») – набор, сфокусированный на точном извлечении конкретных фактов из длинных диалогов.

Результаты SmartSearch:

  • На LoCoMo – 93,5%
  • На LongMemEval-S – 88,4%

Это лучшие результаты среди всех известных систем, протестированных по тем же протоколам оценки. Причём SmartSearch не настраивался отдельно под каждый из этих наборов данных – он работал с одними и теми же параметрами на обоих. Это говорит о том, что система хорошо обобщается на разные типы задач.

Для сравнения: системы, которые используют полный контекст диалога (то есть передают в модель всё подряд без фильтрации), тратят в 8,5 раза больше токенов – и при этом показывают худшие результаты. Больше не значит лучше. Особенно когда речь идёт об информации.

Почему SmartSearch важен за пределами научных лабораторий

Почему это важно за пределами лабораторий

Вся эта история о SmartSearch – не только про цифры и бенчмарки. За ней стоит более широкая идея, которая важна для понимания того, куда движется разработка разговорных систем.

Долгое время считалось, что чем более структурированы данные перед подачей в модель, тем лучше. Идеальный ассистент должен сначала «переварить» весь диалог, разложить его по полочкам, создать аккуратную базу знаний – и только потом работать с запросами. SmartSearch показывает, что это убеждение не является абсолютной истиной.

Иногда лучший порядок – это не идеальный архив, а умение быстро найти нужное в живом, неупорядоченном потоке. Как опытный джазовый музыкант, который не играет по нотам, а слышит музыку и отвечает на неё в реальном времени.

С практической точки зрения это означает следующее:

  1. Меньше затрат на подготовку данных. Не нужно тратить ресурсы на предварительное структурирование каждого диалога с помощью дорогостоящих языковых моделей.
  2. Более быстрое развёртывание. Систему можно запустить на новом типе диалогов без длительной настройки и переобучения.
  3. Меньше искажений. Сырой диалог сохраняется как есть – со всеми нюансами и деталями, которые могли бы быть потеряны при структурировании.
  4. Экономия вычислительных ресурсов. Меньше токенов – меньше затрат на API, быстрее генерация ответов.

Это делает подобный подход особенно привлекательным для продуктов, где важна скорость реакции и стоимость обработки каждого запроса – то есть практически для любого коммерческого ассистента.

Ограничения SmartSearch и открытые вопросы разработки

Ограничения и открытые вопросы

Было бы нечестно не упомянуть и о том, что SmartSearch – не универсальное решение всех проблем.

Во-первых, подход основан на поиске подстрок и именованных сущностей. Это значит, что он хорошо работает, когда в запросе и в диалоге используются одинаковые или близкие слова. Если пользователь спрашивает про «транспортное средство», а в диалоге речь шла про «машину» – система может что-то пропустить. Семантический разрыв остаётся уязвимым местом.

Во-вторых, исследование проводилось на двух конкретных тестовых наборах. Насколько хорошо SmartSearch справится с диалогами на других языках, в других предметных областях или при других стилях общения – отдельный вопрос, требующий дополнительных проверок.

В-третьих, система использует два обученных компонента ранжирования – ColBERT и CrossEncoder. Они не требуют специальной настройки под конкретные данные, но всё же являются обученными моделями, и их качество зависит от того, на каких данных они изначально тренировались.

Тем не менее результаты SmartSearch – это убедительный сигнал: в разработке систем памяти для ИИ-ассистентов стоит меньше инвестировать в сложную предварительную обработку и больше – в умное ранжирование.

Итог: ранжирование как новая суперсила для ИИ-систем

Итого: ранжирование как новая суперсила

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

Система достигает результатов, которые превосходят более сложные и ресурсоёмкие аналоги – и делает это быстрее, дешевле и с меньшим количеством данных для обучения. Всё потому, что авторы сосредоточились на правильном вопросе: не «как лучше хранить информацию?», а «как лучше её находить?»

Алгоритмы не лучше нас – они просто другие. И иногда они находят решения там, где мы ищем сложность.

Оригинальное название: SmartSearch: How Ranking Beats Structure for Conversational Memory Retrieval
Дата публикации статьи: 16 мар 2026
Авторы оригинальной статьи : Jesper Derehag, Carlos Calva, Timmy Ghiurau
Предыдущая статья Два закона сознания: что отличает разум от механизма Следующая статья Как поймать тёмную материю: симфония атомов в кристаллической решётке

Связанные публикации

Вам может быть интересно

Войти в Лабораторию

Исследование не заканчивается одним экспериментом. Ниже – публикации, которые развивают похожие методы, вопросы или концепции.

ИИ: События

Unsloth ускорил обучение MoE-моделей в 12 раз и увеличил объем контекста

Технический контекст Разработка

Новые ядра и математические оптимизации Unsloth сокращают требования к памяти на 35%, увеличивают скорость обучения в 12 раз и позволяют работать с контекстом, который в 6 раз длиннее исходного.

Unslothunsloth.ai 11 фев 2026

ИИ: События

Как один токен сломал целую модель: история ошибки в vLLM

Технический контекст Инфраструктура

Инженеры AI21 Labs обнаружили странную ошибку в vLLM, которая превращала нормальные ответы модели Jamba в бессмыслицу – и всё из-за одного некорректного токена.

AI21 Labswww.ai21.com 29 янв 2026

От исследования к пониманию

Как создавался этот текст

Этот материал основан на реальном научном исследовании, а не сгенерирован «с нуля». В начале работы нейросети анализируют исходную публикацию: её цели, методы и выводы. Затем автор формирует связный текст, который сохраняет научный смысл, но переводит его из академического формата в ясное и читаемое изложение – без формул, но без потери точности.

Этическая рефлексия

68%

Междисциплинарность

74%

Техническая точность

82%

Нейросети, участвовавшие в работе

Мы показываем, какие модели использовались на каждом этапе – от анализа исследования до редакторской проверки и создания иллюстрации. Каждая нейросеть выполняет свою роль: одни работают с источником, другие – с формулировками и структурой, третьи – с визуальным образом. Это позволяет сохранить прозрачность процесса и доверие к результату.

1.
Gemini 2.5 Flash Google DeepMind Резюмирование исследования Выделение ключевых идей и результатов

1. Резюмирование исследования

Выделение ключевых идей и результатов

Gemini 2.5 Flash Google DeepMind
2.
Claude Sonnet 4.6 Anthropic Создание текста на основе резюме Преобразование резюме в связное объяснение

2. Создание текста на основе резюме

Преобразование резюме в связное объяснение

Claude Sonnet 4.6 Anthropic
3.
Gemini 2.5 Flash Google DeepMind Редакторская проверка Исправление ошибок и уточнение выводов

3. Редакторская проверка

Исправление ошибок и уточнение выводов

Gemini 2.5 Flash Google DeepMind
4.
DeepSeek-V3.2 DeepSeek Подготовка описания для иллюстрации Генерация текстового промпта для визуальной модели

4. Подготовка описания для иллюстрации

Генерация текстового промпта для визуальной модели

DeepSeek-V3.2 DeepSeek
5.
FLUX.2 Pro Black Forest Labs Создание иллюстрации Генерация изображения по подготовленному промпту

5. Создание иллюстрации

Генерация изображения по подготовленному промпту

FLUX.2 Pro Black Forest Labs

Хотите глубже погрузиться в мир
нейротворчества?

Первыми узнавайте о новых книгах, статьях и экспериментах с ИИ
в нашем Telegram-канале!

Подписаться