METHODOLOGY · 1 июля 2026 г.
«RAG умер» — это категориальная ошибка
Каждый раз, когда окна контекста растут, возвращается заголовок: «RAG умер, просто клади всё в промпт». Он неверен каждый раз, и неверен по поучительной причине — он путает технику с проблемой. Retrieval не умер; умер наивный vector-database RAG, и его заменяет более умный retrieval, а не отсутствие retrieval. «X умер» почти всегда — это звук того, как кто-то путает текущую реализацию с постоянной потребностью под ней.
Есть заголовок, что возвращается по часам каждый раз, когда растут окна контекста: «RAG умер». Вышло окно на миллион токенов — значит, наверняка можно просто впихнуть всё в промпт и удалить пайплайн retrieval. Аккуратная история, она трендит раз в пару месяцев, и она была неверна каждый раз. Стоит понять почему — потому что ошибка это паттерн мышления, а не факт про RAG.
Техника против проблемы
«RAG умер» путает технику с проблемой, которую она решает. RAG — retrieval-augmented generation — это одна реализация. Проблема под ней постоянна: подать модели нужный контекст, дёшево и прослеживаемо. Эта проблема не исчезает с ростом окна. Если что, она усложняется, потому что теперь ты можешь свалить всё внутрь — и модель тихо игнорирует середину, пока твой счёт раздувается.
Одна экономика убивает план «просто бери длинный контекст»: retrieval, по сообщениям, в 8–82 раза дешевле, чем впихивание длинного контекста для типичных нагрузок, с лучшей задержкой. Платить за то, чтобы протолкнуть 400k токенов через модель на каждом вызове, чтобы она проскользнула мимо единственного важного абзаца, — это не апгрейд над тем, чтобы этот абзац достать.
Что реально умерло
Кое-что умерло — просто не retrieval. Умер наивный RAG: наруби всё на чанки, зашей в эмбеддинги, top-k косинусная близость, скрести пальцы. Именно этот рецепт всегда был хрупким, и его заменяет retrieval, который умнее, а не отсутствует. Складывающийся консенсус — «наивный RAG умер, изощрённый RAG процветает»: гибридный поиск, retrieval как агентное действие, которое модель выбирает, когда оно нужно, grep и структурные запросы рядом с векторами, выборка с высоким recall, где модель делает финальную фильтрацию. Техника эволюционировала. Потребность не сдвинулась ни на дюйм.
«X умер» почти всегда — это кто-то, путающий текущую реализацию с постоянной проблемой. Трубопровод меняется постоянно. То, для чего трубопровод, меняется почти никогда.
Паттерн — вот суть
Это стоит усвоить за пределами RAG, потому что «X умер» ты будешь слышать про что-нибудь каждый квартал: prompt engineering, файнтюнинг, агенты, RAG, что там дальше. Прогоняй через один и тот же фильтр каждый раз:
- Отдели потребность от инструмента. Какую постоянную проблему решала эта техника? Retrieval: подать нужный контекст. Эта потребность не в списке на депрекейт.
- Спроси, что именно сломалось. Обычно это наивная версия, и «смерть» на деле эволюция. «Наивный X умер, хороший X процветает» — честный заголовок в девяти случаях из десяти.
- Следуй за экономикой и режимами отказа. Более дешёвый, прослеживаемый, дебажимый подход побеждает в проде независимо от того, что трендит. Длинный контекст проиграл на цене и на середине-кладбище, а не на способностях.
- Подозревай «просто клади всё внутрь». Любой питч, кончающийся на «дисциплина тебе больше не нужна», обычно продаёт ведро побольше, а не ответ получше.
Для меня это прямо связано с grounding: подать модели нужный, проверяемый контекст — вот вся игра, и retrieval — это как ты это делаешь. Это требование не умирает — инструменты для него просто становятся лучше, что противоположно смерти.
Итог
«RAG умер» возвращается каждый раз, когда растёт окно, и промахивается каждый раз: он убивает технику и объявляет проблему решённой, тогда как проблема — нужный контекст, дёшево, прослеживаемо — ровно так же жива, как и была.
Не отправляй на пенсию потребность, когда меняется реализация. Услышал «X умер» — спроси, какую проблему X решал и делась ли эта проблема куда-нибудь. Обычно нет.
Комментарии
Пока нет комментариев
Войдите, чтобы участвовать в разговоре.
Будьте первым, кто оставит мысль.