Если у вас провисает конверсия на продукте, где контент генерит нейросеть, первым делом смотрите не на кнопки и не на воронку, а на сам текст. В моём случае люди читали бесплатный разбор и уходили ровно потому, что он пах машиной. И починилось это не переделкой механики, а одной правкой на уровне промпта: я вшил во все доменные промпты анти-AI блок, который запрещает оборот «не X, а Y», ограничивает тире, убивает правило-тройки и заставляет держать рваный человеческий ритм. Самый дешёвый и самый широкий удар, который сразу бьёт по каждому разбору у каждого пользователя — без новых схем, без инфры, без миграций.
Диагноз сместился с механики на текст
Я довольно долго ковырял не там. Думал, что дело в самом флоу: мол, человек заходит, получает разбор, а дальше непонятно куда идти, вот и отваливается. Крутил кнопки, думал про подписку вместо токенов, прикидывал, где затык в пути пользователя. А потом просто сел и перечитал то, что выдаёт продукт, своими глазами, как обычный человек, который зашёл первый раз.
И вот тут до меня дошло. Текст-то нормальный по смыслу, голос продукта мне нравится, он живой и по делу. Но поверх этого живого голоса лежит тонкая такая машинная плёнка, которую ты сначала не замечаешь, а потом уже не можешь развидеть. Те самые конструкции «это не про деньги, а про доверие», аккуратные перечисления из трёх пунктов одно к одному, тире через слово для красоты, и общий ровный причёсанный ритм, где все предложения примерно одной длины. Человек так не пишет. Так пишет нейросеть, когда её не одёрнули.
А что происходит, когда читатель ловит этот запах? Да ничего хорошего. Он не формулирует это словами, он не думает «о, тут AI-маркеры», он просто чувствует фальшь и закрывает. Ровно так я сам забраковал AI-текст для собственного профиля — видно, что писала нейросеть, и всё. Бесплатный разбор отработал вхолостую, человек ушёл, конверсия в платное где-то там внизу, а ты сидишь и не понимаешь почему, ведь по логике-то всё на месте.
Голос не трогаем, снимаем машинную фактуру
Тут важно было не перегнуть. У меня был соблазн пойти и переписать вообще всё, но голос продукта мне нравится, он рабочий, он годами настраивался под характер персонажа, и ломать его ради того чтобы убрать пару оборотов было бы тупо. Поэтому я сформулировал задачу узко: голос не переписываем, снимаем только машинную фактуру. То есть оставляем то, как продукт думает и говорит, а вычищаем то, как нейросеть это причёсывает по своим дефолтным привычкам.
Сам анти-AI блок — это по сути список запретов и одно требование, и он вписывается в каждый доменный промпт разбора. Запрещаем оборот «не X, а Y», любимую AI-конструкцию, которая выдаёт машину с потрохами. Ограничиваем тире: не вырубаем совсем, но ставим лимит, чтобы не было пулемётной очереди из них. Убиваем правило-тройки, эти бесконечные перечисления через запятую ради ритма. И главное — требуем рваный человеческий ритм, чтобы предложения были разной длины, чтобы где-то была длинная текучая мысль, а где-то короткий выдох, как у живого человека, а не у генератора.
Никаких новых схем в базе, никаких новых сервисов, ничего такого. Это разработка с помощью нейросети в её самом честном виде: я не дописывал систему, я переписывал инструкцию, по которой система работает. Claude Code вносил правки в промпты, я держал рамку и проверял результат на живых разборах. И поскольку правка живёт на уровне промпта, она действует мгновенно и на всех сразу, каждый следующий разбор у каждого пользователя уже выходит почищенный. Ровно так же я однажды вшил честность сразу в 7 промптов — один точечный укол лечит весь поток, а не один экземпляр. Вот за это я и люблю работу на уровне промпта в продуктах, где нейросети для бизнеса генерят контент в рантайме.
Few-shot примеры — вот где зарыта собака
Запреты запретами, но нейросеть учится не только на правилах, она учится на примерах. А в промптах живут few-shot примеры, образцы того, как должен выглядеть хороший разбор, на которые модель ориентируется когда генерит свой. И если эти образцы сами написаны машинным языком, то хоть ты сто запретов сверху повесь, модель будет тянуться обратно к тому что видит в примере. Образец перевешивает инструкцию.
Поэтому пришлось переписать few-shot примеры всех доменов в эталонный голос, тот самый рваный, живой, человеческий. Самое муторное тут было сохранить структуру: примеры лежат в строгом формате, и если ты переписываешь текст внутри, но ломаешь формат, всё рассыпается. Так что переписывали аккуратно, поле за полем, сохраняя схему, но меняя саму ткань текста. Это та работа, которую легко проскочить и подумать что дело сделано, мол, блок добавил, поехали. Нет, не поехали. Пока примеры пахнут машиной, модель будет копировать машину.
Кстати, эту же логику я уже проходил, когда нейросеть написала 702 текста за 35 минут — там тоже всё держится на качестве образца, который ты даёшь на вход. Дашь машинный шаблон, получишь машинный конвейер. Дашь живой, получишь живое. Промпт это не магия, это зеркало того что ты в него вложил.
Крюк на чат и regex в бэклоге
Параллельно я добавил ещё одну штуку, крюк на чат. Раньше разбор просто заканчивался, человек дочитал и всё, дальше тишина и непонятно что делать. Теперь разбор заканчивается живым приглашением продолжить разговор, в голосе самого продукта, а не сухой кнопкой «продолжить в чате». То есть текст сам подводит человека к следующему шагу так же естественно, как это сделал бы живой собеседник, который видит что тема не закрыта.
А вот regex-постпроход я сознательно оставил в бэклоге как опциональный. Идея была такая: после генерации прогонять текст регуляркой и дочищать оставшиеся «не X, а Y», которые проскочили мимо промпта. Звучит надёжно, но это уже дочистка дочистки. Если промпт и примеры работают, таких хвостов остаётся мало, и ради них городить отдельный постпроход с риском зацепить нормальный текст пока не стоит. Пусть лежит в бэклоге, понадобится — достану. Не всё нужно делать сразу, особенно когда дешёвое решение уже закрыло основную массу проблемы.
Что я из этого вынес
Главный вывод простой и немного обидный: можно вылизать механику, воронку, кнопки и подписки, а человек всё равно отвалится на первом же абзаце, если этот абзац пахнет нейросетью. Текст и есть продукт, когда продукт это текст. И самое дешёвое место, где можно сделать ему лучше, это не код и не инфра, а промпт и примеры в нём.
По цене это вообще копейки: никаких новых сервисов, никакого ии для автоматизации поверх, просто переписанные инструкции и образцы. По охвату максимальный, потому что правка уровня промпта бьёт по каждому разбору у каждого пользователя сразу, как только её выкатил. А по эффекту честно скажу так, как сам себе сказал: сделали лучше на сколько-то, уже заебись. Я не меряю это в процентах конверсии до второго знака, потому что текст это не та штука где есть финальная цифра. Тут работает простое правило: если читатель перестал чувствовать машину, значит стало лучше, а на сколько именно покажет жизнь.
Так что если у вас вайбкодинг-проект на нейросетях и контент генерится в рантайме, а конверсия не идёт, перечитайте то что выдаёт ваша модель глазами обычного человека, без скидки на «ну это же AI». Скорее всего проблема не в воронке. Проблема в том, что текст выдаёт машину, и лечится это там же, где он рождается, в промпте. Вот и делайте выводы.