Языковая модель знает то, чему её учили, и не знает ваших регламентов, цен и условий. Спросите её про сроки поставки в вашей компании — она либо откажется отвечать, либо придумает правдоподобный ответ.
RAG решает эту задачу простым приёмом: перед тем как ответить, система находит нужные фрагменты в ваших документах и передаёт их модели вместе с вопросом. Модель отвечает не по памяти, а по тому, что ей только что показали.
Название расшифровывается как retrieval-augmented generation — «генерация, дополненная поиском». За громким термином стоит именно это: сначала найти, потом сформулировать.
Аналогия, которая объясняет всё остальное
Представьте грамотного сотрудника, который прекрасно владеет языком, но пришёл к вам вчера и ваших внутренних правил не знает.
Есть два способа сделать его полезным.
Первый — отправить на обучение. Пусть выучит регламенты наизусть. Долго, дорого, а при изменении условий придётся учить заново. И проверить, откуда он взял конкретный ответ, вы не сможете — он скажет «я так помню». Это дообучение модели.
Второй — дать доступ к справочнику и научить им пользоваться. На каждый вопрос он открывает нужный раздел и отвечает по нему, показывая страницу. Изменились условия — заменили лист в папке. Это RAG.
Для фактических знаний второй способ почти всегда лучше, и причины разобраны отдельно — «RAG или дообучение модели».
Из чего состоит
Четыре части, и модель участвует только в последней.
1. Подготовка корпуса. Документы превращаются в текст и режутся на фрагменты. Звучит буднично, а на деле определяет качество всей системы: слишком крупные куски несут лишнее, слишком мелкие теряют смысл. Разбор — «Чанкинг документов». Сканы и PDF со сложной вёрсткой — отдельная работа, «OCR и PDF».
2. Индексация. Каждый фрагмент переводится в набор чисел — вектор, который отражает его смысл. Близкие по смыслу тексты дают близкие векторы, поэтому поиск работает не по совпадению слов, а по смыслу. Выбор модели векторизации для русского языка — «Эмбеддинги для русского», выбор хранилища — «pgvector или Qdrant».
3. Поиск. По вопросу находятся подходящие фрагменты. На практике одного смыслового поиска мало: артикулы, номера договоров и названия моделей он не различает. Поэтому его совмещают со словесным — «Гибридный поиск» — и добавляют переоценку найденного, «Реранкинг».
4. Формулирование. Модель получает вопрос и найденные фрагменты, составляет ответ строго по ним и указывает источник. Последнее — не украшение: «Цитирование источников».
Полная схема со всеми промежуточными шагами — «Архитектура RAG по шагам».
Что это даёт по сравнению с «просто нейросетью»
| Модель сама по себе | RAG | |
|---|---|---|
| Знает ваши документы | нет | да |
| Обновление сведений | никак | заменить документ |
| Можно проверить источник | нет | да |
| Разграничение доступа | нет | да, при поиске |
| Стоимость изменения | переобучение | загрузка файла |
| Отвечает при отсутствии данных | придумывает | может честно отказаться |
Последняя строка требует оговорки: отказ не появляется сам. Его нужно заложить в конструкцию. Система, обязанная отвечать всегда, будет выдумывать и в RAG — просто реже. Механизм разобран в статье «Почему нейросеть выдумывает».
Разбор: как это выглядит на одном вопросе
Компания продаёт оборудование. В базе знаний — прайс, регламент поставки, гарантийные условия, переписка с типовыми случаями.
Вопрос клиента: «Сколько ждать поставку ТМ-40, если мы в Крыму и платим по безналу?»
Что происходит внутри.
Сначала поиск. Смысловой находит фрагменты про сроки поставки — их несколько, потому что тема популярная. Словесный находит фрагмент, где буквально встречается «ТМ-40», — смысловой поиск это обозначение проигнорировал бы, для него это набор символов без значения. Результаты объединяются.
Затем переоценка. Из десятка найденных фрагментов отбираются три-четыре, действительно относящихся к вопросу: базовый срок, оговорка про регионы, условие про безналичную оплату юрлицами.
Потом формулирование. Модель получает эти фрагменты и составляет ответ, в котором есть все три условия, со ссылкой на пункт регламента.
Что было бы без этих шагов. Без словесного поиска ответ был бы про сроки вообще, без привязки к модели. Без переоценки в модель ушло бы десять фрагментов, часть из которых про другие товары, и ответ размылся бы. Без региональной оговорки в базе знаний — а её там могло не быть, потому что «все и так знают» — ответ был бы уверенно неверным.
Вывод, который важнее примера. Качество RAG определяется не моделью, а тем, что происходит до неё. Одна и та же модель на хорошем и плохом поиске даёт результаты разного качества.
Когда RAG оправдан
- Ответы должны опираться на ваши документы и быть проверяемыми.
- Сведения меняются: цены, условия, регламенты, ассортимент.
- Документов много, и человек тратит время на поиск нужного.
- Нужно разграничение доступа: разные сотрудники видят разное.
- Важно показать источник — в регулируемых сферах это обязательное требование.
Когда не оправдан
- Документов нет. Самая частая ситуация. RAG ищет по тому, что есть; если знания живут в головах, сначала их надо записать — «Подготовка базы знаний для ИИ».
- Вопросов мало и они однотипны. Пять вопросов на девяносто процентов обращений закрываются обычным сценарием, и он дешевле.
- Нужен стиль, а не факты. Если задача — писать в определённой манере, поиск не поможет, тут работает дообучение.
- Ответ требует вычислений или действий. RAG отвечает по документам; менять данные в системах — задача агента.
- Материалы противоречивы. Пока в регламенте один срок, на сайте другой, а менеджеры говорят третий, система будет отвечать по тому, что нашлось. Это чинится людьми, а не техникой.
Честные ограничения
RAG не гарантирует правильный ответ. Он резко снижает выдумывание, но не устраняет его. Если найден не тот фрагмент, ответ будет уверенным и неверным.
Качество упирается в материалы. Ни одна настройка не компенсирует отсутствующий или устаревший документ.
Это не разовый проект. Документы меняются, вопросы меняются, качество нужно измерять — «Метрики RAG» — и поддерживать.
Расходы постоянные. Каждый ответ — это обращение к модели с переданным контекстом, и чем больше фрагментов передаётся, тем дороже. Разбор — «Сколько стоит эксплуатация ИИ».
Частые вопросы
Что такое RAG простыми словами?
Это способ заставить языковую модель отвечать по вашим документам. Перед ответом система находит в них подходящие фрагменты и передаёт модели вместе с вопросом, поэтому та отвечает по свежим данным, а не по тому, что запомнила при обучении. Заодно появляется возможность показать источник ответа.
Чем RAG отличается от дообучения модели?
При дообучении знания растворяются в параметрах модели: обновить их можно только повторным обучением, а показать источник нельзя. При RAG документы лежат отдельно, обновляются заменой файла, и на каждый ответ можно дать ссылку. Для фактических сведений RAG почти всегда предпочтительнее, для стиля и формата — наоборот.
Нужен ли RAG, если у нас всего десяток документов?
Возможно, нет. При небольшом объёме сведения иногда проще положить прямо в инструкцию модели — это дешевле и проще в сопровождении. RAG начинает выигрывать, когда документов много, они меняются или нужно разграничение доступа.
Может ли RAG выдумывать?
Может, хотя заметно реже. Обычная причина — не изъян модели, а то, что поиск нашёл не тот фрагмент или в базе знаний нужных сведений нет вовсе. Поэтому в конструкцию закладывают отказ от ответа при отсутствии подходящих данных и обязательную ссылку на источник.
Сколько времени занимает разработка RAG-системы?
Прототип, отвечающий по документам, собирается быстро и на демонстрации выглядит убедительно. Основное время уходит на подготовку корпуса, настройку поиска и проверку качества на реальных вопросах. Сроки определяются состоянием ваших материалов, а не сложностью технологии.
Где хранятся наши документы?
Там, где решите. RAG можно развернуть и на своей инфраструктуре, включая полностью локальный контур без обращений наружу — «Локальное развёртывание LLM». Для организаций с требованиями к обработке данных это обычно определяющее условие.
Что дальше
Как система устроена внутри — «Архитектура RAG по шагам». С чего начинается подготовка — «Подготовка базы знаний для ИИ». Если задача — отвечать клиентам, посмотрите прикладной разбор: «Чат-бот по базе знаний».
Проектирование и внедрение RAG-систем — часть работы по разработке и внедрению ИИ. Оценить, хватит ли ваших материалов, можно до начала разработки на аудите.