Создание голосового агента с задержкой менее 500 мс: архитектура и анализ производительности

✍️ OpenClawRadar📅 Опубликовано: 3 марта 2026 г.🔗 Source
Создание голосового агента с задержкой менее 500 мс: архитектура и анализ производительности
Ad

Архитектура и производительность голосового агента

Ник Тихонов создал голосового агента с нуля, который в среднем имеет сквозную задержку около 400 мс (от окончания речи пользователя до первого слога ответа). Это включает полный цикл STT → LLM → TTS с чистыми перебиваниями и без предварительно сгенерированных ответов. Данная реализация превзошла аналогичную настройку Vapi по задержке в 2 раза.

Ключевые технические идеи

Основным осознанием стало то, что голос — это проблема очередности реплик, а не транскрипции. Одного лишь детектирования голосовой активности (VAD) недостаточно; требуется семантическое определение конца реплики. Система сводится к одному циклу с двумя состояниями: говорит или слушает.

Критические переходы:

  • Мгновенная отмена при перебивании
  • Мгновенный ответ в конце реплики

Технические требования

STT → LLM → TTS должны работать в потоковом режиме. Последовательные конвейеры неэффективны для естественного разговора. Время до первого токена (TTFT) доминирует во всех голосовых интерфейсах — первый токен является критическим путём. TTFT Groq в ~80 мс был определён как самое большое преимущество в производительности.

Инфраструктурные соображения

География важнее промптов. Все компоненты должны быть размещены в одном месте, иначе задержка становится неприемлемой ещё до начала обработки системой. Сборка заняла примерно один день и около $100 в API-кредитах.

Ad

Почему голосовые агенты сложны

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

Когда пользователь начинает говорить, агент должен немедленно прекратить речь — отменить генерацию, отменить синтез речи и очистить любой буферизованный звук. Когда пользователь перестаёт говорить, система должна уверенно определить, что он закончил, и начать отвечать с минимальной задержкой.

Подход к архитектуре

Разработчик начал с итераций по архитектуре в ChatGPT вне редактора, чтобы сначала построить ментальную модель. Вся проблема была сведена к одному циклу и крошечному конечному автомату. Основной вопрос, на который должен отвечать голосовой агент: говорит пользователь или слушает?

Два состояния:

  • Пользователь говорит
  • Пользователь слушает

Эта логика определения очереди реплик составляет основу каждой голосовой системы. Реализация доступна на GitHub для ознакомления и дальнейшей разработки.

📖 Read the full source: HN AI Agents

Ad

👀 Смотрите также

Сервер MCP подключает Claude к инвентарю вин CellarTracker
Инструменты

Сервер MCP подключает Claude к инвентарю вин CellarTracker

Разработчик создал MCP-сервер, который напрямую подключает Claude к аккаунтам CellarTracker, позволяя задавать вопросы о винном инвентаре, дегустационных заметках, истории покупок и оптимальных сроках употребления без ручного экспорта CSV.

OpenClawRadar
Один разработчик использует Claude + Blender MCP для создания видео для App Store за 90 минут
Инструменты

Один разработчик использует Claude + Blender MCP для создания видео для App Store за 90 минут

Пользователь Reddit Positive_Camel2086 рассказывает, как они использовали Claude с Blender MCP сервером для создания 10-секундного вертикального видео запуска, автоматизируя настройку камеры, материалы, туман и системы частиц с помощью диалоговых подсказок.

OpenClawRadar
Qwen2-0.5B, доработанный для локальной автоматизации задач с использованием llama.cpp
Инструменты

Qwen2-0.5B, доработанный для локальной автоматизации задач с использованием llama.cpp

Разработчик дообучил Qwen2-0.5B для автоматизации задач с помощью LoRA на ~1000 пользовательских примеров, создав 300-мегабайтную модель GGUF, которая работает локально на CPU через llama.cpp. Модель принимает задачи на естественном языке, определяет их тип и генерирует планы выполнения с CLI-командами и горячими клавишами.

OpenClawRadar
Culpa: Открытый движок детерминированного воспроизведения для отладки ИИ-агентов
Инструменты

Culpa: Открытый движок детерминированного воспроизведения для отладки ИИ-агентов

Culpa — это инструмент с открытым исходным кодом, который записывает сессии LLM-агентов с полным контекстом выполнения, обеспечивая детерминированное воспроизведение с использованием записанных ответов в качестве заглушек вместо обращения к реальным API. Работает с API Anthropic и OpenAI через режим прокси или Python SDK.

OpenClawRadar