Перейти к содержимому
← Назад к блогу

10 млн событий и один вывод: как я собрал AI-платформу для UX-исследований

Четыре источника, ноль выводов

Клики, реплеи, карты тепла и тикеты поддержки жили каждый в своём инструменте. Каждый выдавал отчёт, который редко кто дочитывал до конца. Аналитик открывал четыре дашборда перед недельной встречей и всё равно пропускал паттерн, который лежал в логе чата с понедельника. Я собрал платформу, где все четыре источника попадают в один поиск. Команда читает вывод первым делом, а к доказательству спускается по ссылке.

Три агента поверх одной ленты

Основа платформы: лента сессии. По ней в порядке идут три агента. Первый расшифровывает звонки и чат, второй вытаскивает из текста интенты и точки трения, третий собирает интенты в формулировки Jobs-to-Be-Done. Каждый этап пишет результат с привязкой к таймкоду, откуда взял текст, поэтому последний этап цитирует реальные слова. Порядок этапов и правила повторов здесь те же, что я описал в посте Разработка ИИ-агентов: от прототипа до продакшена.

Доверие живёт по ссылке

Карточка инсайта держит три вещи: таймкод реплея, точную цитату и уверенность модели. Клик по карточке переносит плеер на этот момент. Цифру уверенности, которую нельзя проверить, никто не читает, поэтому проверка стоит в одном клике. Привычку показывать работу за каждым ответом я описал в посте Glass-box AI: показываю уверенность модели чтобы люди доверяли.

Транскрипты и реплеи хранят текст переписки клиента, поэтому окна хранения, правила экспорта и путь удаления должны были войти в сборку с самого начала. Эти правила разобраны в посте Почему вашему ИИ-агенту нужен комплаенс-слой.

Что сдвинулось

ЧтоБылоСтало
События в поисковом индексе010 000 000
Точность инсайтовне измерялась0,89
Один цикл исследования21 день3 дня

Индекс HNSW живёт в том же Neon Postgres, где лежат сессии, поэтому поиск остался внутри одной базы и второй векторный сервис не понадобился. Цифру 0,89 даёт прогон LLM-as-judge по выбранным инсайтам: вторая модель перечитывает цитату и отмечает, держится ли вывод. Вывод, который вторая модель не подтвердила, я прогоняю через этап извлечения заново и с более строгим промптом. Интерфейс я резал вокруг действия, а экраны, которые из этого следуют, собраны в посте Проектирую интерфейсы, которые действуют: гид по агентному UI.

Что я проверяю до такой сборки

Начинаю с вопроса: какое решение меняет этот отчёт. Если команда не называет такого решения, платформа становится пятым дашбордом, а четыре инструмента останутся открытыми. Дальше решаю, какой вывод модель имеет право сделать сама. Здесь каждая формулировка стоит в одном клике от реплея, и именно граница проверки задаёт строгость промптов. Последняя проверка стоит денег: десять миллионов событий в одном индексе делают векторы внутри Postgres дешевле отдельного сервиса, и этот ответ определил всю схему.

Описание и набор тегов лежат на карточке проекта: AI-платформа для UX-исследований.

Проект: AI-платформа для UX-исследований — от сигналов к инсайтам

Прочитали? К делу

Эти методы я применяю на платных проектах. Посмотрите, во сколько это обходится.