Перед нашей командой стояла задача создать единую платформу для управления голосовыми ИИ-операторами, клиентскими базами и сценариями исходящих коммуникаций.
Сервис должен объединить весь рабочий процесс: настройку оператора, выбор голоса, подготовку сценариев и базы знаний, управление телефонией, создание кампаний, обработку контактов и анализ результатов разговоров.
Особое внимание мы уделили удобству ежедневной работы. Пользователь должен быстро понимать, какие операторы настроены, какие разговоры состоялись, чем они завершились и кому необходимо перезвонить.
Важной частью задачи была управляемость ИИ: ответы должны опираться на сведения компании, действия — соответствовать текущему этапу разговора, а запись на обслуживание и другие обязательства — требовать явного подтверждения. При этом архитектура должна позволять развивать продукт и подключать внешние сервисы без переработки основной бизнес-логики.
Мы спроектировали пользовательские сценарии, архитектуру и интерфейс платформы, разработали клиентскую и серверную части приложения.
Организовали отдельные рабочие пространства для проектов, ИИ-операторов, базы знаний, SIP-подключений, кампаний и контактов. В кабинете оператора объединили показатели за день, историю разговоров и работу со скриптами. Добавили загрузку нескольких файлов через drag-and-drop, настройки в модальном окне, управление черновиками и публикацию версий.
Для работы с клиентской базой реализовали CSV/XLSX-импорт с предпросмотром, проверку и нормализацию телефонных номеров, поиск, фильтры, редактирование контактов, учёт согласия на связь и список «Не звонить».
Разделили технический статус звонка и его бизнес-результат. Добавили фильтрацию по исходам разговора и очередь перезвонов: пользователь может зафиксировать просьбу клиента, согласовать точную дату и время с учётом часового пояса, увидеть просроченные задачи и отметить выполнение или отмену.
Разработали отдельный разговорный прототип для тестирования ИИ прямо в браузере. В нём объединили захват микрофона, распознавание речи через Whisper.cpp, обработку контекста языковой моделью и потоковый синтез ElevenLabs. Предусмотрели перебивание ответа, отмену устаревшей генерации, временную расшифровку и работу с утверждёнными фактами компании.
На стороне backend реализовали политики безопасного запуска звонка: проверку проекта и прав, согласия, stop-листа, разрешённого времени, готовности телефонии, бюджета, доступных каналов и максимальной длительности. Добавили защиту от повторного запуска и ложного подтверждения действий при ошибках провайдеров.
Интерфейс построили на Next.js, React, TypeScript, Ant Design и styled-components. Создали общую дизайн-систему, светлую и тёмную темы, адаптивные экраны и доступные элементы управления. Серверную часть разработали на Node.js и Fastify с WebSocket, моделью PostgreSQL/pgvector, очередями Redis/BullMQ и отдельным интеграционным слоем для внешних провайдеров.
Мы создали единое веб-приложение для настройки голосовых ИИ-операторов и управления связанными рабочими процессами: знаниями, сценариями, контактами, кампаниями, результатами разговоров и последующими действиями.
Вместо разрозненных экранов получился последовательный пользовательский путь: подготовить оператора, загрузить материалы и контакты, проверить сценарий, посмотреть ход разговора, оценить его результат и сформировать задачу на перезвон.
Платформа получила адаптивный интерфейс, управление версиями операторов, отдельный голосовой прототип и расширяемую серверную архитектуру. Критичная бизнес-логика, обработка ошибок и границы интеграций покрыты автоматическими проверками.
Для безопасной проверки продукта предусмотрен изолированный тестовый контур. Подключение и приёмка внешней телефонии, голосовых провайдеров и календарных сервисов выделены в отдельный этап внедрения.