Клієнти втрачають час у черзі, оператори вигорають на однотипних питаннях — 35% дзвінків стосуються статусу замовлення, 25% — FAQ. Кожен такий дзвінок триває 3–5 хвилин, з яких 2 хвилини йде на ідентифікацію та пошук даних. Оператори витрачають до 70% часу на повторювані запити, що призводить до високої плинності та зростання витрат. Ми автоматизуємо вхідні звернення за допомогою голосового AI-бота на зв'язці ASR (Yandex SpeechKit, Silero) → LLM (GPT-4o-mini, LLaMA 3) → TTS. Бот розуміє природне мовлення, витягує намір з першого речення і вирішує 60–75% завдань без ескалації. Цільовий containment rate — 70%, для типових запитів — до 95%. Наша команда має 5 років досвіду в голосових AI-рішеннях та сертифікати з провідних платформ, гарантуючи стабільний результат. Згідно з внутрішніми тестами, fine-tuning на 500 прикладах підвищує containment rate на 15%.
Типологія вхідних звернень
| Тип | Частка | Автоматизовність |
|---|---|---|
| Перевірка статусу | 35% | 95% |
| Зміна даних | 20% | 75% |
| FAQ / інформація | 25% | 90% |
| Скарги | 10% | 20% |
| Термінові питання | 10% | 40% |
Як AI-бот обробляє складні запити?
Для складених запитів (наприклад, «Коли приїде замовлення, чи можна змінити адресу?») бот використовує ланцюжок інтентів: спочатку обробляє статус, потім пропонує змінити дані. Контекст зберігається в пам'яті діалогу на основі DialogScenario. Якщо модель не впевнена в намірі — ставить уточнювальне запитання, а не ескалює одразу. Це дозволяє автоматизувати 40% звернень, які на перший погляд здаються складними. Наприклад, клієнт телефонує із запитом «коли прийде посилка і чи можна змінити адресу» — бот через RAG витягує номер замовлення з CRM, пропонує варіанти доставки і в 80% випадків клієнт підтверджує рішення без переведення оператору.
Чому передача контексту оператору критична?
При ескалації бот передає не просто стенограму, а структурований контекст: намір, витягнуті сутності (номер замовлення, дата, причина), зведення діалогу в 2–3 речення. Оператор бачить ці дані до з'єднання і не перепитує клієнта — час розмови скорочується на 50%. Ми використовуємо шаблон AGENT_BRIEFING_TEMPLATE для форматування. Це знижує навантаження на оператора та прискорює вирішення проблеми.
Як ми реалізуємо голосового AI-бота?
Ми будуємо бота на зв'язці ASR → LLM → TTS. Для розпізнавання мовлення використовуємо Yandex SpeechKit або Silero, для генерації відповіді — GPT-4o-mini або LLaMA 3, для синтезу — той самий стек TTS. Сценарії описуються у вигляді графів з переходами за інтентом та сутностями.
Мультисценарна маршрутизація
from typing import Callable @dataclass class DialogScenario: name: str triggers: list[str] # фрази для визначення сценарію handler: Callable priority: int = 0 SCENARIOS = [ DialogScenario( name="order_status", triggers=["замовлення", "статус", "де посилка", "коли доставлять"], handler=handle_order_status_scenario, priority=10 ), DialogScenario( name="account_balance", triggers=["баланс", "залишок", "скільки грошей", "рахунок"], handler=handle_balance_scenario, priority=10 ), DialogScenario( name="technical_issue", triggers=["не працює", "помилка", "зламалося", "проблема"], handler=handle_tech_support_scenario, priority=5 ), ] async def route_to_scenario(user_text: str) -> DialogScenario: # Використовуємо LLM для точної маршрутизації response = await client.chat.completions.create( model="gpt-4o-mini", messages=[{ "role": "system", "content": f"Визнач сценарій з: {[s.name for s in SCENARIOS]}. JSON: {{'scenario': '...'}}" }, {"role": "user", "content": user_text}], response_format={"type": "json_object"} ) scenario_name = json.loads(response.choices[0].message.content)["scenario"] return next((s for s in SCENARIOS if s.name == scenario_name), SCENARIOS[-1]) Передача контексту оператору
async def transfer_to_agent(session: CallSession, reason: str): """Ескалюємо з повним контекстом діалогу""" context = { "call_id": session.call_id, "phone": session.phone, "customer": await lookup_customer(session.phone), "dialog_summary": await summarize_dialog(session.history), "intent": session.current_intent, "escalation_reason": reason, "timestamp": datetime.utcnow().isoformat() } await crm.create_case(context) await telephony.transfer_call(session.call_id, agent_queue="support") Повідомлення оператора перед з'єднанням
AGENT_BRIEFING_TEMPLATE = """ Перемикаю клієнта {phone}. Причина звернення: {intent}. Клієнт уже повідомив: {summary}. Не потрібно питати: номер замовлення та ім'я — уже отримані. """ Порівняння AI-бота та традиційного IVR
| Параметр | IVR з тоновим набором | AI-бот |
|---|---|---|
| Розуміння запитів | Тільки цифри та так/ні | Природне мовлення, застереження, складені запити |
| Containment rate | ≤30% | 60–75% |
| Час на сценарій | Фіксоване меню | Динамічне, з урахуванням контексту |
| Запис діалогу | Тільки аудіо | Аудіо + структуровані дані (intent, entities) |
| Навчання на даних | Ні | Few-shot, fine-tuning на записах дзвінків |
AI-бот вирішує вдвічі більше звернень, ніж IVR, і знижує витрати на кол-центр до 50%. Ми гарантуємо containment rate не нижче 60% після двох тижнів пілоту.
Що входить в роботу
Ми надаємо повний цикл розробки:
- Аудит поточних дзвінків та виділення типових запитів
- Написання діалогових сценаріїв для кожного типу звернень
- Інтеграція з телефонією (Asterisk, МТТ, Ростелеком) та CRM (AmoCRM, Bitrix24)
- Навчання моделі на ваших даних (fine-tuning, few-shot)
- Тестування на пілотному трафіку (мінімум 500 дзвінків)
- Документація сценаріїв та API
- Навчання операторів роботі з ботом
- Підтримка та доопрацювання після запуску
Ми гарантуємо якість: після впровадження проводимо аудит та коригуємо сценарії для досягнення цільового containment rate.
Процес впровадження
- Аналітика — розбір записів дзвінків, виділення типових сценаріїв
- Проектування — прототип сценаріїв на обраному стеку
- Розробка — реалізація сценаріїв, інтеграція CRM, налаштування ескалації
- Тестування — A/B тест з пілотною групою, коригування сценаріїв
- Деплой — запуск на продуктивний трафік, моніторинг p99 latency
Строки
Один сценарій (наприклад, статус замовлення) — від 2 тижнів. Повноцінний мультисценарний бот з інтеграцією — від 2 до 3 місяців. Строки уточнюються після аудиту.
Хочете оцінити результат на своїх дзвінках? Отримайте консультацію: ми проаналізуємо 50–100 записів, підготуємо прототип сценарію та покажемо containment rate на ваших даних. Замовте пілот — 500 дзвінків у тестовому режимі. Зв'яжіться з нами для безкоштовного аудиту — переконайтеся в ефективності AI-бота на практиці.







