За десять шагов уточнения семантическая ошибка на англоязычном бенчмарке GigaSpeech падает с 21,47% до 3,49%. Word Error Rate на том же наборе за те же десять шагов сдвигается с 11,92% до 10,43%.
Один транскрипт, один ремонт, две метрики. Та, по которой выбирают поставщика распознавания, почти ничего не заметила.
Оба столбца стоят рядом в Table II работы Agentic ASR (arXiv:2605.29430), препринт подан 28 мая 2026 года. Авторы — лаборатория X-LANCE в Shanghai Jiao Tong University, Fudan University, Китайский университет Гонконга в Шэньчжэне и команда Tongyi Fun из Alibaba Group; отсюда и выбор моделей: и распознавание, и коррекцию в эксперименте делают Qwen. Способ, которым эта работа ремонтирует транскрипт, объясняет и разрыв между столбцами.
Почему «исправь транскрипт» ломается как команда
Типичная схема поверх распознавания выглядит так: ASR выдаёт гипотезу, языковая модель её подчищает. Схема держится ровно до тех пор, пока пользователь молча принимает результат.
Статья открывается сценой, которую узнает каждый, кто говорил с голосовым ассистентом. Человек просит: «Ask Megan to send me the budget file». Система слышит Morgan и бодро отвечает, что обратится к Morgan. Человек возражает: «No! It's Megan». Эта реплика тоже проходит через распознавание, и для системы она ничем не отличается от предыдущей — просто новый кусок речи, который нужно транскрибировать и добавить. Исправление попадает в транскрипт, вместо того чтобы его изменить. В Fig. 1 статьи эта сцена разложена на три колонки, и средняя — традиционная схема — заканчивается красноречиво: человек теряет терпение и диктует по буквам, «No! It's Megan, M-e-g-a-n», а система берёт ровно эту строку и записывает её как распознанный текст.
Прежде чем что-то редактировать, систему нужно научить понимать, что прозвучало именно редактирование. В Agentic ASR это отдельный шаг — маршрутизация намерения, которая относит реплику к одной из трёх категорий:
Намерение | Что делает система |
|---|---|
| оставляет текущее состояние транскрипта без изменений |
| дописывает реплику как новое содержание |
| редактирует уже имеющееся состояние транскрипта |
Только третья ветка ведёт к редактору, две другие его вообще не запускают. Без этого шага любое «нет, не так» становится частью текста.
Три операции вместо одного переписывания
Когда намерение определено как исправление, включается редактор. Формула в работе записана как композиция трёх операций: Modify ∘ Reason ∘ Locate.
Locate находит фрагмент, который нужно изменить. Reason выводит из реплики и контекста разговора, какой именно должна быть правка. Modify применяет её к найденному месту.
Авторы формулируют выбор прямо: вместо неуправляемого одноэтапного переписывания коррекция разложена на три явные операции. Мотивация в тексте — управляемость процесса и соответствие тому, как люди дают частичные указания об исправлении. Никто не диктует предложение заново, когда нужно поменять одно имя.
Разница между двумя подходами острее всего как раз на именах собственных. Переписывание — это генерация: модель воспроизводит реплику целиком, включая те слова, которые были распознаны правильно. Редкая фамилия, название посёлка или артикул товара при каждом повторном проходе могут съехать к более частой соседней форме, и именно так Megan превращается в Morgan. Редактирование фрагмента такой возможности не оставляет: то, чего не коснулись, остаётся как было.
Для украинского это не абстракция. Фамилии в звательном падеже, названия населённых пунктов за пределами областных центров, торговые марки латиницей внутри украинской реплики — тот самый класс слов, где переписывание обходится дороже всего.
Метрика, которая не видит ремонта
Вместе с фреймворком авторы вводят собственную метрику — Sentence-level Semantic Error Rate, S²ER. Она измеряет долю реплик, которые не сохранили задуманный смысл: модель-судья даёт бинарный ответ «смысл сохранён / не сохранён», глядя на главное намерение и ключевые смысловые единицы, прежде всего имена собственные, и сознательно игнорируя слова-заполнители, оговорки и пунктуацию.
На англоязычном GigaSpeech Test обе метрики по мере добавления шагов уточнения ведут себя так.
Шаг уточнения | S²ER (смысл) | WER (слова) |
|---|---|---|
0 — исходная гипотеза | 21,47% | 11,92% |
1 | 12,35% | 11,02% |
3 | 7,00% | 10,69% |
10 | 3,49% | 10,43% |
Семантическая ошибка за десять шагов уменьшается вшестеро. WER — доля неправильно распознанных слов — за то же время теряет полтора пункта. Вывод авторов звучит сухо: метрики поверхностной формы сами по себе существенно занижают практическую ценность взаимодействия.
Чтобы S²ER не приходилось принимать на веру, авторы сверили судью с людьми: 120 реплик из трёх языковых условий, 25 неэкспертов и 5 специалистов, бинарный протокол. Корреляция Пирсона между моделью-судьёй и усреднённой человеческой оценкой — 0,891 на GigaSpeech, 0,828 на WenetSpeech и 0,903 на ASRU2019, причём на всех трёх наборах она немного выше, чем корреляция самих экспертов с той же усреднённой оценкой.
Две реплики, которые показывают, где WER ошибается
Разрыв между столбцами лучше всего объясняет пара примеров из самой работы.
Что сказали | Что распознали | WER | Смысл |
|---|---|---|---|
«Um, let's maybe just open the window?» | «Let's open the window?» | 42,9% | сохранён |
«Try Qwen3-ASR to get the transcript!» | «Try Kunthreesir to get the transcript!» | 16,7% | разрушен |
В первой строке не совпала почти половина слов — и ни одно из них не имело значения, потому что разошлись слова-заполнители и смягчающие обороты. Реплика полностью пригодна для выполнения. Во второй строке ошибка одна, WER в 2,6 раза меньше, а выполнить эту команду уже невозможно: подменённое название модели — именно то, от чего зависит следующее действие.
Тот же механизм в голосовом агенте, который квалифицирует лиды, работает на топонимах. Транскрипт, в котором потерялись «ну» и «власне» (украинское «собственно»), ничем не грозит. Транскрипт, в котором Кропивницкий стал Кременчугом, отправляет лид не в ту стадию — и внешне это выглядит как безупречная работа системы. Логику полей решения, которые определяют маршрут, мы разбирали в материале о том, где голосовой агент ломается на украинском; Agentic ASR даёт той же идее формальную метрику и доказывает её на числах.
Что из этого переносится на украинский, а что нет
Замеры сделаны на английском (GigaSpeech), мандаринском (WenetSpeech, AISHELL-NER) и на смешанной англо-мандаринской речи (ASRU2019, CS-Dialogue). На украинском такого исследования мы не нашли — проверяли arXiv и публикации самих авторов. Переносить проценты на украинский нельзя, а вот структуру результатов прочитать стоит.
Условие | S²ER на старте | S²ER после 10 шагов |
|---|---|---|
Именованная сущность (AISHELL-NER Test) | 19,91% | 2,02% |
Смешанная речь, начитанные реплики (ASRU2019) | 28,57% | 1,36% |
Смешанная речь, спонтанный разговор (CS-Dialogue) | 19,73% | 4,16% |
Верхние две строки — ровно те классы, которые ломают украинскую телефонию: имена собственные и переключение между языками. Оба поддаются ремонту.
CS-Dialogue из нижней строки — это спонтанное разговорное переключение языков, самое близкое из всего набора к реальному звонку, и исправляется оно хуже всего: 4,16% против 1,36% в соседнем условии. Токенная метрика там вообще почти не двигается: 14,44% на старте против 13,28% после десяти шагов. Авторы объясняют это большей сложностью спонтанного разговорного переключения кодов.
Украинский суржик в телефонном разговоре — это спонтанное переключение языков внутри реплики. Ближайший доступный аналог оказывается самым трудным случаем, и закладывать в план нужно именно его поведение, а не лучшую строку таблицы.
Граница результата: пользователь в этом эксперименте — тоже модель
Десять шагов уточнения выполняет не человек, и в пересказах работы эта деталь исчезает первой. Авторы построили Interactive Simulation System: модель Qwen3-32B сравнивает текущий транскрипт с эталоном, формулирует исправление, а Index-TTS-1.5 озвучивает его голосом того же говорящего. Та же Qwen3-32B выступает в роли трёх разных компонентов — корректирующей модели, генератора исправлений в симуляторе пользователя и семантического судьи.
То есть в эксперименте собеседник видит правильный ответ, всегда доступен и не устаёт исправлять десять раз подряд. Ни одно из этих трёх свойств не переживает встречи с живым абонентом, который звонит в компанию.
Практический вывод дают сами авторы, и он держится лучше финальных цифр: большая часть семантического выигрыша приходит рано. На GigaSpeech первое же уточнение снижает ошибку с 21,47% до 12,35% — примерно 42% ошибок за один переспрос. На ASRU2019 один шаг даёт 28,57% → 10,32%, то есть около 64%. Десятый шаг в боевом сценарии не наступит никогда, а первый наступит всегда.
Что это меняет в цене и сроках пилота
Для владельца бизнеса из этой работы вытекают три практических следствия, и все три влияют на смету.
Первое: проверка распознавания переезжает в пилот. Публичного числа для украинской телефонии нет, поэтому единственное пригодное число получают на ваших собственных записях — несколько десятков реальных звонков, размеченный эталон, прогон нескольких кандидатов на одном наборе. Это несколько дней работы внутри пилота, а не отдельный этап исследования до него.
Второе: приёмочный порог фиксируется не в WER, а в точности по полям решения и доле реплик, где смысл сохранился. Пороговое число согласуется до старта и становится тем самым KPI, по которому оценивают пилот. Формулировка «точность распознавания не хуже N%» в договоре не работает: она измеряет не то, от чего зависит маршрут лида.
Третье: голосовой сценарий — не самый дешёвый пилот. Голос и мультиязычность входят в тариф Operator: от €6 000 за 30-дневный пилот, далее от €149 в месяц плюс токены; текстовые каналы начинаются со Starter за €1 800 за 14 дней и от €49 в месяц. Пилот оплачивается вперёд; если на ревью 30-го дня согласованный KPI не сдвинулся — возвращаем полную сумму. Поэтому, когда тот же процесс можно проверить в чате, дешевле начинать с чата, а голос добавлять после того, как логика квалификации уже подтверждена цифрами.
Что измерять вместо WER
Приёмочная метрика голосового агента должна отвечать на вопрос «можно ли выполнить то, что услышали», а не «сколько слов совпало».
Рабочий минимум состоит из трёх замеров на собственных записях. Первый — доля реплик, в которых смысл не сохранился: бинарная оценка на каждую реплику, по тому же принципу, что и S²ER. Второй — точность по полям, от которых зависит маршрут лида, отдельно от остального транскрипта. Третий — частота переспросов и доля разговоров, где абоненту пришлось исправлять одно и то же дважды; этот показатель ловит то, чего не видно ни в WER, ни в S²ER, — усталость собеседника.
Третий замер самый дешёвый и почти всегда последний в очереди, если о нём вообще вспоминают. Хотя именно он первым показывает момент, когда агент научился ремонтировать транскрипт за счёт человека на том конце провода.
Для владельца бизнеса всё сказанное выше сводится к одной строке сметы: проверка распознавания живёт в пилоте, а не в закупке, и приёмочный порог пишется в полях решения, а не в WER. Если подрядчик готов зафиксировать это в договоре — дальше можно не читать. Ниже — то, что из этой работы забирает инженер.
Для технической команды: что это значит для архитектуры
Три предложения из работы переводятся в код почти дословно. Коррекция — отдельный шаг с собственным контрактом, а не строка в большом промпте: инструкция «исправь транскрипт, если там ошибка» внутри общего промпта не даёт ни маршрутизации намерения, ни локализации фрагмента, ни контроля над тем, что модель заденет. Классификация реплики идёт перед работой с текстом, иначе возражение абонента пополняет транскрипт, вместо того чтобы его править. Редактор получает место, а не предложение: модель возвращает замену для найденного фрагмента, остальной текст остаётся нетронутым.
Четвёртое решение сложнее, потому что противоречит первому впечатлению от таблицы. После строки «10 шагов, S²ER 3,49%» возникает соблазн заложить в сценарий цикл уточнений, который крутится, пока агент не убедится, что понял. В живом звонке такой цикл убивает разговор: человек, которого в третий раз переспрашивают о названии города, кладёт трубку, и в логах это осядет как технически безупречная сессия. Переспрос в бюджете один, и потратить его нужно сразу после того, как критическое поле прозвучало, пока контекст ещё жив, а не в конце разговора сводным подтверждением всех полей разом.
Как это ложится в общий план запуска — в пошаговом чек-листе внедрения за две недели и в гайде для руководителя об агенте на входящих заявках. То, что корректирующий слой не освобождает от контроля над действиями агента, мы разбирали отдельно в материале о трёх уровнях защиты.
Материал подготовил Андрей Марьясов, основатель Grow2.ai — компании, которая внедряет AI-агентов в бизнес-процессы. Цифры сверены с препринтом arXiv:2605.29430 по состоянию на 26 августа 2026 года. Нужна оценка голосового сценария для ваших звонков — напишите нам.
