
Опыт вымышленной компании «МедКонсульт», которая нашла способ не выбирать между умным помощником и живой перепиской — а получить оба инструмента в одной точке входа
Вступление
Есть две вещи, от которых у любого сервиса с живыми экспертами болит голова. Первая — клиенты спрашивают одно и то же сотню раз в день. Вторая — иногда без эксперта не обойтись, но давать ему прямой контакт клиента нельзя.
Компания «МедКонсульт» — онлайн-консультации с врачами — решила это одним ходом. Они запустили в мессенджере MAX одного бота, который живёт двумя жизнями. Когда пациент спрашивает «как записаться?» — бот отвечает сам, как заботливый сотрудник поддержки. Когда пациент говорит «хочу написать врачу» — тот же бот тихо превращается в курьера и передаёт сообщение нужному специалисту. И обратно. Пациент даже не замечает подмены.
Получается, один бот в одном чате одновременно и ИИ-ассистент, и мост между людьми. Как именно — рассказываем.
Глава 1. Два лица одного бота
Обычно выбирают что-то одно. Либо бот-пересылашка — тупая, но связывает людей. Либо ИИ-бот — умный, но когда нужен живой врач, присылает «позвоните на горячую линию» и пациент злится.
«МедКонсульт» не стала выбирать. Оба режима работают в одном боте в MAX, и переключение между ними незаметно.
Лицо первое: ИИ-консультант. Пациент пишет «Где найти запись встречи?» — и мгновенно получает пошаговую инструкцию. Бот знает правила платформы наизусть. Девяносто процентов обращений закрываются здесь. Врачи не отвлекаются на банальщины.

Лицо второе: невидимый курьер. Пациент пишет «Хочу спросить у врача про анализы». Бот понимает: тут нужен человек. Просит написать текст сообщения — и отправляет его напрямую врачу в MAX. Врач отвечает обычным нажатием «ответить» — и ответ прилетает пациенту. Тот же чат, тот же бот. Пациент не знает, отвечает ли ему ИИ или живой врач. Для него это просто диалог.

Почему это работает именно в MAX
Боты в MAX поддерживают возможность «ответить на сообщение» (reply). Эта кнопка «ответить» стала техническим ключом ко всей схеме — именно через неё бот понимает, кому адресовать ответ врача. Но об этом — в следующей главе.
Глава 2. Секретная кнопка, на которой держится вся схема
Вот тут начинается самое интересное. Врач получил сообщение от пациента. Написал ответ. Нажал «ответить» в MAX. Как бот понимает, какому именно пациенту это отправить?
Вспомните, как работает обычная почта. На конверте написан адрес. Почтальон читает адрес — и несёт письмо в нужную квартиру. Боту нужен такой же «адрес» на каждом сообщении.
И вот как его сделали.
Невидимый адрес на каждом письме
Когда пациент пишет врачу через бота, бот не пересылает сообщение как есть. Он приклеивает к тексту невидимую для пациента пометку. Вроде бы пациент написал: «Передайте врачу, что анализы готовы». А врач получает:
«Передайте врачу, что анализы готовы ID чата с клиентом: 482910»
Эта строчка — и есть адрес. Пациент её не видит. Но для бота это маркер, который говорит: «если на это сообщение ответят — отправь ответ в чат 482910».

Кнопка «ответить» как курьерский штамп
Теперь врач отвечает. Он просто нажимает «ответить» на то самое сообщение с адресом. Пишет: «Анализы в норме, приезжайте на повторный приём».
И тут бот смотрит: ага, врач нажал «ответить» на сообщение, где есть фраза «ID чата с клиентом». Значит, это не просто болтовня — это ответ конкретному пациенту. Бот достаёт номер чата из адреса, берёт текст ответа, приписывает «Консультант: доктор Иванова» — и отправляет пациенту.
Готово. Письмо доставлено. Без баз данных, без сложных систем маршрутизации. Одна текстовая пометка + одна кнопка «ответить».

А как бот понимает, кто перед ним — врач или пациент?
Тут всё проще, чем кажется. У бота есть маленький список: chat_id такого-то — это врач, chat_id такого-то — это тоже врач. Все остальные — пациенты.
Когда приходит сообщение, бот смотрит на chat_id отправителя. Есть в списке? Значит, перед нами эксперт — ждём reply на сообщение с адресом и пересылаем. Нет в списке? Значит, пациент — работаем как ИИ-консультант или помогаем написать врачу.
Всё. Два простых правила, и система работает.
Глава 3. Как это выглядит глазами пациента
Самое красивое в этой схеме — пациент ничего не знает о ней. Для него это просто чат с ботом в MAX.
Сценарий один. Пациент спрашивает: «Как отменить встречу?» Бот моментально выдаёт инструкцию. Пациент доволен, ушёл.
Сценарий два. Пациент пишет: «Хочу спросить у врача». Бот отвечает: «Напишите текст сообщения». Пациент пишет. Тишина. Потом через какое-то время — приходит ответ: «Консультант: доктор Иванова. Анализы в норме...» Пациент не видит никаких ID, никаких адресов. Для него бот просто «передал вопрос и принёс ответ».
Сценарий третий. Пациент в одном чате сначала спросил про отмену (ответил ИИ), а потом написал врачу (ответил живой эксперт). Переключение между режимами произошло незаметно. Нет кнопки «перейти к врачу». Нет другого чата. Один поток, одна лента.

Глава 4. Что нужно, чтобы повторить
Если вы хотите реализовать такую схему у себя — вот чек-лист.
1. Мессенджер с ботом и reply. MAX подходит идеально. Telegram тоже подойдёт — там есть и боты, и reply. Главное, чтобы бот мог программно видеть, на какое сообщение отвечают.
2. Список экспертов. Просто таблица: кто какой chat_id. Без этого бот не отличит врача от пациента.
3. Правило приклеивания адреса. Каждое сообщение от пациента к эксперту дополняется строчкой с ID чата пациента. Это можно сделать в промпте бота или в коде.
4. Правило чтения адреса. Если бот видит reply на сообщение с фразой-маркером — достаёт ID и отправляет туда ответ.
5. ИИ-промпт для первой линии. Загрузить в бота FAQ, правила платформы, инструкции — чтобы он закрывал рутину сам.
Всё. Никакой сложной архитектуры. По сути, один промпт + два правила маршрутизации.
Где попробовать собрать?
Данный кейс я реализовал на платформе ProTalk.

Давайте посмотри полный промпт бота:
##ROLE_START## Тебя зовут Алиса. Ты помогаешь общению клиентов "МедКонсульт". В каждом ответе добавляй направляющие инлайн кнопки пользователю. Для добавление кнопок добавь к своему ответу такую команду: Кнопки в строку: ``` ##INLINE:Кнопка1;Кнопка2## ``` Кнопки друг под другом: ``` ##INLINE:[Кнопка1][Кнопка2]## ``` У тебя есть список консультантов: ``` ID: 15, chat_id: 246XXXXXXXX ``` Если клиент хочет выслать сообщение консультанту то запроси ID консультанта и текст сообщения, после чего отправь сообщение при помощи функции №554. Для работы функции 554 используй токен бота: `{{VOP_BOT_MAX_TOKEN}}`. Параметр `reply_to_message_id` не используй при отправке сообщения через функцию 554. В параметр `message` при отправке через 554 функцию к тексту сообщения пользователя обязательно в конце добавь: `\n\nID чата с клиентом: {{chat_id}}`, тут `chat_id` возьми из временной метки из параметра `chat_id`, который есть в каждом сообщении клиента (не бери `user_id`, именно `chat_id`) - это важно для меня потому что без этого параметра консультант не сможет дать ответ клиенту. Если ты видишь в метке в сообщении от клиента: `reply to` и в тексте сообщение на которое идет ответ есть фраза: `ID чата с клиентом`, то используй именно этот ID чата с клиентом как `user_chat_id` (а не из временной метки), а в качестве `message` дословно текст ответа на сообщение с добавкой `\n\nКонсультант: {{ID}}` (тут ID ты возьми сопоставив chat_id из временной метки со списком консультантов) и запусти без уточняющих вопросов функцию 554. Это и будет реализовывать возможность консультантам отвечать на вопросы клиентов. Отвечай кратко. ##ROLE_END##
А вот как выглядят логи бота:

А вот так это выглядит в переписке:

В данном случае у меня chat_id консультанта прописан тот же что и того кто общается с ботом.
Вместо вывода
Механика, которую описала «МедКонсульт», не требует ни миллионов на разработку, ни команды из двадцати инженеров. Она строится на простой идее: один бот может быть не только тем, кто отвечает, но и тем, кто соединяет. Нужно лишь грамотно использовать инструменты, которые уже есть в мессенджере — reply, chat_id, и немного воображения.
Если ваш бизнес работает с экспертами, клиентами или техподдержкой — попробуйте. Иногда самое элегантное решение — это не строить новый мост, а научить одного и того же ferryman перевозить людей в обе стороны.
P.S. Если нужно в комментариях дам ссылку на готового бота.
