AI агент с RAG: как научить бота отвечать по документам

AI агент с RAG — это чат-бот или ассистент, который перед ответом сначала находит нужные места в документах вашей компании и только потом формулирует ответ. Для бизнеса в Узбекистане это разница между агентом, который уверенно называет несуществующую цену, и агентом, который отвечает по актуальному прайсу и честно говорит «уточню у менеджера».

Зачем бизнесу AI агент с RAG

Языковая модель знает много общего, но ничего не знает о вашей компании: ни о стоимости услуг в сумах, ни об условиях рассрочки, ни о том, что доставка в Самарканд и в Нукус идёт по разным правилам. Если подключить её к Telegram-боту или Instagram Direct без дополнительных данных, она будет отвечать правдоподобно, но не обязательно верно.

RAG (Retrieval-Augmented Generation, «генерация с поиском») решает эту проблему. Агент получает не только вопрос клиента, но и несколько найденных фрагментов ваших документов, и строит ответ на них. Это и есть способ научить агента вашим правилам без переобучения модели.

Как RAG работает по шагам

Внутри всё устроено проще, чем кажется. Понимать схему полезно, потому что почти каждая ошибка агента находится на одном из этих шагов.

  • Документы делятся на небольшие смысловые фрагменты.
  • Каждый фрагмент попадает в векторное хранилище, где искать можно по смыслу, а не по точному слову: «сколько стоит привезти» найдёт раздел про доставку.
  • Клиент задаёт вопрос, система выбирает несколько самых близких фрагментов.
  • Фрагменты и вопрос передаются модели вместе с правилом: отвечать только по найденному.
  • Модель пишет ответ, по возможности указывая, из какого документа он взят.

RAG, длинная инструкция или дообучение: что выбрать

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

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

Подготовка документов: пошаговая инструкция

Главный источник проблем — не модель, а исходные материалы. Презентации, длинные регламенты и выгрузки переписок плохо ищутся. Разберём подготовку на примере магазина бытовой техники в Ташкенте с доставкой по областям, оплатой через Click и Payme и рассрочкой.

Шаг 1. Соберите вопросы, которые клиенты реально задают. Возьмите переписки в Telegram и Instagram, звонки в отдел продаж, комментарии на маркетплейсах вроде Uzum и вопросы по объявлениям на OLX. Выпишите 30–50 повторяющихся вопросов.

Шаг 2. Для каждой темы создайте отдельный короткий раздел с понятным заголовком: «Доставка по Ташкенту», «Доставка в регионы», «Оплата через Payme», «Условия рассрочки», «Гарантия и возврат». Одна тема — одно место.

Шаг 3. Пишите самостоятельными абзацами. Фрагмент должен быть понятен без соседних. Вместо «условия те же» напишите условия полностью.

Шаг 4. Уберите противоречия: если в одном файле гарантия указана одна, а в другом иная, агент случайно выберет любую. Оставьте один источник правды и дату актуальности. Шаг 5. Приведите названия к единому виду: если товар в прайсе называется одним образом, а в инструкции по-другому, поиск может их не связать. Содержимое таблиц и картинок переведите в текст.

Разбиение на фрагменты и типичные ошибки

Размер фрагмента — компромисс. Слишком крупные куски тянут много лишнего, и ответ получается размытым. Слишком мелкие теряют контекст: условия доставки отрываются от названия региона, и агент не понимает, к кому они относятся. Хорошая практика — делить по смысловым разделам и добавлять к каждому фрагменту заголовок раздела.

  • Загрузили сырой PDF-регламент целиком и ждут точных ответов.
  • Оставили старые версии прайса рядом с новыми.
  • Не прописали правило «если в документах нет ответа, скажи об этом».
  • Один и тот же факт записан в трёх местах по-разному.
  • Проверили только красивые вопросы, а не те, что пишут клиенты, в том числе с ошибками и на смеси русского и узбекского.

Как проверять качество поиска

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

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

Обновление базы и ограничения RAG

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

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

Чек-лист перед запуском

Пройдитесь по списку до того, как агент начнёт общаться с клиентами.

  • Документы разбиты по темам, названия единые, даты актуальности указаны.
  • Противоречий и старых версий в базе нет.
  • Тестовый набор из реальных вопросов проверен вместе с найденными фрагментами.
  • Агент признаёт, что не знает, и передаёт диалог человеку.
  • Назначен ответственный за обновление базы.
  • Настроено сохранение диалогов и вопросов без ответа.

Как измерить, окупается ли агент

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

Если вы хотите внедрить AI агента и заодно видеть его вклад в продажи, команда markdev может помочь выстроить отчётность и обсудить вашу задачу без спешки.

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

Чем AI агент с RAG отличается от обычного чат-бота?

Обычный бот отвечает по заранее написанным сценариям, а агент с RAG находит нужные фрагменты в документах и формулирует ответ сам. Он лучше справляется с нестандартными формулировками вопросов, но требует аккуратной подготовки базы знаний.

Нужно ли переобучать модель, когда меняются цены?

Нет. При RAG достаточно обновить документ и переиндексировать базу. Главное убрать старые версии, иначе поиск может найти устаревшие данные.

Почему агент отвечает неверно, хотя нужный документ есть в базе?

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

Может ли агент работать с вопросами на узбекском и русском одновременно?

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

Подходит ли RAG для проверки остатков и статуса заказа?

Напрямую нет, такие данные быстро меняются. Для них агента подключают к учётной системе или таблице, а RAG оставляют для правил, условий и описаний.

Разберём вашу задачу бесплатно

Оставьте контакт — за 15 минут созвона покажем, где теряются заявки и что сделать в первую очередь.