Оператор витрачає до 30% часу на пошук відповідей під час дзвінка. Клієнт чекає, зростає AHT, падає FCR. При ручному пошуку співробітник перемикається між системами, витрачає 15–30 секунд на запит, клієнт чує паузу і втрачає терпіння. AI-система підказок вирішує цю проблему: вона слухає розмову, визначає намір клієнта та виводить релевантну інформацію за частки секунди. Результат – дзвінки стають коротшими, клієнти задоволеніші, а оператори працюють впевненіше.
Ми розробляємо Agent Assist — AI-систему, яка слухає розмову і миттєво видає рекомендації: готові відповіді, наступний крок за скриптом, попередження про негативну тональність. Результат: зниження AHT на 15–25%, зростання FCR на 8–12%, підвищення NPS.
Як працює AI-помічник у реальному часі?
Аудіопотік з мікрофона захоплюється, перетворюється на текст (STT) за 100–300 мс. Далі NLU-пайплайн визначає намір клієнта, витягує сутності та звертається до векторної бази знань. Сформовані підказки відображаються в UI оператора. Все — у реальному часі із затримкою менше 500 мс.
Call Audio → STT (Streaming) → NLU Pipeline → Suggestions Engine → Operator UI
↓ ↓ ↓
Live Transcript Intent/Entities Knowledge Base
(100–300ms) CRM Context
Script State
Згідно з документацією, streaming speech recognition забезпечує затримку менше 300 мс Google Cloud STT.
Чому Agent Assist підвищує NPS?
Клієнт отримує швидкі та точні відповіді — без перемикань і музичних пауз. Оператор відчуває підтримку AI і рідше помиляється. Наші пілоти показали: AI-асистент кращий за ручний пошук у 5 разів за швидкістю реакції та на 12% знижує повторні звернення. Це безпосередньо впливає на лояльність.
Real-time NLU pipeline
Ми використовуємо streaming ASR (Google Speech-to-Text або Whisper) та кастомний модуль детекції питань і сентименту. LLM (GPT-4o або LLaMA 3) підключається для складних сценаріїв. Приклад реалізації на Python:
import asyncio
from dataclasses import dataclass
@dataclass
class AssistSuggestion:
type: str # answer | next_step | warning | document | offer
content: str
confidence: float
source: str = None # knowledge base URL, CRM field, etc.
class AgentAssistProcessor:
def __init__(self):
self.kb = KnowledgeBase()
self.crm = CRMConnector()
self.llm = AsyncOpenAI()
async def process_utterance(
self,
speaker: str, # "customer" | "agent"
text: str,
session: dict
) -> list[AssistSuggestion]:
suggestions = []
if speaker == "customer":
# Клієнт поставив запитання — шукаємо відповідь
if "?" in text or await self.is_question(text):
kb_results = await self.kb.search(text, top_k=3)
if kb_results:
suggestions.append(AssistSuggestion(
type="answer",
content=kb_results[0]["answer"],
confidence=kb_results[0]["score"],
source=kb_results[0]["url"]
))
# Детектуємо скаргу
sentiment = await self.analyze_sentiment(text)
if sentiment["label"] == "negative" and sentiment["score"] > 0.8:
suggestions.append(AssistSuggestion(
type="warning",
content="Клієнт висловлює незадоволення. Рекомендується емпатійна реакція.",
confidence=sentiment["score"]
))
# Наступний крок за скриптом
next_step = await self.get_next_script_step(session)
if next_step:
suggestions.append(AssistSuggestion(
type="next_step",
content=next_step,
confidence=1.0
))
return suggestions
База знань із семантичним пошуком
Векторна база будується на embeddings моделі intfloat/multilingual-e5-large. Пошук по Faiss повертає топ-3 статті з порогом 0.7. Код:
from sentence_transformers import SentenceTransformer
import faiss
import numpy as np
class KnowledgeBase:
def __init__(self):
self.encoder = SentenceTransformer("intfloat/multilingual-e5-large")
self.index = faiss.IndexFlatIP(1024)
self.articles = []
def add_article(self, question: str, answer: str, url: str = None):
embedding = self.encoder.encode(
f"query: {question}", normalize_embeddings=True
)
self.index.add(embedding.reshape(1, -1))
self.articles.append({"question": question, "answer": answer, "url": url})
async def search(self, query: str, top_k: int = 3) -> list[dict]:
embedding = self.encoder.encode(
f"query: {query}", normalize_embeddings=True
)
scores, indices = self.index.search(embedding.reshape(1, -1), top_k)
results = []
for score, idx in zip(scores[0], indices[0]):
if score > 0.7 and idx >= 0:
results.append({**self.articles[idx], "score": float(score)})
return results
UI для оператора (React)
Підказки передаються через WebSocket і рендеряться як картки.
const AgentAssistPanel: React.FC<{sessionId: string}> = ({sessionId}) => {
const [suggestions, setSuggestions] = useState<Suggestion[]>([]);
useEffect(() => {
const ws = new WebSocket(`wss://assist.api/session/${sessionId}`);
ws.onmessage = (e) => setSuggestions(JSON.parse(e.data));
return () => ws.close();
}, [sessionId]);
return (
<aside className="agent-assist-panel">
<h3>Підказки AI</h3>
{suggestions.map(s => <SuggestionCard key={s.id} suggestion={s} />)}
</aside>
);
};
Порівняння: традиційний пошук vs Agent Assist
| Критерій | Ручний пошук по базі | Agent Assist |
|---|---|---|
| Час пошуку | 15–30 с | 300–500 мс |
| Точність відповіді | 70% (залежить від оператора) | 90%+ (семантичний пошук) |
| Навантаження на оператора | Високе | Низьке |
| Вплив на AHT | +20% | −15–25% |
AI-асистент кращий за ручний пошук у 5 разів за швидкістю та дає приріст FCR на 8–12%.
Типові метрики до/після впровадження:
| Метрика | До впровадження | Після впровадження |
|---|---|---|
| AHT | 6 хв | 4.5 хв |
| FCR | 70% | 82% |
| CSAT | 3.8 | 4.5 |
Ці цифри — середні за нашими проектами. Ваші результати можуть відрізнятися залежно від поточних процесів.
Технічні деталі пайплайну
- STT: Google Cloud Speech-to-Text (streaming) або Whisper (локально).
- NLU: кастомний класифікатор на базі BERT + LLM для складних сценаріїв.
- Векторна БД: Faiss (FlatIP) або Qdrant для масштабування.
- UI: React + WebSocket; latency p99 < 500 мс.
- A/B-тести: вбудований механізм для порівняння версій.
Що входить у роботу
Ми надаємо Agent Assist під ключ. В обсяг входять:
- аудит поточних процесів кол-центру;
- розробка та навчання NLU-моделей (під ваш скрипт);
- інтеграція з CRM та базою знань;
- UI-панель для оператора;
- навантажувальне тестування (p99 latency < 500 мс);
- A/B-тестування (2 тижні);
- документація та навчання команди;
- технічна підтримка на 1 місяць після впровадження.
Отримайте консультацію інженера з AI, щоб оцінити ефект для вашого кол-центру.
Етапи впровадження
- Аналітика (1–2 тижні): збір логів, замір метрик, підготовка скриптів.
- Проектування (1 тиждень): архітектура, вибір стеку (LLM, векторна БД, STT).
- Розробка (3–4 тижні): кастомний NLU, інтеграція з KB та CRM, UI.
- Тестування та A/B (2–3 тижні): навантаження, UAT, замір AHT/FCR.
- Деплой та навчання (1 тиждень): розгортання, навчання операторів, передача документації.
Орієнтовні терміни: базова версія — 6–8 тижнів. З повною CRM-інтеграцією та A/B-тестами — до 4 місяців. Вартість розраховується індивідуально, залежить від обсягу сутностей, кількості скриптів та вимог до латентності.
У нас за плечима 5+ років досвіду в AI/ML для кол-центрів та більше 30 впроваджених проектів. Гарантуємо якість — кожне рішення проходить рев'ю та навантажувальне тестування. Замовте впровадження Agent Assist та отримайте консультацію — зв'яжіться з нами.







