10 мільйонів подій і один висновок: як я зібрав AI-платформу для UX-досліджень
Чотири джерела, нуль висновків
Кліки, реплеї, карти тепла й тікети підтримки жили кожне у своєму інструменті. Кожен видавав звіт, який рідко хто дочитував до кінця. Аналітик відкривав чотири дашборди перед тижневою зустріччю і все одно пропускав патерн, який лежав у чат-лозі з понеділка. Я зібрав платформу, де всі чотири джерела потрапляють в один пошук. Команда читає висновок першим, а до доказів спускається посиланням.
Три агенти поверх однієї стрічки
Основа платформи: стрічка сесії. Нею йдуть троє агентів по порядку. Перший розшифровує дзвінки й чат, другий витягує з тексту інтенти й точки тертя, третій групує інтенти у формулювання Jobs-to-Be-Done. Кожен етап пише результат із прив'язкою до таймкоду, звідки взяв текст, тому останній етап цитує справжні слова. Порядок етапів і правила повторів тут ті самі, що я описав у пості Розробка ШІ-агентів: від прототипу до продакшену.
Довіра живе за посиланням
Картка інсайту тримає три речі: таймкод реплею, точну цитату й впевненість моделі. Клік по картці переносить плеєр на той момент. Цифру впевненості, яку неможливо перевірити, ніхто не читає, тож перевірка стоїть за один клік. Звичку показувати роботу за кожною відповіддю я описав у пості Glass-box AI: показую впевненість моделі щоб люди довіряли.
Транскрипти й реплеї тримають текст листування клієнта, тому вікна зберігання, правила експорту та шлях видалення мали увійти в збірку з самого початку. Ці правила розібрані у пості Чому вашому ШІ-агенту потрібен комплаєнс-шар.
Що зсунулось
| Що | Було | Стало |
|---|---|---|
| Події в пошуковому індексі | 0 | 10 000 000 |
| Точність інсайтів | не вимірювалась | 0,89 |
| Один цикл дослідження | 21 день | 3 дні |
Індекс HNSW живе в тому ж Neon Postgres, де лежать сесії, тому пошук лишився всередині однієї бази й другий векторний сервіс не знадобився. Цифру 0,89 дає прогін LLM-as-judge по обраних інсайтах: друга модель перечитує цитату й відзначає, тримається висновок чи ні. Висновок, який друга модель не підтвердила, я проганяю через етап витягування заново і з суворішим промптом. Інтерфейс я різав довкола дії, а екрани, що з цього випливають, зібрані у пості Проєктую інтерфейси, які діють: гід з агентного UI.
Що я перевіряю до такого складання
Починаю з питання: яке рішення змінює цей звіт. Якщо команда не називає такого рішення, платформа стає п'ятим дашбордом, а чотири інструменти продовжать стояти відкритими. Далі вирішую, який висновок модель має право зробити сама. Тут кожне формулювання стоїть за один клік від реплею, і саме межа перевірки задає суворість промптів. Остання перевірка коштує грошей: десять мільйонів подій в одному індексі роблять вектори всередині Postgres дешевшою відповіддю, і ця відповідь визначила всю схему.
Опис і набір тегів лежать на картці проєкту: AI-платформа для UX-досліджень.