Голосовые агенты
Whisper + TTS + LLM
Проблема: Печатать медленно, и иногда просто хочется поговорить. Как ИИ может понимать устную речь и отвечать естественным голосом?
Решение: Твой голосовой помощник
Голосовой агент — это ИИ-система, с которой ты говоришь, а не печатаешь. Внутри она связывает три способности: распознавание речи (слушание), понимание языка (мышление) и синтез речи (говорение). Ты произносишь фразу, система переводит её в текст, языковая модель (LLM) решает, что сказать или сделать, а синтезатор превращает ответ обратно в звук. Ровно это происходит, когда ты говоришь с Siri, Alexa или с телефонной службой поддержки — только современные агенты умеют ещё и вызывать функции, чтобы реально выполнять действия (забронировать столик, проверить заказ), и используют стриминг, чтобы начать отвечать ещё до того, как ты договорил.
Как устроен пайплайн
Классическая схема — это конвейер из трёх этапов: Speech-to-Text (STT, речь в текст) → LLM (языковая модель) → Text-to-Speech (TTS, текст в речь). STT (например, OpenAI Whisper) превращает аудио в текст, но теряет тон, эмоции и паузы. Дальше LLM рассуждает над этим текстом — обычно держа предыдущие реплики в своём контекстном окне (context window), чтобы помнить разговор, — и формирует ответ. TTS озвучивает этот ответ. Каждый переход добавляет задержку, а их сумма — это и есть задержка (latency), которую чувствует пользователь: примерно 200мс + 500мс + 300мс ≈ одна секунда на реплику. Это важно: в живом разговоре пауза дольше ~400мс уже ощущается неловкой. Поэтому новые сквозные (end-to-end) аудио-модели (например, аудио-режим GPT-4o) принимают аудио на вход и выдают аудио на выход напрямую, минуя этапы STT и TTS, сохраняя эмоции и срезая задержку.
Компромиссы и разобранный пример
Бери конвейерную схему STT→LLM→TTS, когда нужна гибкость (можно заменить любой блок, прочитать транскрипт, вставить бизнес-логику между этапами); бери сквозную аудио-модель, когда главное — низкая задержка и эмоциональные нюансы. Главные ловушки — это ошибки распознавания, которые каскадом приводят к неверному ответу, и галлюцинации, когда модель уверенно выдумывает факты, а звонящий им верит. Разобранный пример: человек говорит «Хочу отменить свой завтрашний рейс». STT переводит это в текст; LLM вызывает функцию lookupBooking, видит, что за изменение в тот же день есть сбор, и отвечает. Если уверенность STT низкая (шумная линия), надёжный агент переспросит «Извините, можете повторить?» вместо того чтобы угадывать — простой порог уверенности (confidence threshold), который предотвращает дорогое ошибочное действие.
Представьте это как телефонный помощник:
- 1. Слушаем — STT (~200мс): Speech-to-Text конвертирует аудио в текст. Теряются тон, эмоции, паузы
- 2. Думаем — LLM (~500мс): Модель рассуждает над текстом и генерирует ответ
- 3. Говорим — TTS (~300мс): Text-to-Speech конвертирует ответ обратно в аудио
- 4. Сквозная альтернатива: Модели вроде GPT-4o audio пропускают STT/TTS полностью — аудио на вход, аудио на выход. Сохраняет эмоции, задержка ~300мс
Суммарная задержка пайплайна: ~1 секунда. Но человеческая толерантность в разговоре — ~400мс. Этот разрыв — причина, почему сквозные модели (аудио-нативные) — будущее: они убирают 2 из 3 этапов.
Где это используется?
- Умные колонки: Alexa, Google Home, Siri
- Колл-центры: Автоматическая служба поддержки
- Доступность: Помощь пользователям с нарушением зрения
- Автомобильные системы: Навигация и управление без рук
Интересный факт: Современные голосовые агенты могут понимать тон, эмоции и даже сарказм! Они также могут генерировать речь разными голосами, с разными акцентами и эмоциональными стилями. Эффект "зловещей долины" быстро исчезает.
Попробуйте сами!
Используй интерактивный пример ниже, чтобы увидеть, как голосовые агенты обрабатывают речь и генерируют естественно звучащие ответы.
Хотите выйти за рамки традиционного пайплайна STT→LLM→TTS? Смотрите Мультимодальность в реальном времени про сквозные голосовые модели, которые снижают задержку на 70%.
Паттерны обработки ошибок
Фоновый шум
Проблема: STT выдаёт искажённый текст
Решение: Шумовой порог + порог уверенности. Если уверенность STT < 0.7, попросите повторить
Сильный акцент
Проблема: Частота ошибок слов превышает 20%
Решение: Используйте Whisper large-v3 для устойчивости к акцентам. Добавьте подсказки по доменному словарю
Обрыв связи
Проблема: WebSocket отключается посреди разговора
Решение: Храните состояние разговора на сервере. При переподключении возобновите с контекстом «Мы обсуждали...»
Частые вопросы
Что такое голосовой агент простыми словами?
Голосовой агент — это ИИ-система, с которой ты говоришь, а не печатаешь. Она распознаёт твою речь, переводит её в текст, языковая модель (LLM) решает, что ответить или сделать, а синтезатор озвучивает ответ. Привычные примеры — Siri, Alexa и автоматические телефонные службы поддержки.
Как работает голосовой агент: из каких этапов состоит пайплайн?
Классическая схема — конвейер из трёх этапов: Speech-to-Text (STT, речь в текст) → LLM (языковая модель формирует ответ) → Text-to-Speech (TTS, текст в речь). STT, например OpenAI Whisper, переводит аудио в текст; LLM рассуждает, держа предыдущие реплики в контекстном окне; TTS озвучивает ответ. Каждый этап добавляет задержку.
Почему у голосовых агентов бывает задержка и как её снизить?
В конвейере STT→LLM→TTS каждый этап добавляет время — примерно 200мс + 500мс + 300мс ≈ одна секунда на реплику, а пауза дольше ~400мс уже ощущается неловко. Снизить задержку помогают стриминг (агент начинает отвечать до конца фразы) и сквозные (end-to-end) аудио-модели вроде аудио-режима GPT-4o, которые принимают аудио на вход и выдают аудио на выход, минуя STT и TTS.
Чем сквозная аудио-модель отличается от пайплайна STT→LLM→TTS?
Конвейер STT→LLM→TTS гибкий: можно заменить любой блок, прочитать транскрипт и вставить бизнес-логику между этапами. Сквозная (end-to-end) модель работает с аудио напрямую — сохраняет тон и эмоции и сильно срезает задержку, но даёт меньше контроля над промежуточными шагами. Выбирай конвейер ради гибкости, а сквозную модель — когда главное низкая задержка и эмоциональные нюансы.
Попробуй сам
Интерактивное демо этой техники
Качественно обработать голосовую транскрипцию: форматирование и пунктуация
ну короче я сегодня был у врача он сказал что всё нормально анализы в порядке но надо пить витамины особенно витамин д и ещё он рекомендовал больше гулять на свежем воздухе а и ещё записаться к окулисту через три месяца
Сегодня был у врача. Он сказал, что всё нормально — анализы в порядке.
Рекомендации:
- Пить витамины, особенно витамин D.
- Больше гулять на свежем воздухе.
- Записаться к окулисту через три месяца.
Резюме:
- Результаты анализов в норме
- Витамин D — обязателен
- Прогулки на воздухе
- Окулист через 3 месяца
Голосовая транскрипция без обработки — каша. Промпт с инструкциями (пунктуация + структура + очистка + резюме) превращает поток речи в структурированный текст с action items.
Создайте бесплатный аккаунт для решения челленджей
5 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения