Полгода назад мы взяли две продуктовые гипотезы и сознательно сделали для них AI-first интерфейс - никакого предзаписанного UI, всё, что видит пользователь, рождается из LLM в рантайме. Делимся, что вышло.
Что значит «AI-first вёрстка»
Подход простой: вместо того чтобы дизайнер и разработчик заранее размечали все экраны, LLM получает запрос пользователя, контекст и список доступных компонентов, и возвращает дерево UI. На клиенте это дерево рендерится через белый список компонент-примитивов. Никаких HTML-инъекций, никаких произвольных стилей.
Где это сработало хорошо
Кейс - внутренний инструмент аналитики. Пользователь пишет «покажи отчёт по выручке за квартал в разрезе каналов», LLM собирает экран с нужными графиками, фильтрами и контролами. Ниже - кнопки для уточнения. Это снимает с команды задачу делать «универсальную панель отчётов на все случаи». Удержание пользователей в инструменте через 8 недель - 73%, что выше типового для внутренних BI-тулзов.
Где провалилось
Кейс - клиентский B2C-каталог. Здесь AI-first вёрстка не работает. Пользователи быстро упираются в три проблемы: ожидаемая задержка при первом клике (UI генерируется ~1.5 секунды), непостоянство интерфейса между сессиями («куда делась кнопка?»), и стоимость инференса в пересчёте на сессию.
На второй неделе пользователи начали жаловаться, что «приложение каждый раз другое». Потеряли 18% активной базы за месяц. Откатили на классический UI с AI-помощью только в поиске и навигации. Метрики восстановились.
Архитектурно: что мы вынесли
- Базовая библиотека UI-примитивов с жёсткими props должна быть. Без неё качество скачет.
- LLM должна возвращать структурированное дерево (typed JSON), а не свободный JSX. Свободный - путь к багам и инъекциям.
- Кеш по семантическому ключу запроса спасает экономику. У нас 40% запросов в внутреннем инструменте обслуживаются из кэша.
- Изменения интерфейса должны быть согласованы с историей сессии. Если пользователь видел кнопку, она не должна исчезать в следующем экране.
- А/Б-тесты на AI-сгенерированных UI почти не имеют смысла: вариативность слишком большая, статистика не сходится.
Когда мы рекомендуем
- Внутренние инструменты с экспертной аудиторией - да.
- Аналитика, репортинг, ad-hoc запросы - да.
- Конфигураторы сложных продуктов (страховка, медицина, логистика) - да, частично.
- B2C-приложения и любая массовая аудитория - нет.
- Финтех с сильным compliance - нет, без вариантов.