Архітектура AI-чат-бота, що сам аналізує свою роботу
Технічний розбір бойового AI-чат-бота для кваліфікації лідів: деферед-монтування заради PageSpeed, валідація вводу, UTM-атрибуція і вбудована панель самоаналізу — з реальними продакшн-даними.

Чат-бот, який ніхто не перевіряє вручну
Типова проблема AI-чат-ботів на сайтах — чорна скринька. Встановили віджет, він ніби відповідає, а чи справді допомагає перетворювати відвідувачів на ліди — невідомо, поки хтось вручну не перечитає логи. Коли логів тисячі, цей "хтось" фізично не встигає.
Нижче — технічний розбір того, як влаштований бойовий AI-агент для кваліфікації лідів: від продуктивності до рівня, що сам моніторить власну якість. З реальними цифрами з продакшну, не з демо.
Задача
Статична форма "ім'я + телефон" не дає відділу продажів нічого, крім контакту. AI-агент мав вирішувати інше: вести короткий, природний діалог — одне питання за раз — і передавати продажам вже структурований лід з розумінням ніші клієнта та його болю, а не голий номер телефону. Це принципово інший рівень задачі, ніж у простого бота-відповідача — різницю розібрано в статті Telegram-бот vs AI-агент: у чому різниця.
Продуктивність: найважчий компонент сайту без шкоди для PageSpeed
Компонент чат-бота — найважчий клієнтський JS на сайті. Монтувати його одразу при завантаженні сторінки означає вантажити й парсити цей код для 100% відвідувачів, більшість з яких чат-бот навіть не відкриють.
Рішення — відкладене монтування: компонент рендериться лише через кілька секунд після початкового завантаження сторінки, вже після того як критичний контент намальовано.
// DeferredChatBot.tsx — спрощено
export default function DeferredChatBot() {
const [ready, setReady] = useState(false);
useEffect(() => {
const timer = setTimeout(() => setReady(true), 2000);
return () => clearTimeout(timer);
}, []);
if (!ready) return null;
return <SimpleAIChatBot />;
}
Результат на проді: 91/100 (десктоп) і 94/100 (мобільна) за Google PageSpeed — попри те, що чат-бот активний на кожній сторінці сайту.
Валідація вводу, навчена на реальних діалогах
Перша версія бота була занадто строгою: блокувала повідомлення з одруківками й нестандартними відповідями. Після аналізу реальних діалогів правила перекалібрували — окремо для першого повідомлення і окремо для діалогу, що вже триває:
const spamPatterns = [
/^(.)\1{6,}$/, // 7+ повторень одного символу
/^[qwertyuiop]+$/i, // верхній ряд клавіатури
/^[йцукенгшщзх]+$/i, // українська розкладка
// ...ще кілька патернів каракулів і спаму
];
const isDialogWithAgent = messages.length > 0;
if (isDialogWithAgent) {
// У діалозі — толерантна валідація: одруківки і неформальні
// відповіді пропускаються, блокується лише явний спам
return true;
}
Окремий кейс з реальних діалогів: на узагальнену відповідь на кшталт "все це" агент раніше сам обирав проблему з шаблону — і клієнт справедливо відповідав "ти гониш". Фікс — спеціальне правило: на узагальнену відповідь агент перепитує, яка саме проблема забирає найбільше часу, замість вгадувати.
Атрибуція: кожен лід знає, звідки він прийшов
Кожна CTA-кнопка на сайті пише у sessionStorage власний utm_campaign ще до відкриття чату. При відправці ліда ці мітки йдуть разом з діалогом у CRM (Google Sheets) і в GA4 — тож відомо не просто "скільки лідів", а з якої саме кнопки, сторінки чи партнерського посилання прийшов кожен.
Головне: панель, що сама аналізує якість бота
Окремий сервіс читає сирі логи кожної відповіді AI (успіх / fallback-режим / час відповіді / текст повідомлення клієнта) і перетворює їх на готові інсайти — без ручного перегляду жодного діалогу. Це конкретна відповідь на ширше питання — як виміряти реальну автономність AI-агента бізнесу:
| Що вважає система | Навіщо |
|---|---|
| Success / fallback rate | Чи модель справді відповідає, чи часто падає в запасний сценарій |
| Середній час відповіді | Чи клієнт встигає втратити терпіння |
| Найчастіші болі клієнтів | Автоматично витягує ключові слова з реальних повідомлень |
| Пікові години активності | Коли саме чат-бот найбільше потрібен |
| Авто-рекомендації | Наприклад: "fallback rate > 20% → перевірити промпти" |
const successRate = Math.round(
(successfulResponses.length / totalResponses) * 100
);
if (fallbackRate > 20) {
recommendations.push(
'Оптимізувати API підключення та промпти для зменшення fallback режиму.'
);
}
Реальні цифри з продакшну
| Метрика | Значення |
|---|---|
| Структурованих лідів зібрано | 53 |
| AI success rate (без fallback) | 88% |
| Середній час відповіді | 3.8с |
| Середня кількість повідомлень до завершення консультації | 4.9 |
| PageSpeed (десктоп / мобільна) з активним чат-ботом | 91 / 94 |
Висновок
Чат-бот, який просто "ніби працює", і чат-бот, що сам звітує про власну якість, — це дві різні категорії продукту. Другий дає змогу приймати рішення про промпти, UX чату чи логіку кваліфікації на основі даних, а не здогадок. Скільки коштує розробка подібного агента під конкретний бізнес — розібрано в статті Розробка AI-агента на замовлення: за що ви платите.
Є питання? Запитайте AI-агента прямо зараз
Відповідає за секунди, знає все про наші послуги та допоможе розібратися у вашій ситуації
Читайте також
Як AI-контент перевіряється на факти, перш ніж публікуватись
Технічний розбір guardrail-шару, що автоматично звіряє кожне твердження AI-тексту з джерелом і живим пошуком, виправляє недоведене й лишає лог правок — перш ніж текст побачить читач. Category: Технічні гайди
Технічні гайдиRAG vs CAG: яку AI-архітектуру обрати
RAG чи CAG — яка архітектура підходить вашому бізнесу? Чотири питання, які визначають вибір, і реальний кейс зниження витрат на 60%.
Технічні гайдиQwen3Guard: безпека AI у реальному часі
Qwen3Guard-Stream модерує відповіді LLM на рівні токенів під час генерації — не після. Архітектура, розміри моделей і бізнес-наслідки для B2B-продуктів.
