Что такое RAG простыми словами
Начну с разбора заблуждения из лида. Обычная нейросеть — как способный новый сотрудник в первый рабочий день: прекрасно говорит, вежлив, сообразителен, но про вашу компанию не знает ничего. Спросите его о цене услуги — он либо честно скажет «не знаю», либо, что хуже, придумает правдоподобный ответ. И показать ему документы один раз недостаточно: в следующем диалоге он снова чистый лист, ничего «в память» не записалось.
RAG (по-английски retrieval augmented generation, «генерация с подглядыванием в документы») решает это просто: перед тем как ответить, система сначала находит в ваших материалах нужный кусок, а потом отвечает, опираясь на него. Тот же новичок, но теперь у него на столе лежит папка со всеми регламентами, и он подсматривает туда перед каждым ответом. Отвечает не по памяти, а по факту.
Почему обычный ИИ не отвечает по вашим данным
Большая модель обучена на огромном массиве текстов из интернета. Там нет вашего внутреннего прайса от прошлой недели, ваших условий доставки в конкретный город и вашего свежего регламента возврата. Модель физически не могла это выучить — этих данных не было в обучении.
Есть соблазн «дообучить» модель на своих данных, но для большинства задач это дорого, долго и негибко: обновили прайс — надо переучивать заново. RAG обходит проблему изящнее. Мы не трогаем саму модель, а просто даём ей нужный документ в момент вопроса. Поменялась цена — поменяли строчку в базе, и ассистент сразу отвечает по-новому. Это дешевле, быстрее и честнее: ответ всегда основан на актуальном тексте.
Как RAG работает: три шага
Под капотом всё выглядит технично, но идея умещается в три понятных шага. Разберу их на примере вопроса клиента «Сколько стоит выезд мастера в субботу?».
- Подготовка базы. Заранее берём ваши документы — прайсы, FAQ, регламенты — режем на небольшие смысловые куски и складываем в специальное хранилище, где по смыслу быстро находится нужное.
- Поиск. Приходит вопрос про субботний выезд — система ищет в базе именно те куски, где говорится про выезд, выходные и цены. Не всю базу, а три–пять самых подходящих фрагментов.
- Ответ. Модель получает вопрос вместе с найденными фрагментами и формулирует человеческий ответ строго на их основе. Не выдумывает, а пересказывает то, что нашла.
Ключевой момент — на третьем шаге модели прямо говорят: отвечай только по этим фрагментам, а если ответа в них нет, честно скажи об этом. Как грамотно давать такие указания, я разбираю в статье про основы промпт-инжиниринга — от формулировки инструкции сильно зависит, будет ли ассистент врать.
Без RAG ассистент — красноречивый собеседник, который иногда фантазирует. С RAG он превращается в сотрудника, который сначала лезет в справочник и только потом открывает рот. Бизнесу нужен второй — на этом принципе я собираю каждого ассистента.
Где RAG реально нужен бизнесу
RAG не нужен, если ваш ассистент болтает о погоде. Он становится обязательным, как только ответы должны быть точными и опираться на вашу специфику. Вот типичные ситуации, где я его закладываю:
- Поддержка клиентов по продукту: условия, тарифы, гарантия, возврат — ответы строго по вашим документам.
- Внутренний помощник для сотрудников: регламенты, инструкции, база знаний, чтобы не дёргать коллег по мелочам.
- Продажи: ассистент подбирает подходящую услугу и объясняет условия, не путаясь в прайсе.
- Обработка документов: договоры, отчёты, длинные PDF, по которым нужно быстро находить факты.
Особенно заметна польза в поддержке, где основная масса вопросов повторяется изо дня в день. Такой ассистент снимает главную нагрузку с людей, а редкие сложные случаи передаёт человеку. Подробнее эту логику я разбираю в статье про ИИ-бота поддержки.
Что нужно, чтобы запустить RAG у себя
Хорошая новость: чтобы получить пользу от RAG, вам не нужно разбираться в его внутренностях. Со стороны бизнеса требуется не так много, и почти всё — про порядок в информации, а не про технологии.
- Собрать документы в одном месте: актуальные прайсы, FAQ, регламенты, описания услуг.
- Навести в них порядок — убрать устаревшее и противоречивое, иначе ассистент будет путаться.
- Определить, что делать, если ответа в базе нет: передать человеку, попросить контакт, извиниться.
- Назначить того, кто будет поддерживать базу в актуальном состоянии.
Всё остальное — разрезать документы, настроить поиск, подключить модель и связать с мессенджером или сайтом — это уже инженерная часть. Именно её я и беру на себя, когда делаю кастомные ИИ-решения: собираю ассистента, который отвечает по вашей базе, и встраиваю его туда, где сидят ваши клиенты — в бота или на сайт. Как это выглядит со стороны пользователя, видно на примере ботов, которых я делаю.
Что влияет на качество ответов
RAG — не волшебная кнопка: качество ответов напрямую зависит от того, что и как вы в него загрузили. Если база противоречива — в одном документе цена одна, в другом другая, — ассистент будет путаться и выдавать то один вариант, то другой. Мусор на входе даёт мусор на выходе, как и в любой системе.
Поэтому перед запуском я всегда навожу порядок в документах: убираю устаревшее, свожу противоречия, разбиваю длинные файлы на понятные смысловые куски. Второй важный момент — инструкция модели: ей прямо задают отвечать только по найденным фрагментам и честно признаваться, если ответа в базе нет. Эти две вещи — чистая база и строгая инструкция — и отличают ассистента, которому можно доверять, от того, который иногда фантазирует.
Частые вопросы
Чем RAG отличается от дообучения модели?
Дообучение меняет саму модель под ваши данные — это дорого и надо повторять при каждом обновлении. RAG модель не трогает, а подкладывает ей актуальный документ в момент вопроса. Для большинства бизнес-задач RAG проще, дешевле и гибче.
Может ли ассистент с RAG всё равно выдумывать?
Риск снижается в разы, но не до нуля. Многое зависит от качества базы и от инструкции модели. Если прямо приказать отвечать только по найденным фрагментам и честно признаваться в незнании, выдумки становятся редкостью.
Насколько сложно поддерживать базу знаний?
Проще, чем кажется. Обычно достаточно держать в актуальном виде прайсы и частые вопросы. Обновление — это правка текста, а не перенастройка системы: поменяли строчку, и ассистент сразу отвечает по-новому.