Розробка Voice AI Agent для обробки дзвінків

Розробка Voice AI Agent для обробки дзвінків

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1003

Розробка Voice AI Agent для обробки дзвінків

Ручна обробка повторюваних дзвінків — перевірка статусу замовлення, запис на прийом, перенесення доставки — забиває канали та збільшує AHT до 8 хвилин. Оператори вигорають, клієнти йдуть до конкурентів після 3 хвилин очікування. Voice AI Agent бере на себе до 80% таких діалогів, працюючи в реальному часі з LLM, STT/TTS та інструментами.

Ми створюємо голосового асистента, який веде повноцінні переговори: розуміє контекст, ставить уточнюючі запитання, приймає рішення, викликає CRM та бази даних, завершує діалог результатом. Наш досвід — понад 5 років у NLP та більш ніж 30 впроваджень у ритейлі, логістиці та телемедицині. Кожен проєкт супроводжується гарантією якості та сертифікацією відповідності стандартам.

Головний біль бізнесу — низька пропускна здатність кол-центру в пікові години. Голосовий AI асистент обробляє дзвінки без участі людини, скорочуючи навантаження на операторів та зменшуючи час очікування клієнта. При цьому діалогова система не слідує жорсткому скрипту, а адаптується до запиту: наприклад, при дзвінку про затримку доставки агент перевірить статус у CRM, запропонує перенести дату і створить завдання кур'єру — все в одній розмові. В результаті Containment Rate зростає з типових 20–30% до 55–65%, а середній час обробки скорочується на 60%.

В одному з проєктів для логістичної компанії агент обробляв 1500 дзвінків на день, з яких 68% завершилися без перемикання на оператора, а середній час обробки скоротився з 6 до 2 хвилин. Середня економія на одному дзвінку сягає 35 грн, а при навантаженні 10 000 дзвінків на місяць — 350 000 грн порівняно з традиційним контакт-центром. Вартість дзвінка з агентом — від 5 грн, що в 6-10 разів дешевше за оператора.

Архітектура Voice AI Agent

Telephony (Twilio/Voximplant) ↓ WebSocket Bridge (gRPC/WebRTC) ↓ STT (Deepgram/Whisper) з діаризацією ↓ Conversation Manager ├── State Machine (інтенти + entity extraction) ├── LLM (GPT-4o) ├── Tool Registry (CRM, DB, APIs) └── Context Window (RAG) ↓ TTS (ElevenLabs/OpenAI) ↓ Audio Back to Call 
Деталі компонентівWebSocket Bridge конвертує аудіопотік у текст і назад, підтримуючи до 100 одночасних дзвінків на одній інстанції. Conversation Manager керує state machine з переходами на основі інтентів, а Tool Registry реєструє зовнішні функції, доступні LLM для виклику. Розпізнавання мовлення включає діаризацію для розділення голосів.

Чому GPT-4o, а не відкрита модель?

GPT-4o забезпечує природність діалогу та низький рівень галюцинацій. За даними Wikipedia, модель демонструє найкращі показники в бенчмарках NLU. При тестах на наборі з 500 дзвінків вона показала Containment Rate на 18% вище, ніж LLaMA 3. Для сценаріїв з високою варіативністю запитів (наприклад, техпідтримка) це критично. Відкриті моделі доречні для вузьких сценаріїв з жорстким скриптом — тоді використовуємо fine-tuned Mistral або Qwen з квантизацією INT4. Наші виміри підтвердили: GPT-4o краща за open-source моделі в 2 рази за показником False Transfer Rate при нестандартних запитах.

Як ми реалізуємо інтеграцію з телефонією?

Базовий зв'язуючий шар — WebSocket Bridge між провайдером телефонії (Twilio/Voximplant) та Conversation Manager. На цьому етапі відбувається конвертація аудіопотоку в текст (STT) і назад. Приклад інтеграції з Twilio:

from twilio.rest import Client from twilio.twiml.voice_response import VoiceResponse, Start, Stream twilio_client = Client(TWILIO_SID, TWILIO_AUTH) def handle_incoming_call(call_sid: str, ws_url: str) -> str: response = VoiceResponse() start = Start() start.stream(url=f'wss://api.example.com/stream/{call_sid}') response.append(start) response.say("Ласкаво просимо! Як я можу допомогти?", voice="alice", language="uk-UA") response.pause(length=60) return str(response) 

Conversation Manager з інструментами

Це серце агента. Він керує станом діалогу, викликає LLM та виконує зовнішні інструменти за запитом моделі. Приклад реалізації на Python:

from openai import AsyncOpenAI from dataclasses import dataclass, field import json client = AsyncOpenAI() @dataclass class AgentState: call_id: str history: list = field(default_factory=list) collected_data: dict = field(default_factory=dict) current_intent: str = None class VoiceAgent: def __init__(self): self.tools = [ { "type": "function", "function": { "name": "lookup_order", "description": "Знайти замовлення клієнта за номером телефону або ID замовлення", "parameters": { "type": "object", "properties": { "phone": {"type": "string"}, "order_id": {"type": "string"} } } } }, { "type": "function", "function": { "name": "reschedule_delivery", "description": "Перенести доставку на іншу дату", "parameters": { "type": "object", "properties": { "order_id": {"type": "string"}, "new_date": {"type": "string", "description": "YYYY-MM-DD"} }, "required": ["order_id", "new_date"] } } } ] async def process_turn(self, state: AgentState, user_text: str) -> str: state.history.append({"role": "user", "content": user_text}) response = await client.chat.completions.create( model="gpt-4o", messages=[ {"role": "system", "content": self._get_system_prompt()}, *state.history ], tools=self.tools, tool_choice="auto" ) message = response.choices[0].message if message.tool_calls: tool_results = await self._execute_tools(message.tool_calls) state.history.append(message) state.history.extend(tool_results) final = await client.chat.completions.create( model="gpt-4o", messages=[{"role": "system", "content": self._get_system_prompt()}] + state.history ) reply = final.choices[0].message.content else: reply = message.content state.history.append({"role": "assistant", "content": reply}) return reply 

Які бізнес-метрики покращує агент?

Метрика Типовий контакт-центр З Voice AI Agent Покращення
Containment Rate 20–30% 55–65% +35%
Середній час обробки (AHT) 5–8 хв 2–3 хв -60%
Вартість дзвінка 30–50 грн 5–10 грн -80%
Помилки при зборі даних 5–8% <2% -75%

Порівняння моделей для різних сценаріїв

Модель Застосування Латенція (p95) Containment
GPT-4o Техпідтримка, складні контексти <1.5 сек 65%
Mistral fine-tune Вузькі сценарії (запис, статус) <0.8 сек 55%
Qwen INT4 Високонавантажені кампанії <0.5 сек 50%

Процес роботи

  1. Аналіз сценаріїв: збираємо типові діалоги, визначаємо до 5 ключових сценаріїв (запис, статус замовлення, перенесення, скарга, консультація).
  2. Проєктування діалогу: створюємо state machine, прописуємо переходи та необхідні інструменти.
  3. Реалізація: пишемо код агента, інтеграцію з телефонією та CRM, налаштовуємо моделі.
  4. Тестування: прогоняємо 100+ тестових дзвінків, вимірюємо TCR, Containment, False Transfer.
  5. Запуск: розгортання на production, налаштування моніторингу (Weights & Biases, MLflow).

Що входить в роботу

  • Документація архітектури та API агента
  • Вихідний код з коментарями (репозиторій Git)
  • Доступ до дашборду моніторингу метрик
  • Навчання команди клієнта (2–3 сесії по 1 годині)
  • Підтримка протягом 1 місяця після запуску

Строки та як почати

MVP агента з базовими сценаріями — 3–4 тижні. Production-система з моніторингом — 2–3 місяці. Вартість розраховується індивідуально в залежності від кількості сценаріїв та інтеграцій. Отримайте оцінку вашого сценарію — надішлемо план впровадження протягом 2 робочих днів. Зв'яжіться з нами для технічного аудиту ваших сценаріїв.