Год Платите за год — и получите 2 месяца бесплатно на любом платном тарифе. Смотреть тарифы
Войти Начать бесплатно

Отказ на вашем собственном языке

Кто-то спросил, как и когда принимать распространённый антидепрессант — до еды или после — и что входит в его состав. Вопрос был задан по-русски. Интерфейс был на турецком. Движок в режиме Auto ответил шаблонным отказом…

Кто-то спросил, как и когда принимать распространённый антидепрессант — до еды или после — и что входит в его состав. Вопрос был задан по-русски. Интерфейс был на турецком. Движок в режиме Auto ответил шаблонным отказом — на английском. Когда его попросили ответить по-русски, он отказал снова, уже по-русски. Через минуту чат был удалён. Любой другой ассистент отвечает на такой вопрос, и человек был вправе ожидать того же.

Одна удалённая беседа — четыре дефекта.

Информация — не совет

Для чего нужно лекарство, как его принимать, что входит в его состав, нужен ли рецепт — всё это есть в инструкции-вкладыше, это публичная и задокументированная информация. Системный промпт теперь прямо это говорит: отвечать, добавляя одну строку с рекомендацией обратиться к специалисту для личного решения, и по-прежнему отказывать в том, в чём отказывать необходимо, — передозировка, самоповреждение, способы обойти рецепт. Расширение того, на что отвечают, не расширило то, что разрешено; оно назвало ту тишину посередине, где маленькая модель придумывала собственную политику.

Отказ — это тоже ответ

Правило, согласно которому ответ следует языку сообщения, находилось далеко от конца длинного промпта, а шаблон отказа — тот самый ответ, который скорее всего его пропустит. Теперь правило повторяется там, где модель читает в последнюю очередь, а язык интерфейса становится лишь решающим фактором для голого числа или ссылки. Вопрос на русском на турецком экране получает ответ на русском — и отказ на русском, если до этого дойдёт.

Под этим скрывалась более глубокая причина. Часть сервера, которая транслирует ответ потоком, работает в отрыве от запроса, и культура (язык) запроса туда не передавалась — поэтому каждая потоковая реплика выполнялась на языке самого сервера, и два десятка системных сообщений, которые может выдать поток, тоже выходили на нём. Теперь культура фиксируется в начале и повторно применяется внутри исполнителя. Каждый потоковый клиент, и в вебе, и на телефоне, теперь также отправляет свой язык вместе с запросом — раньше этого не делали три из четырёх.

Пустой ответ — это сбой с более приличным статус-кодом

Один движок иногда возвращал завершённый ответ, в котором ничего не было. Приложение считывало это как чистое завершение реплики и показывало заглушку о том, что действия инструментов завершены. Теперь это обрабатывается как любой другой сбой до первого токена: в режиме Auto реплику подхватывает другой движок; при явном выборе модели вы видите честную локализованную ошибку. Движки, которые делали это чаще всего, покинули пул Auto — тот же тест, что раньше летом убрал целый класс моделей, применённый к тем же данным.

«Потом» не существует

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

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

Поделиться LinkedIn X Почта
Попробуйте на своих задачахКаждый ответ показывает, сколько он стоил. Начните с бесплатного тарифа. Начать бесплатно
Только новости о продукте — без шума Новые модели, возможности и главное из чейнджлога — короткое письмо, когда действительно что-то выходит.
Подписываясь, вы соглашаетесь получать письма ToRun об обновлениях продукта. Отписаться можно в любой момент. Политика конфиденциальности