Поддержка международных клиентов усложняется, когда один человек начинает разговор по-русски, продолжает по-английски и использует внутреннее название продукта. Мультиязычный чат-бот должен не просто перевести фразы. Ему нужно сохранить выбранный язык, исходные реплики, коды и термины, а при сомнении передать контекст оператору.
Ниже — правила, по которым можно описать такой процесс и подготовить его проверку. Они относятся к живому чату. Для перевода технических, юридических и других документов нужен отдельный сценарий с профильной проверкой.
Какую задачу решает этот процесс
Представим службу поддержки международных клиентов. Пользователь пишет вопрос на одном языке, меняет язык по ходу разговора или смешивает слова из двух языков. Оператору важно увидеть не только автоматически подготовленный перевод, но и то, что человек написал на самом деле.
Результат процесса — карточка диалога, в которой сохранены:
- оригинал каждой реплики;
- определённый или выбранный пользователем язык;
- перевод с явной пометкой, что это перевод;
- неизменённые коды, суммы и названия продукта;
- причина передачи человеку;
- неоднозначный термин, если именно он остановил автоматический ответ.
Такой многоязычный бот помогает вести живой разговор и не терять исходный смысл при эскалации. Он не подтверждает юридическую точность перевода и не заменяет специалиста, который переводит документ с отраслевой терминологией.
Для соседних задач — маршрутизации обращений, очередей и контроля ответа — подходит отдельное руководство по автоматизации клиентской поддержки.
Какие данные и правила подготовить
До настройки диалога нужно определить не только список языков. Для каждого поля задайте источник, ответственного и статус: обязательное, условное или пока неизвестное. Неизвестное значение бот не должен заменять догадкой.
Ниже приведён короткий синтетический образец. Все названия и значения условны и не относятся к клиентам Switch On AI.
| Поле | Условное значение | Источник | Ответственный | Статус |
|---|---|---|---|---|
| Поддерживаемые языки | Русский и английский | Утверждённая политика поддержки | Руководитель поддержки | Обязательное |
| Язык интерфейса | Русский | Настройка канала | Администратор канала | Условное |
| Предпочтение пользователя | Не указано | Профиль или ответ пользователя | Владелец процесса | Неизвестное до уточнения |
| Словарь терминов | X100; Smart mode | Утверждённый глоссарий продукта | Продуктовый специалист | Обязательное |
| Локаль | ru-RU после подтверждения | Выбор пользователя | Владелец процесса | Условное |
| Языки операторов | Русский и английский | Матрица навыков команды | Руководитель поддержки | Обязательное |
Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.
Поддерживаемый язык определяет, на каком языке бот может вести разговор. Язык интерфейса относится к кнопкам и служебным сообщениям канала. Предпочтение пользователя задаёт язык текущего диалога. Локаль управляет форматом дат, чисел и валют, поэтому её нельзя автоматически приравнивать к языку.
Отдельно согласуйте fallback — поведение при неизвестном языке, отсутствии перевода или недоступности подходящего оператора. Безопасный вариант: сохранить оригинал, сообщить об ограничении и передать обращение человеку по установленному правилу.
Как выбирать язык разговора
Правило выбора языка должно быть явным. Практический порядок такой:
- Использовать предпочтение, которое пользователь сообщил сам.
- Применить ручное переключение языка, если пользователь его выбрал.
- При отсутствии выбора определить язык по содержанию текущей реплики.
- Если реплика короткая, смешанная или результат неуверенный, задать уточняющий вопрос.
Имя, гражданство и география пользователя не определяют язык или локаль. Человек с русским именем может предпочитать английский, а англоязычный пользователь — формат даты, отличный от предполагаемого системой.
Короткое сообщение X100 ok? почти не даёт оснований для выбора. Вместо молчаливого переключения бот может спросить: «Продолжить на русском или English?» Выбор сохраняется для текущего диалога, но пользователь может изменить его вручную.
Смешанные сообщения нужно включить в проверочный набор отдельно. Например, фраза «Можно enable Smart mode?» содержит русскую конструкцию и английский термин. Бот должен сохранить термин по глоссарию, а не считать каждое иностранное слово командой сменить язык.
В официальной документации Microsoft Copilot Studio описаны основной и дополнительные языки агента, выбор языка по настройкам клиентского приложения или браузера, язык по умолчанию и настраиваемое переключение во время разговора. Для динамического переключения документация указывает отдельные условия платформы. Это описание возможностей Copilot Studio, а не подтверждение совместимости с конкретным проектом: версию, режим агента, права и доступные языки нужно проверить перед выбором реализации.
Как сохранять смысл и терминологию
Глоссарий должен содержать исходный термин, допустимый перевод, запрещённые варианты, область применения и владельца. Если утверждённого соответствия нет, бот не угадывает: он задаёт вопрос или передаёт реплику оператору.
Для каждого ответа полезны отдельные правила:
- код
X100копируется без изменений; - утверждённые названия продуктов сверяются с глоссарием;
- числа сохраняют числовое значение;
- валюта сохраняет код или утверждённое обозначение;
- дата переводится в однозначный формат только после подтверждения локали;
- неизвестный или многозначный термин вызывает уточнение либо эскалацию.
Например, запись 03/04/2026 без локали неоднозначна. Бот не должен сам решать, идёт ли речь о 3 апреля или 4 марта. Он может попросить пользователя написать месяц словами либо передать исходную запись без преобразования.
Перевод интерфейса и актуальная база ответов — разные части системы. Русские и английские кнопки ещё не доказывают, что инструкции, условия продукта и ответы поддержки обновлены на обоих языках. После изменения основного материала владелец базы должен проверить связанные языковые версии. Документация Copilot Studio также предупреждает, что изменённые строки основного языка и ранее подготовленные локализации могут рассинхронизироваться; это свойство конкретной платформы стоит учитывать при её выборе.
Как передавать диалог оператору
При эскалации оператору нужны четыре элемента: оригинал, помеченный перевод, язык и причина остановки. Перевод нельзя выдавать за слова пользователя.
Карточка передачи может выглядеть так:
- Язык диалога: English, выбран пользователем.
- Оригинал:
Does X100 support the legacy profile? - Автоматический перевод: «Поддерживает ли X100 профиль legacy?»
- Причина: для
legacy profileнет утверждённого соответствия в глоссарии. - Действие: оператор уточняет смысл термина и отвечает после проверки источника.
Если ответ пользователя неоднозначен, бот сначала задаёт короткий уточняющий вопрос. Если уточнение не снимает сомнение или вопрос требует решения специалиста, диалог уходит оператору вместе с предыдущими репликами. Оригинал сохраняется даже тогда, когда перевод кажется понятным.
Этот процесс не следует описывать как юридически точный перевод документов. Для договоров, нормативных требований и отраслевых формулировок правила задаёт и проверяет профильный специалист заказчика.
Учебный пример: путь от входных данных до результата
Ниже — синтетический пример, а не клиентский кейс и не результат выполненного теста. Все реплики, названия и числа условны.
Исходные данные: бот поддерживает русский и английский; X100 — код модели, который нельзя переводить; Smart mode есть в условном глоссарии; для legacy profile утверждённого соответствия нет. Операторы работают на русском и английском.
Клиент начинает по-русски: «Здравствуйте, подскажите статус заказа». Затем пишет по-английски. Перед сменой языка бот спрашивает: «Продолжить на русском или English?» Пользователь выбирает English. После этого бот обрабатывает английскую реплику, но сохраняет русский оригинал предыдущего сообщения.
| Фрагмент | Язык | Термин | Перевод | Проверка | Эскалация |
|---|---|---|---|---|---|
| Здравствуйте, подскажите статус заказа | Русский | — | “Hello, could you tell me the order status?” | Смысл сохранён; чисел и кодов нет | Нет |
| Can I enable Smart mode on X100? | Английский | Smart mode; X100 | «Можно ли включить Smart mode на X100?» | X100 совпадает с оригиналом; Smart mode найден в условном глоссарии | Нет |
| Does X100 support the legacy profile? | Английский | legacy profile | «Поддерживает ли X100 профиль legacy?» | X100 сохранён; для legacy profile нет утверждённого соответствия | Да: передать оператору оригинал и помеченный перевод |
Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.
Промежуточное решение строится по правилам, а не по свободной догадке. Выбор English задаёт язык продолжения. Код X100 проходит без изменений. Smart mode остаётся в утверждённой форме. На legacy profile процесс останавливается, потому что буквальный перевод может изменить продуктовый смысл.
Результат: оператор получает исходную английскую реплику, помеченный русский перевод, выбранный язык и точную причину эскалации. Спорный термин не становится утверждённым только потому, что бот смог составить перевод.

Как проверить результат перед запуском
Русский и английский варианты нужно проверять одним набором задач: обычный вопрос, короткая реплика, смешанное сообщение, код продукта, сумма, неоднозначная дата, неизвестный термин и передача оператору. Иначе успешная проверка одного языка ничего не говорит о втором.
Для каждой ситуации заранее запишите ожидаемый результат, сигнал ошибки и действие человека.
| Сценарий | Ожидаемый результат | Сигнал ошибки | Действие человека |
|---|---|---|---|
| Обычная реплика на выбранном языке | Ответ на выбранном языке; оригинал сохранён | Ответ самовольно сменил язык | Проверить правило выбора языка и повторить сценарий |
Короткое X100 ok? | Бот предлагает выбрать русский или English | Язык назначен без уточнения | Исправить порог уверенности или ветку уточнения |
| Код модели | В исходнике и результате указано X100 | Код изменён, переведён или потерян | Остановить выпуск и исправить защиту кодов |
| Сумма 1 250,50 EUR | Значение 1250.50 и валюта EUR сохранены | Изменилась сумма или валюта | Сверить исходную и переданную структуру данных |
| Неоднозначная дата | Бот уточняет локаль или формат даты | Дата преобразована по имени, гражданству или догадке | Вернуть исходное значение и запросить подтверждение |
| Неизвестный термин | Оригинал и помеченный перевод переданы оператору | Бот выдал догадку как утверждённый перевод | Дополнить глоссарий после решения специалиста |
Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.
Для синтетического примера проверка кода записывается так: source_code = "X100", result_code = "X100", ожидаемое условие code_ok = source_code === result_code даёт true.
Проверка условной суммы разделяется на значение и валюту: исходные и переданные значения равны 1250.50, а коды валюты — EUR. Ожидаемые условия amount_ok = 1250.50 === 1250.50 и currency_ok = "EUR" === "EUR" дают true. Это ожидаемый результат учебной проверки, а не измерение работающей системы. Если после подтверждения локали отображение меняется на 1,250.50 EUR, числовое значение и валюта всё равно должны совпасть. Без подтверждённой локали формат лучше не менять.
Проверку считают пройденной только после сравнения фактического результата с ожидаемым на выбранной реализации. Если меняются модель, глоссарий, база ответов или правила локали, затронутые сценарии повторяют.
Что согласовать для внедрения
Готовая платформа может предоставлять многоязычные настройки, язык по умолчанию и механизмы переключения. Но она не знает внутренние термины компании, языковые навыки операторов, правила эскалации и допустимый формат передачи данных. Эти части нужно описать и проверить отдельно.
Иногда достаточно чат-бота с фиксированными ветками: выбрать язык, найти утверждённый ответ и передать обращение человеку. ИИ-помощник уместен, если нужно разбирать свободные реплики и выбирать разрешённое действие. Обычная интеграция нужна для предсказуемой передачи полей между каналом и рабочей системой. Конкретный вариант зависит от данных, API, прав и проверочных сценариев.
Switch On AI может разработать ИИ-помощника, бота или интеграцию для этой операции после проверки данных и доступного API. Цель проекта формулируется конкретно: диалог сохраняет смысл, язык и оригинал при передаче оператору. Совместимость выбранной платформы, тариф, права доступа и ограничения проверяются отдельно; упоминание Copilot Studio в документации не означает партнёрство или выполненное внедрение.
На первом шаге стоит выбрать пару языков и типовые вопросы для проверки бота. Затем подготовить обычную реплику, смешанное сообщение и пример спорного термина. По ним можно разобрать одну операцию и согласовать прототип ключевого сценария. Прототип не равен полному внедрению и не подтверждает работу во всех условиях.
Подробнее о составе разработки можно прочитать на странице ИИ-агентов и помощников. Чтобы обсудить входные данные, правила передачи оператору и границы прототипа, опишите одну операцию.
Вопросы по этой задаче
Достаточно ли автоматического перевода?
Нет. Кроме перевода нужны оригинал реплики, выбранный язык, глоссарий, защита кодов и сумм, а также правило передачи оператору. Неизвестный термин нельзя превращать в утверждённый перевод.
Как выбрать язык смешанного сообщения?
Сначала учитывают явное предпочтение пользователя и ручной выбор. Если их нет, язык определяют по содержанию. Для короткой или смешанной реплики бот задаёт уточняющий вопрос и не меняет язык только из-за отдельного иностранного термина.
Что передавать оператору?
Оператору передают оригинал, отдельно помеченный перевод, выбранный или определённый язык, контекст диалога и причину эскалации. Спорный термин следует выделить, чтобы оператор понимал, что именно требует проверки.
