# Бот первой линии поддержки на сайте: что он отвечает сам, а что отдаёт человеку

Бот первой линии поддержки на сайте: восемь шагов обработки вопроса, ответ только по базе, закреплённые тексты, передача человеку и приёмка по эталонам.

URL: https://posts.danashkin.ru/guides/bot-pervoy-linii-podderzhki
Обновлено: 2026-10-09

---

## Коротко

**Главное**

- Бот первой линии поддержки на сайте отвечает на повторяющиеся вопросы по базе знаний компании и передаёт человеку то, на что ответа в базе нет. Его ценность в честном «такой информации нет», а не в умении поддержать любой разговор.
- Надёжный бот устроен как конвейер: проверка источника, маскирование персональных данных, классификатор намерения, поиск факта, ответ только по найденному, проверка ответа перед показом.
- Где важна точность (сроки, условия, деньги), бот выдаёт закреплённый текст дословно. Живая формулировка модели нужна там, где важен тон.
- Принимают бота по набору вопросов с эталонными ответами заказчика, а не по ощущению «вроде отвечает нормально».

## Что такое бот первой линии и чем он отличается от FAQ?

**Главное**

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

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

За последний месяц в НейроДА мы собрали два таких бота. Первый - для промо-сайта крупной акции с загрузкой чеков, где вопросы участников идут потоком и ответ должен точно совпадать с правилами. Второй - помощник в моём сервисе Zaletai, который объясняет, как пользоваться платформой. Задачи разные, а устройство похожее, и ниже я разберу именно его.

Сразу граница: бот первой линии - не [ИИ-агент](/concepts/ai-agent). Он ничего не делает в системах компании, не меняет заказы и не оформляет возвраты. Он отвечает и передаёт.

## Восемь шагов, через которые проходит каждый вопрос

**Главное**

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

Бот для промо-сайта на первой приёмке заказчиком выглядел так. Каждый шаг закрывает конкретный риск.

| Шаг | Что делает | От чего защищает |
|---|---|---|
| 1. Проверка источника | запрос пришёл с нужного сайта, бот включён | от чужих сайтов, которые попробуют пользоваться твоим ботом |
| 2. Маскирование данных | телефон, почта, номер чека прячутся до передачи в модель | от утечки персональных данных во внешний сервис |
| 3. Намерение | продолжение диалога, новая тема, вопрос по делу или провокация | от попыток увести бота в сторону |
| 4. Контекст | подтягивает историю диалога | от потери нити в уточнениях |
| 5. Поиск факта | короткое «а если на день позже?» достраивает до полного вопроса и ищет в базе | от ответа «мимо» на уточнение |
| 6. Ответ или отказ | факт найден - модель формулирует; не найден - модель не вызывается | от выдуманных ответов |
| 7. Проверка ответа | сверка ответа с вопросом и фактом до показа | от ответа, который съехал по дороге |
| 8. Выдача | ответ показан, диалог запомнен | от повторных вопросов |

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

Про маскирование отдельно. Посетители пишут в чат всё подряд, включая телефоны и номера документов. Если это уходит в облачную модель как есть, у компании появляется передача персональных данных, о которой она не договаривалась. Что можно и нельзя отдавать нейросетям, подробно разбирал в материале про [чувствительные данные в компании](/guides/chuvstvitelnye-dannye-i-neyroseti-v-kompanii).

## Почему бот должен уметь сказать «такой информации нет»?

**Главное**

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

Самая частая ошибка самодельных ботов - вся база знаний в инструкции модели и надежда, что модель не будет придумывать. Будет. Модель обучена отвечать, и при недостатке фактов она достроит правдоподобное.

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

В помощнике Zaletai это доведено до предела. База - 64 статьи и 263 варианта формулировок вопросов.

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

Как ловить выдумки нейросети в других задачах, разбирал в статье про [галлюцинации нейросетей](/guides/gallyucinacii-neyrosetey-kak-proveryat).

## Где нужен закреплённый текст, а где живой ответ модели?

**Главное**

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

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

Решение нашлось быстро и стало частью метода:

1. Заказчик размечает свои вопросы на два типа: «гарантированный ответ» и «живой ответ модели».
2. Для гарантированных пишется закреплённый текст, который бот выдаёт дословно.
3. Из эталонных ответов заказчика модель выводит описание стиля в три-четыре предложения, оно вместе с примерами уходит в инструкцию финального шага.
4. Те же вопросы прогоняются повторно и сверяются с эталоном.

**Тон - такой же вход, как правила**

До начала работы проси у заказчика пять-десять эталонных ответов живых операторов. Если их нет, зафиксируй это в переписке и согласуй стиль на первой неделе, а не на приёмке.

## Когда бот отдаёт вопрос человеку?

**Главное**

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

В обоих ботах передача человеку устроена одинаково по смыслу. Бот отвечает первым. Кнопка менеджера появляется, только когда бот не может ответить: на промо-сайте это была одна из правок после приёмки.

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

Две детали, о которых забывают:

- **Заявка сохраняется до отправки уведомления.** Если мессенджер не ответил, обращение не теряется, доставка повторяется. Повторное нажатие кнопки не создаёт дубль.
- **Помощник не видит аккаунт пользователя.** Личные данные и история аккаунта в модель не передаются, и помощник честно об этом пишет в окне: вопросы про конкретный платёж уходят человеку.

## Пять входов, которые готовят до запуска

**Главное**

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

1. **База знаний**

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

2. **Стиль и эталоны**

   Описание тона и пять-десять ответов живых операторов, на которые бот должен быть похож.

3. **Тестовый набор**

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

4. **Каналы передачи**

   Кто отвечает на сложные вопросы, куда приходит уведомление, за какое время человек отвечает.

5. **Персональные данные**

   Что маскируется до модели, где хранятся диалоги, как долго, есть ли согласие на обработку обращения.

Как принимать такую работу у подрядчика и что спросить до оплаты, разбирал в материалах про [приёмку работы подрядчика по ИИ](/guides/kak-prinimat-rabotu-podryadchika-po-ii) и [вопросы продавцу ИИ-решения](/guides/voprosy-prodavcu-ii-resheniya).

## Как принимать бота и мерить качество?

**Главное**

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

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

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

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

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

**Главное**

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

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

**Заменит ли бот операторов поддержки?**

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

**Условия акции поменялись. Что делать с ботом?**

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

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

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

**Как бот понимает короткие уточнения?**

На шаге поиска он достраивает короткий вопрос до полного по истории диалога: «а если на день позже?» превращается в вопрос о сроке с учётом того, о чём шла речь.

## Главный вывод

**Главное**

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

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

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

Сколько обращений в твою поддержку повторяются из недели в неделю?

### Источники

- [Reduce hallucinations - разрешить модели сказать «не знаю» и ограничить ответ документами, Claude Platform Docs](https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/reduce-hallucinations)
- [LLM01: Prompt Injection - попытки увести модель от задачи через ввод пользователя, OWASP GenAI Security Project](https://genai.owasp.org/llmrisk/llm01-prompt-injection/)
- [Retrieval-augmented generation - как модель отвечает по найденным документам, Википедия](https://en.wikipedia.org/wiki/Retrieval-augmented_generation)
- [Федеральный закон «О персональных данных» № 152-ФЗ, КонсультантПлюс](https://www.consultant.ru/document/cons_doc_LAW_61801/)
- [Zaletai - сервис с помощником по работе платформы в правом нижнем углу](https://zaletai.online/)
