Денис Лузиков@deni_vitoБесплатный разбор

Что такое RAG и зачем он ИИ-агенту

Коротко

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

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

Объясню без академизма: что это за механизм, почему без него ИИ-агент в бизнесе бесполезен и где он перестаёт справляться.

Проблема, ради которой всё придумали

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

Хуже другое: на вопрос про ваш прайс она всё равно ответит. Уверенно, связно и с правдоподобными цифрами. Это свойство, а не поломка: модель предсказывает продолжение текста, а не сверяется с источником.

Для бизнеса это неприемлемо. Клиент, которому бот назвал несуществующую цену, приходит не к боту, а к вам.

Отсюда задача: заставить модель отвечать по документам, а не по памяти. Так и появился RAG — retrieval-augmented generation, генерация с дополненной выборкой. Название описывает механику: перед генерацией ответа система делает выборку из базы.

Как это работает: четыре шага

Механизм проще, чем кажется из названия.

Путь одного вопроса
ВопросКлиент спрашивает про возврат
Поиск в базеНаходим куски документов по смыслу
Сборка запросаВопрос + найденные куски
Ответ моделиМодель отвечает по этим кускам
Ключевой — второй шаг. Модель не ищет: ищет система, а модель только формулирует ответ по найденному.

Пройдём по каждому шагу подробнее — именно в деталях прячутся все проблемы внедрения.

Шаг 1. Документы разрезают на куски

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

Здесь совершается первая ошибка внедрения. Если резать механически, по числу символов, кусок оборвётся на середине мысли: условие возврата в одном фрагменте, срок — в другом. Модель получит половину правила и ответит по половине.

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

Шаг 2. Куски превращают в числа

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

Практический смысл: клиент спросил «можно ли вернуть», в регламенте написано «отказ от товара надлежащего качества» — слова разные, смысл близкий, поиск сработает.

Шаг 3. По вопросу находят подходящие куски

Вопрос клиента тоже превращают в вектор и ищут ближайшие фрагменты. Обычно берут три-пять самых близких.

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

Шаг 4. Модель отвечает по найденному

Найденные куски подставляют в запрос вместе с вопросом и инструкцией вроде «отвечай только по этим документам».

Модель формулирует ответ. Именно формулирует, а не вспоминает — вся фактура пришла из ваших документов.

Чем RAG отличается от дообучения

Второй по частоте вопрос после «что это такое». Разница принципиальная и влияет на бюджет.

RAGДля меняющихся данных
  • Модель не трогаем
  • Обновление — заменить документ
  • Видно, откуда взят ответ
  • Каждый запрос дороже: контекст больше
ДообучениеДля стиля и формата
  • Меняем саму модель
  • Обновление — переобучение
  • Источник ответа не отследить
  • Запрос дешевле, обучение дорого
Для бизнеса почти всегда правильный ответ — RAG: прайсы и регламенты меняются чаще, чем имеет смысл переучивать модель.

Простое правило: дообучение отвечает на вопрос «как говорить», RAG — на вопрос «что знать». Если нужно, чтобы модель писала в вашем тоне, — это дообучение или хорошо написанный промпт. Если нужно, чтобы она знала ваши условия доставки, — это RAG.

Зачем RAG именно ИИ-агенту

Агент отличается от чат-бота тем, что принимает решения и совершает действия. Решение он принимает на основании того, что знает. Само понятие разобрано отдельно — что такое ИИ-агент.

Без RAG агент знает две вещи: общие сведения из обучения модели и то, что уместилось в системный промпт. Этого хватает для сценария «поздоровайся и уточни телефон» и не хватает ни для чего сложнее.

С RAG агент получает доступ к вашей базе: условиям, регламентам, истории клиента. И начинает отвечать не «в общем случае обычно возвращают в течение двух недель», а «по вашему договору у вас четырнадцать дней, и вот пункт».

Разница между агентом и обычным ботом разобрана отдельно — чем ИИ-агент отличается от чат-бота. Здесь важно другое: база знаний — это не файл, а инфраструктура, и она требует ухода.

Что ломается на практике

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

Куски нарезаны неудачно. Самая частая. Проверяется просто: задайте системе десять реальных вопросов клиентов и посмотрите не на ответ, а на то, какие фрагменты она нашла. Если фрагменты не те — дело не в модели.

В базе лежат три версии одного документа. Модель честно отвечает по тому, что нашла, а нашла она прошлогодний регламент. Это не сбой поиска, это отсутствие владельца у базы.

Нет ответа «я не знаю». Если системе не задано правило молчать при отсутствии подтверждения, она будет отвечать всегда. Правило простое: не нашёл в документах — передай человеку.

Таблицы и сканы. Прайс в виде картинки для поиска не существует. Таблица, превращённая в сплошной текст, теряет структуру: строка про один товар склеивается со строкой про другой.

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

Сколько это стоит

Стоимость RAG складывается из трёх частей, и главная — не техническая.

ЧастьКогда платитсяОт чего зависит
Подготовка документовразово, потом обновленияВ каком виде они у вас сейчас
Разработка и хранилищеразовоОбъём базы и требования к скорости
Запросы к моделиежемесячноСколько текста уезжает в каждый запрос

Про последнюю строку стоит сказать отдельно. Каждый запрос с RAG тяжелее обычного: к вопросу добавляются найденные фрагменты. Если в запрос уезжает пять кусков по 500 слов, это несколько тысяч токенов сверху — и они оплачиваются каждый раз.

В русском тексте один токен — это примерно 3–4 символа. При тарифах GigaChat от 65 ₽ за миллион токенов на младшей модели даже тяжёлые запросы остаются копеечными поштучно — но на потоке в тысячи диалогов разница между аккуратной выборкой и «подложим всё подряд» становится заметной.

Подробный разбор бюджета — в статье про то, сколько стоит ИИ-агент.

Как улучшают качество поиска

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

Гибридный поиск. Кроме поиска по смыслу добавляют обычный поиск по словам. Смысловой поиск хорош, когда клиент формулирует вопрос своими словами, а буквальный незаменим, когда в вопросе есть артикул, номер договора или название модели — то, что как раз надо найти дословно.

Переранжирование. Сначала находят двадцать кандидатов быстрым способом, потом отдельная модель пересматривает их и оставляет три действительно подходящих. Дороже, но заметно точнее.

Переписывание вопроса. Клиент пишет «а если не подойдёт?» — без контекста такой запрос не найдёт ничего. Система сначала превращает его в самостоятельный вопрос вроде «условия возврата товара, который не подошёл», и уже по нему ищет.

Метаданные. К каждому куску прикладывают пометки: к какому продукту относится, для какого региона, с какой даты действует. Поиск фильтрует по ним — и клиент из Казани не получает условия московского филиала.

ПриёмЧто чинитЦена вопроса
Гибридный поискАртикулы, номера, точные названияПочти бесплатно
ПереранжированиеНаходится «похожее», а не нужноеДополнительная модель на каждый запрос
Переписывание вопросаКороткие реплики в диалогеЛишний запрос к модели
МетаданныеСмешение регионов, версий, продуктовРабота при подготовке базы

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

Графы знаний: когда обычного поиска мало

Отдельная ветка развития, о которой сейчас много пишут.

Обычный RAG находит куски по отдельности и не понимает связей между ними. Вопрос «кто отвечает за договор с этим клиентом» требует пройти цепочку: клиент → договор → менеджер → его руководитель. Поиск по смыслу такую цепочку не соберёт: он вернёт три текста, где эти слова встречаются рядом.

Граф знаний хранит именно связи: сущности и отношения между ними. Поиск идёт по структуре, а не по похожести текста.

Честная оговорка: граф — это дорого. Его надо спроектировать, наполнить и поддерживать в актуальном состоянии. Для типовой задачи «отвечать клиентам по регламенту» он избыточен. Он оправдан там, где вопросы требуют связывать разрозненные сущности: сложные B2B-продажи, юридические конструкции, производственные цепочки.

Как проверить, что RAG работает

Три уровня проверки, и первые два важнее третьего.

Что и в каком порядке проверять
  1. 1
    Находит ли поиск нужные кускиБерём 20 реальных вопросов, смотрим на найденные фрагменты, а не на ответ
  2. 2
    Молчит ли система, когда ответа нетЗадаём вопрос, ответа на который в базе заведомо нет
  3. 3
    Хорош ли текст ответаПроверяется последним: формулировку править легко
  4. 4
    Не смешивает ли версии и регионыЕсли в базе есть разные условия для разных случаев
  5. 5
    Что происходит при обновлении документаЗаменили файл — изменился ли ответ
Порядок принципиален: красивый ответ по неверно найденным кускам выглядит убедительнее, чем честное «не знаю», и потому опаснее.

Метрика, которая говорит больше всех: доля вопросов, на которые система честно ответила «не знаю» и передала человеку. Ноль таких ответов — не признак хорошей системы, а признак того, что правило молчания не работает.

Три сценария, где RAG окупается быстрее всего

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

Внутренний помощник для сотрудников. Недооценённый сценарий. Новый менеджер вместо того, чтобы дёргать старшего, спрашивает у системы: как оформить возврат, какие условия для этого клиента, где взять шаблон. Здесь нет риска испортить отношения с клиентом, поэтому и запускать проще — многие начинают именно отсюда.

Работа с документами. Договоры, счета, техническая документация. Задача не «поговорить», а найти и сопоставить: что написано в пункте, чем отличается от прошлой редакции, есть ли противоречие. Здесь RAG заменяет не общение, а чтение.

Частые заблуждения

«RAG — это отдельный продукт, который можно купить». Это архитектурный подход, а не коробка. Его собирают из хранилища, поиска, модели и правил — под конкретную базу.

«Достаточно загрузить папку с документами». Загрузить можно. Работать будет плохо: нарезка, метаданные и чистка версий — та работа, которая определяет результат.

«Чем больше документов, тем умнее система». Наоборот. Чем больше мусора в базе, тем чаще поиск возвращает не то. Двадцать выверенных страниц дают лучший результат, чем двести противоречивых.

«Модель запомнит наши документы». Не запомнит. При каждом запросе она видит только то, что ей подложили. Это не недостаток, а свойство: именно поэтому обновление базы мгновенно меняет ответы.

Как понять, нужен ли вам RAG

Четыре вопроса. Если на все четыре ответ «да» — нужен.

Проверка
  1. 1
    Ответы зависят от ваших документовА не от общих знаний о мире
  2. 2
    Документов больше, чем влезает в один запросИначе проще положить их целиком в промпт
  3. 3
    Данные меняютсяПрайсы, условия, ассортимент
  4. 4
    Цена ошибки высокаяВыдуманный ответ навредит репутации или деньгам
Второй пункт отсекает больше половины случаев: маленькой базе знаний RAG не нужен, ей хватит системного промпта.

С чего начинать внедрение

Порядок, который экономит бюджет и нервы.

Порядок работ
  1. 1
    Собрать реальные вопросыСто последних обращений клиентов
  2. 2
    Найти, где лежат ответыОбычно в четырёх местах сразу
  3. 3
    Свести в один источникС владельцем, который его обновляет
  4. 4
    Разрезать по смыслуРаздел, пункт, вопрос-ответ
  5. 5
    Проверить поиск, а не ответыТе ли фрагменты находятся
  6. 6
    Задать правило молчанияНет подтверждения — передать человеку
Пятый шаг пропускают почти всегда, а он единственный отвечает на вопрос, работает ли система вообще.

Чего RAG не делает

Ограничения, которые редко описывают те, кто технологию продаёт.

Не исправляет плохие документы. Если регламент написан невнятно, ответы будут невнятными. RAG передаёт содержание, а не улучшает его.

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

Не гарантирует точность. Он резко снижает вероятность выдумки, но не обнуляет её.

Не решает вопрос доступов. Если у разных сотрудников разные права на документы, это надо закладывать отдельно — иначе агент расскажет менеджеру то, что предназначалось руководителю.

Что делаю я

Начинаю не с технологии, а с ваших документов. Смотрим, на какие вопросы клиенты спрашивают чаще всего и где лежат ответы. Часто выясняется, что половина ответов существует только в голове старшего менеджера, — и до RAG нужно сделать другую работу.

Собираю ИИ-агентов с базой знаний под ключ: подготовка документов, поиск, границы полномочий, правило «не знаю — передай человеку». Если вижу, что вашей базе хватит обычного чат-бота с деревом ответов, говорю об этом прямо: RAG там будет дороже и капризнее без выигрыша.

Где заканчивается теория и начинается ваша база

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

Денис Лузиков
Денис ЛузиковРазработчик ИИ-агентов и чат-ботов

5 лет работаю с ИИ, 120+ проектов в разных нишах. Четыре продукта в Telegram, которые можно открыть и попробовать прямо сейчас, — суммарно 477 016 пользователей в месяц. Разработку веду сам, без агентства.

Вопросы

Частые вопросы

Чем RAG отличается от дообучения модели

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

Перестанет ли модель выдумывать факты, если подключить RAG

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

Какие документы можно положить в базу знаний RAG

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

Нужен ли RAG, если документов мало

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

Может ли RAG работать с данными, которые нельзя отдавать наружу

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