Коротко
Что такое бот первой линии и чем он отличается от FAQ?
Задача у первой линии простая и неблагодарная: девять из десяти вопросов повторяются, а отвечать надо быстро и одинаково правильно. Страница частых вопросов эту задачу закрывает плохо: человек не читает простыню, он хочет спросить своё.
За последний месяц в НейроДА мы собрали два таких бота. Первый - для промо-сайта крупной акции с загрузкой чеков, где вопросы участников идут потоком и ответ должен точно совпадать с правилами. Второй - помощник в моём сервисе Zaletai, который объясняет, как пользоваться платформой. Задачи разные, а устройство похожее, и ниже я разберу именно его.
Сразу граница: бот первой линии - не ИИ-агент. Он ничего не делает в системах компании, не меняет заказы и не оформляет возвраты. Он отвечает и передаёт.
Восемь шагов, через которые проходит каждый вопрос
Бот для промо-сайта на первой приёмке заказчиком выглядел так. Каждый шаг закрывает конкретный риск.
| Шаг | Что делает | От чего защищает |
|---|---|---|
| 1. Проверка источника | запрос пришёл с нужного сайта, бот включён | от чужих сайтов, которые попробуют пользоваться твоим ботом |
| 2. Маскирование данных | телефон, почта, номер чека прячутся до передачи в модель | от утечки персональных данных во внешний сервис |
| 3. Намерение | продолжение диалога, новая тема, вопрос по делу или провокация | от попыток увести бота в сторону |
| 4. Контекст | подтягивает историю диалога | от потери нити в уточнениях |
| 5. Поиск факта | короткое «а если на день позже?» достраивает до полного вопроса и ищет в базе | от ответа «мимо» на уточнение |
| 6. Ответ или отказ | факт найден - модель формулирует; не найден - модель не вызывается | от выдуманных ответов |
| 7. Проверка ответа | сверка ответа с вопросом и фактом до показа | от ответа, который съехал по дороге |
| 8. Выдача | ответ показан, диалог запомнен | от повторных вопросов |
На провокацию на третьем шаге бот отвечает заранее закреплённым текстом, модель при этом вообще не вызывается. Это дешевле и надёжнее, чем учить модель отказывать вежливо: закреплённый текст не придумает ничего лишнего.
Про маскирование отдельно. Посетители пишут в чат всё подряд, включая телефоны и номера документов. Если это уходит в облачную модель как есть, у компании появляется передача персональных данных, о которой она не договаривалась. Что можно и нельзя отдавать нейросетям, подробно разбирал в материале про чувствительные данные в компании.
Почему бот должен уметь сказать «такой информации нет»?
Самая частая ошибка самодельных ботов - вся база знаний в инструкции модели и надежда, что модель не будет придумывать. Будет. Модель обучена отвечать, и при недостатке фактов она достроит правдоподобное.
Anthropic в документации о снижении галлюцинаций первым приёмом называет разрешение модели сказать «не знаю», а вторым - ограничение ответа предоставленными документами. В боте первой линии я иду на шаг дальше: решение «знаем или нет» принимает не модель, а система. Не нашёлся факт - модель не вызывается.
В помощнике Zaletai это доведено до предела. База - 64 статьи и 263 варианта формулировок вопросов.
Модель только выбирает статус ответа и не больше двух подходящих статей, а точный текст статьи выдаёт сервер. Перед выкладкой помощник прошёл 50 из 50 синтетических вопросов, включая вопросы про возможности, которых в продукте нет, и попытки увести его в сторону. Это проверка на конкретном наборе, а не гарантия на любой вопрос, поэтому журнал после запуска всё равно нужен.
Как ловить выдумки нейросети в других задачах, разбирал в статье про галлюцинации нейросетей.
Где нужен закреплённый текст, а где живой ответ модели?
На приёмке бота для промо-сайта главная претензия заказчика была не к фактам, а к стилю: бот отвечал «по-свойски», а у бренда премиальный тон и обращение на «Вы». Причина простая: стиль в письменном виде никто не передал, и разработчик взял универсальный. Неделя перед стартом ушла на то, чего не было на бумаге ни у агентства, ни у бренда.
Решение нашлось быстро и стало частью метода:
- Заказчик размечает свои вопросы на два типа: «гарантированный ответ» и «живой ответ модели».
- Для гарантированных пишется закреплённый текст, который бот выдаёт дословно.
- Из эталонных ответов заказчика модель выводит описание стиля в три-четыре предложения, оно вместе с примерами уходит в инструкцию финального шага.
- Те же вопросы прогоняются повторно и сверяются с эталоном.
До начала работы проси у заказчика пять-десять эталонных ответов живых операторов. Если их нет, зафиксируй это в переписке и согласуй стиль на первой неделе, а не на приёмке.
Когда бот отдаёт вопрос человеку?
В обоих ботах передача человеку устроена одинаково по смыслу. Бот отвечает первым. Кнопка менеджера появляется, только когда бот не может ответить: на промо-сайте это была одна из правок после приёмки.
В Zaletai я сознательно не стал делать вкладку «Связаться с человеком». Сложный вопрос или сбой открывает форму «Вопрос оператору»: текст вопроса и почта для ответа. По замыслу оператор получает уведомление в Telegram и на почту и отвечает прямо из бота, а ответ уходит пользователю письмом. Эту доставку я ещё подключаю, и пока форма показывает публичную почту поддержки: честнее, чем принять обращение и потерять его.
Две детали, о которых забывают:
- Заявка сохраняется до отправки уведомления. Если мессенджер не ответил, обращение не теряется, доставка повторяется. Повторное нажатие кнопки не создаёт дубль.
- Помощник не видит аккаунт пользователя. Личные данные и история аккаунта в модель не передаются, и помощник честно об этом пишет в окне: вопросы про конкретный платёж уходят человеку.
Пять входов, которые готовят до запуска
База знаний
Правила и условия, частые вопросы, а ещё структура сайта и личного кабинета: «где посмотреть статус», «куда загрузить» - это половина реальных вопросов.
Стиль и эталоны
Описание тона и пять-десять ответов живых операторов, на которые бот должен быть похож.
Тестовый набор
Вопросы с правильными ответами, собранные из реальных обращений и из всех разделов правил, а не только из личных историй. Двадцать вопросов на старт достаточно, если они покрывают разделы.
Каналы передачи
Кто отвечает на сложные вопросы, куда приходит уведомление, за какое время человек отвечает.
Персональные данные
Что маскируется до модели, где хранятся диалоги, как долго, есть ли согласие на обработку обращения.
Как принимать такую работу у подрядчика и что спросить до оплаты, разбирал в материалах про приёмку работы подрядчика по ИИ и вопросы продавцу ИИ-решения.
Как принимать бота и мерить качество?
До запуска качество меряют на тестовом наборе. На первой приёмке промо-бота заказчик принёс таблицу из 19 вопросов с эталонными ответами, и это оказалось самым полезным артефактом всего проекта: готовый тест, который прогоняется после каждой правки. Формула заказчика была прямой: правильные ответы - это и есть стопроцентное качество.
Слабое место той приёмки тоже показательно: все 19 вопросов были личными историями участников, а вопросы по разделам правил почти не проверялись. Тестовый набор должен покрывать базу целиком, иначе он проверяет только то, что первым пришло в голову.
После запуска нужна выгрузка журнала. По нему видно, на что бот отвечает «не знаю» чаще всего - это готовый список пробелов в базе знаний. И видно повторные вопросы: человек переспросил, значит, ответ не помог.
Частые вопросы
Частые вопросы
Главный вывод
Самый важный урок двух моих ботов не технический. Бот упирается не в модель, а во входы: стиль, эталоны, тестовые вопросы. Их собирают до разработки, иначе неделю перед стартом тратят на то, чего не было на бумаге.
Практический шаг на эту неделю: выгрузи последние сто обращений в поддержку и разметь их на «гарантированный ответ», «живой ответ» и «только человек». Эта таблица и есть техническое задание на бота.
Сколько обращений в твою поддержку повторяются из недели в неделю?
Источники
- Reduce hallucinations - разрешить модели сказать «не знаю» и ограничить ответ документами, Claude Platform Docs
- LLM01: Prompt Injection - попытки увести модель от задачи через ввод пользователя, OWASP GenAI Security Project
- Retrieval-augmented generation - как модель отвечает по найденным документам, Википедия
- Федеральный закон «О персональных данных» № 152-ФЗ, КонсультантПлюс
- Zaletai - сервис с помощником по работе платформы в правом нижнем углу
