Технічні гайди7 min8 жовтня 2026 р.

Архітектура AI-чат-бота, що сам аналізує свою роботу

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

 Архітектура AI-чат-бота, що сам аналізує свою роботу

Чат-бот, який ніхто не перевіряє вручну

Типова проблема 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-агента прямо зараз

Відповідає за секунди, знає все про наші послуги та допоможе розібратися у вашій ситуації