Все записи
6 мин

Хотел поставить фейковый лоадинг перед регистрацией. Консилиум из 6 AI зарубил это как тёмный паттерн

ai-агентымышление

Если коротко, то я придумал маленький трюк, чтобы выжать побольше регистраций — после квиза показать человеку секунду-другую фейкового лоадинга, мол идёт обработка, потом попросить авторизоваться, а уже после этого запустить настоящую генерацию как будто это продолжение того же самого процесса. Звучало почти честно, ведь генерация-то реальная, я просто хотел замаскировать момент входа и подцепить человека на эмоции, пока он ждёт. И прогнал я эту идею через свой консилиум из шести AI-агентов, а они единогласно зарубили её как тёмный паттерн, который противоречит тому, что мы внутри называем конституцией продукта. В итоге фейк я выкинул и собрал честную версию входа, и в этом посте расскажу почему так вышло и почему я с агентами в итоге согласился, хотя сначала идея мне самому очень нравилась.

Откуда вообще взялась идея фейкового лоадинга

Контекст такой. В Картаре у меня есть бесплатный анонимный вход — человек заходит без регистрации, проходит квиз, что-то делает, втягивается, и в какой-то момент его надо сконвертить в зарегистрированного, иначе он просто уйдёт и всё что он сделал испарится. И вот сидишь ты и думаешь про конверсию, а думать про конверсию это всегда чуть-чуть скользкая дорожка, потому что хочется же чтобы человек дошёл до конца и не сорвался на моменте регистрации, который вообще-то все ненавидят.

И родилась мысль: а что если не показывать сухую форму авторизации в лоб, а сначала дать секунду-три красивого лоадинга, типа мы тут уже что-то для тебя считаем, и человек на этом эмоциональном крючке охотнее введёт почту. Я это так и записал себе дословно — лоадинг можно дать фейковый, а после того как авторизуется уже настоящий включить как типа продолжение. То есть обрамление вроде честное по форме, генерация реально запускается, но по сути я создаю у человека ложное ощущение, что процесс уже идёт, чтобы дожать его на регистрацию. И вот тут как раз и прячется вся загвоздка.

Почему я не стал делать это сам, а отдал на консилиум

Я мог бы просто закодить это и не париться, дел на полчаса, тем более Claude Code пишет такое за один проход. Но у меня для спорных продуктовых решений есть процесс — я собираю консилиум из AI-агентов и прогоняю через них спорный вопрос, прежде чем что-то строить, и не раз бывало, что консилиум разворачивал меня от красивой идеи к проверке данными. Тут случай был как раз пограничный, потому что я сам чувствовал лёгкое неудобство от идеи, а когда чувствуешь неудобство, лучше его не глушить, а вытащить наружу и разложить по полочкам.

Прогонял я не одну спеку, а сразу группу из двух связанных — анонимный вход, человек вкладывается, человек конвертится, всё это web-only. Так экономнее, да и взгляд получается целостный, а не латание дыр по одной. В консилиуме было шесть базовых экспертов, три на Claude и три на GPT через Codex, плюс ещё user-advocate и ui-ux сверху, и двойной стресс-тест, когда скептик сначала атакует варианты, а потом отдельно гоняются вопросы на дальний горизонт. Если интересно как этот метод вообще устроен и как я однажды забыл засунуть туда самого пользователя, я про это уже писал в посте про консилиум, который забыл про юзера.

Важная деталь: код тут пишет нейросеть под моим управлением, я оркестрирую агентов и принимаю решения, а не сижу руками строчу. И вот именно в таком раскладе, когда исполнитель — AI, особенно важно, чтобы у продукта был внятный закон, по которому принимаются решения, иначе агенты будут оптимизировать тупо метрику и приведут тебя ровно в тёмный паттерн, потому что для метрики обман отлично работает. Кстати, один такой обман у меня уже был в коде — легаси-эндпоинт ставил оплату «прошла» без проверки платежа, и вскрыл его как раз AI, а не я.

Что такое конституция продукта и при чём тут совесть

У Картары есть свой внутренний закон, который я называю конституцией продукта, и в нём зашит один простой вопрос-проверка: в чью пользу мы это делаем — человека, или удержания и прибыли? Звучит как лозунг, но на деле это рабочий фильтр, через который проходит каждое спорное решение, и именно он стал главным предметом спора на консилиуме.

Агенты сформулировали проблему прямо: главный спорный вопрос — этичность фейкового лоадинга, и проверять его надо через тот самый закон, в чью это пользу. И когда прикладываешь фейковую загрузку к этой линейке, ответ вылезает сам собой. Фейковый лоадинг не делает для человека ничего, он ничего полезного не считает, он существует ровно для того, чтобы дожать регистрацию через искусственно созданное ожидание. То есть это в чистом виде в пользу удержания, а не человека, и неважно что генерация потом реально запустится — обман в моменте всё равно обман, потому что ты показываешь то, чего нет.

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

Что собрали вместо фейка

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

Дальше получилось приятное следствие. Раз уж сервис интерпретации у меня и так идемпотентный, то фичу расширили сразу на все платные разделы через обобщение на фронте, а не точечно в одном месте. То есть честный вход стал не разовой заплаткой под один экран, а единым правилом для всего продукта, и это как раз то, что я люблю — один раз подумать как следует и применить везде, а не плодить частные костыли.

И ещё придумали по-человечески сильный ход для анонимного чата: даём три бесплатных сообщения, а на кнопке говорим примерно так — если бесплатно такое, то представь, когда узнает о тебе больше. Чувствуете разницу с фейковым лоадингом? Тут нет обмана, тут есть честное обещание ценности, человеку реально показали что умеет продукт, и дальше зовут пойти глубже, а не дёргают за эмоциональный крючок пустой загрузкой. Это и конвертит, и совесть продукта не пачкает.

Что я с этого понял

Главный вывод даже не про лоадинг, а про сам процесс. Когда ты соло и за тебя код пишет нейросеть, у тебя нет рядом ни продакта, ни дизайнера, ни того, кто скажет слушай, а это не стыдно ли. И вот эту роль совести как раз и берёт на себя консилиум, если зашить в него правильный вопрос — не как поднять конверсию, а в чью это пользу. Без такого вопроса AI-агенты с радостью построят тебе любой тёмный паттерн, потому что для голой метрики он эффективен, и в этом главная ловушка автоматизации: машина сделает ровно то, что ты в неё заложил, и если ты заложил только цифры, то цифры ты и получишь, заодно растеряв доверие.

Так что фейковый лоадинг я не сделал и не жалею ни секунды. Регистраций он бы, может, и добавил немного, но я бы знал, что построил продукт на маленькой лжи, а это паршивый фундамент. Честный вход на моменте выдачи плюс реальные три бесплатных сообщения работают не хуже, а спать спокойнее. И если вы тоже строите что-то с нейросетями для бизнеса, спросите себя на каждом спорном экране ровно один вопрос — в чью это пользу, человека или вашего удержания. Ответ обычно знаете сами, просто иногда очень не хочется его слышать.