Готово к демо или готово к продакшену: когда приложение на ИИ действительно готово к реальным пользователям
Большинство приложений на ИИ отлично выглядят на демо и трещат по швам уже на третьем реальном пользователе. Вот как понять, на какой вы стороне, и как закрыть разрыв без разработчика.
С каждым ИИ-конструктором приложений наступает момент, когда то, что вы построили, начинает выглядеть по-настоящему. Страница грузится, кнопки работают, форма принимает ввод, и данные появляются там, где должны. Вы кликаете по приложению и чувствуете себя основателем. Это приятное чувство. И это же место, где многие застревают, — потому что разрыв между «это работает, когда я показываю» и «это работает, когда пользуется незнакомый человек» больше, чем кажется, и этот разрыв не виден в окне предпросмотра ИИ-конструктора.
Этот пост о том, как закрыть этот разрыв осознанно. Чтобы это сделать, не нужно становиться инженером. Нужно знать, что тестировать, в каком порядке и когда перестать называть это прототипом.
Что на самом деле значит «готово к демо»
Приложение на ИИ, готовое к демо, делает то, что вы хотели, по тому пути, на котором вы его тестировали, с данными, похожими на те, что вы вставляли в запросы. Вход работает. Дашборд грузится. То, что вы хотели показать сооснователю, на экране.
«Готово к демо» — это не пустяк. Ещё четыре месяца назад то, что вы построили, было заказом фрилансеру и шестинедельным сроком. Но это ещё и версия вашего приложения, которую тестировали вы, в одиночку, по счастливому пути. Реальные пользователи на счастливом пути не задерживаются.
Они вставляют email с лишним пробелом в конце. Они открывают Safari на iPad в альбомной ориентации. Они заходят с мобильного интернета и дают странице повисеть полузагруженной тридцать секунд, прежде чем нажать на кнопку. Они ждут, что «назад» сработает, и ждут, что обновление страницы не потеряет ничего, что они напечатали.
Демо вводят в заблуждение не потому, что ИИ построил что-то ненастоящее. А потому, что человек, проводящий демо, знает, где зарыты собаки. Вы инстинктивно нажимаете на кнопки, которые работают. Реальный пользователь нажимает на те, о существовании которых вы забыли.
Пять вещей, которые трескаются первыми
Среди людей, за которыми я наблюдал, как они проходят путь от демо к запуску с ИИ-конструкторами приложений, обычно первыми ломаются под реальными пользователями одни и те же пять вещей. Пройтись по ним осознанно — самый быстрый способ приблизиться к готовности для продакшена.
1. Пустое состояние. Ваш дашборд отлично смотрится с тремя проектами в нём, потому что во время сборки вы использовали три проекта. Новый пользователь регистрируется, попадает на дашборд, где нет ровным счётом ничего, и видит пустой серый прямоугольник. Исправление — это один запрос: «Когда у пользователя ноль проектов, покажи дружелюбное сообщение с объяснением, что делать дальше, и кнопку для создания первого». Скучно, десять секунд работы — и в этом разница между «это сломано» и «это полезно».
2. Состояние ошибки. Попробуйте прямо сейчас: выключите Wi-Fi и покликайте по приложению. Введите заведомо неправильный пароль. Отправьте форму с пустым полем email. Если ваше приложение падает, зависает или показывает сырую ошибку вроде 500 Internal Server Error, у вас проблема с состоянием ошибки. ИИ-конструктор может это исправить, но вы должны спросить: «Что происходит, когда вызов API не удаётся? Когда пользователь вводит некорректные данные? Когда он офлайн?» Это три отдельных запроса, и они покрывают большинство ситуаций, в которых реальные пользователи попадают в беду.
3. Мобильный вид. Примерно половина ваших первых пользователей — а может, и больше, в зависимости от того, что у вас за приложение, — откроют его на телефоне. ИИ-конструкторы хорошо справляются с адаптивной вёрсткой для стандартных макетов и плохо — для нестандартных, особенно если речь о боковой панели, прилипшем модальном окне или сложной форме. Откройте приложение на телефоне, другим большим пальцем, так, как им пользуется реальный человек. Если что-то вылезает за экран, что-то слишком мелкое, чтобы точно нажать, или что-то перекрывает клавиатуру, когда вы пытаетесь печатать, — это надо исправить. Обычно один запрос: «Сделай, чтобы эта страница нормально выглядела на экране телефона, особенно [то, что сломано], — десктопную версию не меняй».
4. Проблема «второго пользователя». Вот коварная штука. Многие приложения на ИИ исходят из того, что пользователь один. Данные, которые вы создаёте, остаются в приложении. Потом регистрируется второй пользователь и либо видит ваши данные, либо вообще никаких данных и сильно путается. Это вопрос аутентификации и разграничения данных, и перед запуском стоит попросить ИИ объяснить, как именно он хранит данные пользователей. Правильная формулировка: «Объясни, как разделяются данные пользователей. Если зарегистрируются двое, сможет ли один увидеть данные другого?» Ответ и есть тест.
5. Кнопка «я передумал». Реальные пользователи постоянно что-то отменяют. Они удаляют только что созданный аккаунт, потому что ввели не тот email. Они отписываются через две минуты после подписки. Они хотят отредактировать проект, сделанный вчера, потому что в названии опечатка. ИИ-конструкторы приложений, предоставленные сами себе, строят путь создания и пропускают путь редактирования-или-удаления — потому что в демо их просили только создавать вещи. Если вы запуститесь с этим пробелом, ваши первые три пользователя напишут вам в течение часа, и письмо начнётся со слова «Как». Пройдитесь по приложению и спросите про каждый экран: «Может ли пользователь отменить то, что он только что сделал, или изменить это позже?» Везде, где ответ «нет», — это функция, которая нужна до запуска.
Что НЕ значит «готово к продакшену»
«Готово к продакшену» для приложения на ИИ — это не то же самое, что «готово к продакшену» в банке. Вам не нужны 99,99% аптайма. Вам не нужен нагрузочный тест. Вам не нужен runbook или дежурная смена on-call. Вы не Stripe, вы небольшая штука, которая обслуживает реальных людей.
Что вам действительно нужно — это сборка, за которую не будет стыдно перед незнакомым человеком. Этого можно достичь за один-два сосредоточенных дня, как только вы знаете, на что смотреть. Пять пунктов выше — это большая часть. Остальное — сделать приложение понятным: ясный текст на каждой кнопке, предсказуемое поведение при клике, никаких страниц, упирающихся в стрелку «назад», которая не работает.
Самый большой скачок от готовности к демо к готовности для продакшена — не в коде. Он в вашей готовности пользоваться собственным приложением так, как это делал бы незнакомый человек. Приём, который я советую людям: дайте телефон другу в кофейне и попросите его сделать главное, ради чего создано приложение, без ваших объяснений. Не подсказывайте. Следите за его большим пальцем. Первое место, где он задержится больше чем на три секунды, — самое важное, что вы можете исправить на этой неделе. Второе и третье места обычно идут быстрыми правками следом.
Небольшой чек-лист перед запуском
Прежде чем выкатить приложение первым десяти реальным пользователям, пройдитесь по этому чек-листу. Ничего из этого не требует писать код. Всё это — либо запрос к вашему ИИ-конструктору, либо ручной прокликивание.
- Я зарегистрировался как совершенно новый пользователь из окна в режиме инкогнито, от начала до конца, без срезания углов.
- Я попользовался приложением на телефоне.
- Я пытался сломать формы — пустые поля, странный ввод, очень длинный ввод.
- Я спросил ИИ-конструктор, как разделяются данные пользователей, и ответ имеет смысл.
- У меня есть способ связаться с пользователями, если что-то пойдёт не так (поле email, ссылка на обратную связь, что угодно).
- У меня есть способ узнать, когда что-то уже пошло не так, — ИИ-конструктор обычно предлагает базовое логирование ошибок; включите его.
- Пустое состояние каждой страницы говорит пользователю, что делать дальше.
- У каждого действия, которое что-то создаёт, есть способ это отменить, отредактировать или удалить.
Если вы пройдётесь по этому списку и обнаружите, что не хватает пары пунктов, — это запросы на завтра. Если пройдётесь и не хватает почти всего — приложение ещё не готово, и это полезно знать до того, как отправлять кому-то ссылку.
Честная золотая середина
Большинство приложений на ИИ какое-то время живут в промежуточной зоне. Они работают, в основном. У них есть пара шероховатостей. Они хорошо обслуживают небольшую группу пользователей и треснули бы при масштабировании. Для стартапа или внутреннего инструмента это нормальное место, чтобы жить там месяцами. Ошибка — относиться к приложению, готовому к демо, так, будто оно уже миновало эту зону. Другая ошибка — относиться к готовности для продакшена как к перфекционистскому стандарту, до которого никогда не дотянуться.
На самом деле вопрос такой: было бы мне комфортно, если бы приложением воспользовался друг и потом рассказал, как ему? Если да — вы достаточно готовы к продакшену для своей стадии. Если вам скорее хочется броситься что-то исправлять, пока он не сказал, что подумал, — запишите эту вещь и сначала исправьте её.
Вам не нужно быть готовым к десяти тысячам пользователей. Вам нужно быть готовым к следующим десяти. Это реальный, конечный список исправлений, и ваш ИИ-конструктор приложений может помочь сделать большую их часть за один день.
Если вы уже выкатили приложение, созданное с ИИ, реальным пользователям, — что сломалось первым, чего вы не предвидели? Обычно это более интересный вопрос, чем «готово ли моё», — потому что именно неожиданность и есть настоящий сигнал.