Клієнти втрачають час у черзі, оператори вигорають на однотипних питаннях — 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-бота на практиці.







