Где автоматизация помогает
Первая линия подходит для повторяемых вопросов: статус услуги, правила тарифа, настройка интеграции, порядок обращения в поддержку. Тексты про возврат, блокировку и персональные данные требуют отдельного маршрута. Telegram и веб-чат обслуживает один сервис, адаптеры политику не ведут.
| Этап | Источник | Результат | Остановка |
|---|---|---|---|
| Определить тему | Сообщение пользователя | Тег и приоритет | Непонятная тема |
| Найти знания | Поиск по утверждённым документам | 3-5 релевантных фрагментов | Нет уверенного совпадения |
| Сформировать ответ | Фрагменты и правила тона | Ответ со ссылкой на источник | Источник противоречит другому |
| Проверить риск | Политики продукта | Разрешённый или запрещённый сценарий | Деньги, аккаунт, персональные данные |
| Передать человеку | Тикет и контекст | Очередь оператора | Жалоба или повторный вопрос |
Как собрать базу знаний
Начните с документов, которыми сотрудники уже пользуются. Разделите инструкции, тарифы, FAQ и внутренние заметки. Каждому материалу нужны владелец, дата проверки, срок действия, область применения и аудитория: внутренний runbook клиент увидеть не должен. Правило для одного региона или тарифа внесите в метаданные.
Хороший фрагмент отвечает на один вопрос и держит исключения рядом с правилом. Страница на двадцать тем портит поиск. При обновлении документа архивируйте старую версию, чтобы ответ можно было восстановить по дате.
Пошаговый RAG-процесс:
- Нормализуйте вопрос, не меняя его смысл.
- Найдите фрагменты по теме и метаданным продукта.
- Удалите дубликаты и материалы с истёкшей датой.
- Передайте модели только выбранные фрагменты и формат ответа.
- Проверьте, что утверждения ответа подтверждаются найденным текстом.
- Если подтверждения нет, создайте эскалацию с вопросом пользователя и использованными источниками.
Подробности о RAG для Claude собраны в статье «RAG с Claude». Для действий через инструменты пригодится function calling, архитектуру Telegram-сценария сверьте с руководством по API-провайдеру и выбором провайдера для Telegram-бота, а маршрут модели соберите по руководству по выбору модели.
Слои безопасного ответа
| Слой | Проверка | Что происходит при ошибке |
|---|---|---|
| Вход | Размер, язык, персональные поля | Маскирование или запрос уточнения |
| Поиск | Версия, права доступа, срок действия | Передача оператору |
| Генерация | Формат, тон, ссылка на источник | Повтор с меньшим контекстом |
| Действие | Авторизация и идемпотентность | Никакого вызова бизнес-метода |
| Выход | Запрещённые обещания и лишние данные | Черновик для сотрудника |
Просите у модели поля, которые приложение проверит само: ответ, ID источников, флаг эскалации и причину. Кривой ответ отклоняйте, а не чините до действия. ID источника подтверждает черновик, но возврат или правку аккаунта не разрешает.
Для пробного запуска возьмите закрытые обращения за один период. Разметьте правильный ответ, допустимую эскалацию и опасную выдумку. Сначала включите черновики для операторов, а автоотправку простых ответов разрешайте после ручной проверки.
Какие модели проверить
Модель держите в конфигурации маршрута, чтобы смена каталога не меняла молча ответы поддержки. В живом каталоге на 2026-10-03 есть такие кандидаты: claude-sonnet-5, gpt-6-luna, deepseek-v4-flash для коротких ответов; claude-opus-5-5, gpt-6.1-sol, gemini-3.8-flash для длинных политик; claude-fable-5-1, gpt-6-sol, qwen3.8-flash для сравнения семейств; gpt-5.6-luna, gemini-3.7-flash, deepseek-v4.1-flash для триажа перед поиском. Это список для теста, а не обещание одинакового результата в каждом продукте.
Свежесть базы и проверочный набор
При смене политики запускайте событие обновления, версию, давшую ответ, сохраняйте. Документы спорят друг с другом: остановите автоматический ответ и отправьте конфликт владельцам. Из решённых тикетов без персональных данных соберите набор: верный ответ, случай без политики, две конфликтующие политики, вопрос на другом языке, prompt injection, запрос по аккаунту и просьба позвать человека. Ложные ответы и ложные передачи считайте раздельно, общий процент прохождения прячет важную ошибку.
FAQ
Нужна ли отдельная модель для поиска?
Не всегда. Начните с одного процесса и измерьте качество найденных фрагментов. Если поиск ошибается, сначала исправьте индексацию, метаданные и разбиение документов.
Что делать с устаревшей инструкцией?
Добавить срок действия и владельца, убрать документ из активного индекса и сохранить архив. Ответ на вопрос по архивной версии лучше заменить передачей оператору.
Как не дать модели придумать правило?
Требуйте ссылку на фрагмент, запрещайте ответ без подтверждения и проверяйте утверждения отдельным валидатором. При конфликте документов показывайте оператору обе версии.