Ну что, пора уже наконец начать серию полезных постов для тех, кто увлечен вайбкодом. Как я уже писал тут, Lovable - это ванлав, и ничего
Lovable творит магию вне Хогвартса. Но все ли так гладко? Давайте разбираться.
Важный тезис, который я выстрадал ценой уже 1000 баксов: любой AI - это инструмент. Любым инструментом надо уметь пользоваться.
Представим ситуацию: у вас есть идея, вы плюс-минус даже можете ее описать, а значит теперь можете быстро реализовать. Описываем проект, Lovable восторженно встречает вашу идею и начинает делать. Потом вы понимаете, что кое-что надо реализовать по-другому. Описываете идею, lovable с не меньшим энтузиазмом восторгается и снова начинает фигачить. Важно то, что из-за наличия под капотом LLM, одной из основных задач которых является правильно лизать вам жопу так, чтобы вы чувствовали себя героем, lovable начинает городить огород. Потому что все, что вы предложили - это истина в первой инстанции.
В какой-то момент вы оказываетесь в ситуации, когда куча правок создают тьму легаси-кода, с которым просто невозможно работать. Lovable хочет удивлять. Он не хочет долго думать, ведь пропадет wow-эффект. В итоге доигрываемся до того, что проект еле ворочается и почти неподдерживаемый.
Чтобы избежать подобного, в таких платформах придумали отдельный инструмент - рассуждения. Вообще когда только начинаешь работать и осознавать, что каждый твой запрос стоит денег (не понятно однозначно сколько, но сколько-то стоит), то транжирить токены на режим рассуждений кажется жутким расточительством. Трезвеешь тогда, когда понимаешь, что если бы транжирил, переделывать потом пришлось бы кратно меньше.
Поэтому совет 1: сначала рассуждаем о задаче с платформой, и лишь потом отправляем задачу в реализацию. Что важно? В ходе рассуждений вы можете увидеть логические противоречия или те самые места, где lovable под капотом хотел вас порадовать и сделать что-то еще, о чем вы не просили. Выполнение-долг, перевыполнение честь! Смело отсекаем такие инициативы и получаем намного более чистый код.
Для иллюстрации: на последней задаче у меня было 1800 промптов, из которых только 1200 были с действиями. То есть на 2 имплементации я делаю в среднем 3 рассуждения. И это в среднем. Если посмотреть срез последней недели, то соотношение будет уже 1-1. Цена удваивается, но качество взлетает по экспоненте!
Отсюда Совет 2: Идем в настройки и добавляем системный промпт: "Не все мои идеи верные, я часто допускаю ошибки, поэтому твоя задача не просто составлять план реализации моих запросов, а сначала анализировать сами запросы, искать в них логические противоречия (если есть) и не бояться критиковать". На выходе мы получаем не тупого восторженного исполнителя, а ответственного менеджера, который следит за тем, чтобы буллшит не прорывался в продакшен.
Ну и теперь Совет 3: в системный промпт обязательно скормите все основные ограничения вашего проекта, которые можно легко забыть и не описать в очередном запросе. Например: "Обязательно проверь адаптивность мобильной верстки" или "При создании новых страниц следи за обновлением файлов перевода, так как сайт на двух языках" и так далее. Это незначительное "утяжеление" ваших задач будет способствовать кратному росту качества на выходе.
Совет 4: Обязательно обвешиваем код комментариями как можно плотнее и понятнее. Система переключается с задачи на задачу, а когда возвращается чтобы изучить свой код, это сильно упрощает жизнь.
Боттом лайн: Lovable - это восторженный senior разработчик с junior майндсетом. Но такими вот настройками вы можете сделать из него матерого сотрудника для своего проекта!