Агенты

RAG или длинный контекст — вкладывать документы или искать по ним

Иллюстрация: слева стопка всех документов на столе, справа — рука с одной нужной страницей

Ещё недавно, чтобы бот отвечал по твоим документам, RAG был обязателен: контекстное окно было крошечным, весь текст туда не влезал. Теперь у моделей окна на сотни тысяч и даже до миллиона токенов — можно просто вложить весь документ прямо в запрос. Логичный вопрос: RAG умер? Вот ответ, который сэкономит тебе деньги и нервы: нет. Они решают разные задачи. Разберём, когда что.

Два способа дать модели знания

Оба про «чтобы модель знала твой текст», но работают по-разному.

Длинный контекст — ты вкладываешь весь документ (или все документы) прямо в запрос. Модель видит всё сразу и отвечает. Просто как копипаст: вставил — спросил.

RAG — ты не вкладываешь всё. Система сначала находит нужные куски под конкретный вопрос и подкладывает в запрос только их — как шпаргалку. Модель читает не всю книгу, а три страницы по теме.

Сравнение на понятных осях

| Критерий | Длинный контекст | RAG (поиск кусков) | |---|---|---| | Что делаешь | вкладываешь весь текст в запрос | ищешь нужное, вкладываешь только его | | Цена | платишь за все токены каждый раз | платишь только за найденный кусок | | Объём данных | до предела окна | хоть гигабайты — в окно всё и не должно влезать | | Свежесть | надо переслать заново | правишь документ в базе, и всё | | Надёжность | «теряется» в середине длинного текста | подаёшь только нужное — меньше шума | | Сложность | проще некуда: вставил и спросил | нужна векторная база и поиск |

Кому что подойдёт — без увиливаний

Бери длинный контекст, если задача разовая, документ один и влезает в окно, а тебе важна простота. «Разбери вот этот договор», «суммируй эту статью», «найди ошибку в этом файле». Вставил текст — получил ответ. Городить поиск тут незачем.

Бери RAG, если данных много, они часто меняются, и гонять их целиком каждый раз дорого. База знаний компании, поддержка по сотням статей, твоя личная вики. RAG подаёт модели только релевантное — это дешевле, быстрее и масштабируется без предела окна.

А правда, что модель «теряет» середину?

Да, и это важный нюанс против «просто вложи всё». У длинного контекста есть эффект «потерялось в середине»: модель лучше всего помнит начало и конец вложенного текста, а середину длинного полотна вспоминает хуже. Плюс качество ответа заметно проседает на очень больших объёмах. Так что «миллион токенов в окне» ≠ «модель одинаково хорошо помнит весь миллион». RAG обходит это тем, что подаёт мало и по делу.

Длинный контекст убьёт RAG?

Нет. Он забрал у RAG простые случаи «один документ, разовый вопрос» — раньше и там приходилось строить поиск, теперь можно вложить напрямую. Но на масштабе (много данных, частые обновления, экономия на токенах) RAG остаётся выгоднее. Скорее они уживаются: мелочь — контекстом, объём — RAG-ом.

Что дешевле?

Почти всегда RAG — если данных много и обращаешься часто. Длинный контекст заставляет платить за весь вложенный текст на каждый запрос; вложил книгу — платишь за книгу снова и снова. RAG платит только за найденные куски. На одном разовом вопросе разница копеечная, но на потоке она решает. Кстати, не путай этот выбор с RAG против дообучения — то про другое: как дать модели знания насовсем.

Учись вайб-кодингу, а не просто читай о нём

Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →