Comments 45
Ну и чего Вы прикопались к термину «Вайбкодинг»? Да пишите вы свой код с помощью ллм-мок, никто вам всем не запрещает. Главное, чтобы толку от той публикации было. Хотят бы общеобразовательный. Возможно на Хабре старшеклассники тусуются.
Ой, ловко Вы повод нашли очередную статью написать.
Всë же - термины - это то чем мы общаемся, а общение - передача смысла. Термин должен смысл раскрывать, а тут он не соответсвует
Это да, много уже было холивара по поводу…
Ох уже эти святые войны)))
Что касается меня. Да черт его знает, — отношусь скорее нейтрально к термину. Не самое празитное, что видел свет;)
ИМХО данный термин о тренде, а не о конкретной методике/системе методик.
Методики ещё 100 500 раз поменяются, потому что ещё ничего не устаканилось. Например, мы только‑только начинаем подходить к моменту, когда сети LLM начнут не просто генерить код, а еще его пробовать компилировать, запускать и отлаживать. И будет «вайбкодинг уже не тот»
Вы молодец! У вас процесс поставлен лучше, чем у большинства крупных компаний-разработчиков. У нас, в частности, программисты документацией вообще практически не занимаются. каждый пишет во что горазд.
Благодарю. Интересно, с чем это связано. у меня нет опыта в разработке в найме (только аналитиком). поэтому не знаю внутренней кухни. Но быть может это обусловлено тем, что им "и так нормально"?)
я не утверждают, что везде так. у нас же: скорее дело в консерватизме и нацеленности на быстрый результат. плюс слабое понимание у людей принимающих решения, как вообще устроена разработка.
из недавнего: перед внедрением ИИ-методов разработки требуют дать точную оценку на сколько процентов вырастет производительность программистов. без такой оценки внедрять не готовы.
Потому что рядовому разработчику платят фиксированную плату. Чтобы писать документацию надо действительно разбираться в том что делаешь, понимать тот самый workflow, а это время за которое не платят. Я вот пишу документацию, разбираюсь в проекте, понимаю как все работает, да банально пишу типы(typescript, jsdoc) и в итоге делаю раза в два больше чем моя коллега которая получает столько же. А когда я попросил у руководства повышение мне сказали что это не я мало получаю, а коллега получает больше чем нужно) Вот и откуда брать мотивацию развиваться если это не ценится
Ни на одном проекте, где я работал, кроме последнего, программисты не писали документацию. И это было прекрасно. Потому что документацию писали аналитики и технические писатели, а те детали, которые может написать программист, документировались в коде.
Рад увидеть, что мой собственный подход не далеко отстоит от людей, занимающихся этим для продакта. Я делаю примерно также, но для задач внутреннего потребления. В том числе радует, что нейронке можно скормить описательный документ для какого-то протокола, и через вполне вменяемое кол-во итераций получить весьма рабочий проект. По поводу вайбкодинга - это к чему маркетинг стремится, как искусственный интеллект никакой не интеллект.
"Я не могу назвать это "вайбом" — это реально трудоёмкий процесс"
У вас странное отношение к термину "вайб". Это не про легкость или трудоемкость, это про вайб, то есть ощущение, состояние. Вайб может быть у шахтёра, долбящего уголь в шахте.
Импортный чувак, который придумал слово 'вайбкодинг' имел в виду именно как лёгкий весёлый процесс, не требующий знаний...
Вайб на русский переводится слишком многословно, но в нём нет ни слова про тяжесть или лёгкость. Вайбкодинг это кодинг "на одной волне", в данном случае с ИИ. То есть ты ловишь вайб и на этой волне так и идешь пока не закончишь, и знания там бывают очень нужны, если нужен стабильный результат, а не тяп-ляп и в продакшен. Другое дело, что туда тут же кинулись люди без знаний, и значение моментально изменило смысл, превратившись в мем про лёгкий кодинг.
Как та самая кнопка "сделать збс красиво"
Тоже сейчас вайбкодю свой небольшой финтех стартап не написав ни одной строчки кода (не умею) https://zerno.press/
Отличный заголовок, понравилось.
Мне кажется , многие прочухали момент с важностью фиксации, структурирования и актуализации планов / идей при разработке с ллм. Вот, появился github spec kit. Пока не пробовал , но, похоже , этот инструмент как раз про то, чем вы делитесь в вашей статье.
Вопрос не по теме (но для меня очень животрепещущий и актуальный на сейчас): как Вы искали/ищите клиентов, особенно на чат-ботов? Если не секрет.
Все мои заказчики приходят с Кворка. у меня там не много отзывов - всего 10 за 2 года. так как основная часть сделок по итогу проходит за пределами площадки. Когда я включаюстатес, что я "принимаю заказы" - пишут часто, весной например в среднем 1 человек в день, но в диалоге отсеиваю до 1, в первую очередь пр помощи цены. После решил сразу повысить цены на сами услуги, что бы сразу отсеивать несоответсвующих клиентов. пишут реже - 1 в неделю, но уже те кто прошел фильтр и больше шансов что будем работать. Что бы я сам откликнулся на проект и меня пригласили - один раз такое только было, так что почти не занимаюсь откликами. Короче - заказчики действительно сами приходят. Цены ставлю не нижнего уровня - из среднего рассчета - 2к руб в час. дальше перехожу уже на оценку стоимости проекта, часы уже редко использую
Не проверять код после LLM - это, конечно, мощно. Никакая документация не спасет от галлюцинаций. Даже если все нюансы описывать. Да и в целом, уровень понимания у LLM на низком уровне (хотя тут грамотный промт вполне помогает).
Да и в целом, именно написание кода - далеко не самая большая проблема в разработке ПО.
P.S. хорошо бы более детальное описание проектов иметь для понимания их сложности. По предоставленным описаниям складывается впечатление, что это достаточно небольшие проекты (и соответственно простые просто в силу размера)...
Очевидно это проекты, где цена ошибки ничего не стоит, а если и стоит, то не критично для владельца. Или минимальное количество логики и баз данных.
Допустим систему управления складом лучше не вайбкодить, а вот лендинг страницу или телеграм бота уже можно.
Хотя автор упоминал эфирные контракты, но здесь видимо безумие и отвага решает.
Но как раз речь о том, что мы делаем через LLM те же системы управления складами - для ВБ, со статистикой, аналитикой, RAG. Все работает.
Понимаю ваш скептицизм - но вопрос - а вы пробовали такие проекты через LLM делать? Именно на собственном опыте
>а вы пробовали такие проекты через LLM делать? Именно на собственном опыте
LLM на текущий момент использую только для закрытия пробелов в знаниях, либо для изучение новых тем. Ни в коем случае не доверю написание хоть немого критичного проекта LLM, от которого зависит моё благополучие. Потому что они постоянно ошибаются.
Вы конечно можете на n-ой итерации вроде как поправить все ошибки и закрепить рабочий код тестами (опять же сгенерированный LLM). Но ошибка может вылезти с неожиданного ракурса. И владелец понесёт серьёзные убытки или просто закроет свой микробизнес узнав об этой ошибке в момент когда пути назад уже не будет.
Но допустим вы вдумчиво проверяете весь сгенерированный код. В этом случае вы тратите больше времени, чем просто написание кода самостоятельно. А значит вы будете много медленнее опытного погромиста. Психологически уставать будете больше.
В общем, куда не плюнь - всюду клин. Я бы назвал этот тренд безумием и отвагой. Но я стараюсь не закостенеть в мировоззрениии, поэтому с любопытством наблюдаю, жуя попкорн.
Понял, быть может я действительно когда то столкнусь с проблемами, вами описанными. Пока я еду на этой схеме уже около года, жалобы конечно - были - но все были оперативно решены - и это в пределах ошибок, которые возникают и при обычной разработке.
По времени и силам - не могу оценить. Это явно намного быстрее чем когда я руками делал - ведь этот опыт у меня конечно та же был, я много проектов на ручной разработке провел и плавно перешел к LLM. И по всем показателям - времени и финансовому выхлопу - вижу только плюсы.
Но не забуду ваши предостережения)
Иногда у людей нет возможности нанять погромистов, поэтому это очень здорово, что появился такой способ удешевляющий разработку. Дающий без программирования сделать какой-то законченный продукт. Ведь по другому вообще бы ничего не было бы создано. Но нужно и понимать риски. И при первых успехах лучше всё переписать без использования ИИ.
Спасибо за статью. Правильно понимаю, что не проверяется код имплементации. Код теста проверяется, т.к. по сути создается совместно с LLM?
Нет, тесты пишутся так: Уточняем в документации что должны делать и возвращать функции - именно как ТЗ какого то модуля. По Этому ТЗ пишутся тесты заглушки - которые обязательно проваливаются - это значит что они инициализирован. Далее - пишем тесты, которые работают с данными из ТЗ - которые проверяют описанный процесс работы. ПОТОМ только пишутся сами функции, которые тестируются)
И тесты и функции сами пишутся LLM
Я вот прямо сейчас разрабатываю систему управления складом. Вроде все получается (пока)
Я согласен, что проекты не столь большие, пока что опыт - не более 70к строк. Поэтому контроль не теряется. Это либо ТГ Mini Apps - онлайн игры с криптой, ТГ боты - небольшие были - для продажи ВПН, работы с GPT + MidJourney - распространенные кексы, которые нужны заказчикам на фрилансе. Сейчас работаю над ассистентом для селлеров - там выгрузки заказов, выкопуо, возвратом, состояния всех складов и номенклатур, отзывы, автоответы отзывов, скраппинг и анализ конкурентов, генерация контент + аналитика и RAG.
И такие проекты отлично вывозятся LLM если документировать все идеи, сущности. Такие проекты достаточны для фриланса - а потому и LLM достаточно для разработки)
Так же у нас команда проводит pentest по окончанию, для закрепления результатов
Сколько платят за проект?
Зависит от проекта конечно. От Пентестов за 50, до мини аппов 350+. Слишком абстрактный вопрос)
Привет. Интересная статья👍. Но есть вопросы:
0) Как получить оценку для себя, сколько проект займет времени/денег ?
1) правильно ли я понял: Заказчик предоставляет описание проекта, вы пропускаете его через LLM, где для себя разбиваете на: этапы, стек для каждого этапа? В общем хотелось бы тут поподробнее, может какой-то промпт есть, который помогает сформировать этапы и стеки?
2) Если в какой-то момент, например через пол года, заказчик захочет набросать дополнительные фичи, обновления. Как будет идти процесс разработки на работающем проекте?
0) Сначала я считал только часы*ставку. Часы - из опыта прошлых рейсов + давал ТЗ на анализ нейронам - но прогонял раз 10, прежде чем получить среднее значение и средний максимум. минимум - не интересует. Ставка - зависит от цели заработка и сопоставлением со ставкой ЗП этой сферы, но с учетом, что налоги, страховые - сам занимаешься. В данный момент перехожу на стоимость по ценности проекта - это сложнее, но необходимо.
1) В целом да. Про стек - тут надо самому разбираться - надо понимать, какие технологии будут нужные, какие - избыточный и двигаться по бритве Оккама. Меньше - проще - быстрее. Не могу сказать что есть универсальный Промт - тут скорее происходит долгий диалог с кучей уточняющих вопросов, пока я не удостоверюсь, что LLM точно понимает что нам необходимо.
2) Если это наш проект - то мы сохраняем эти документации прямо в репозитория - поэтому это будет полезно как для нас в будущем, так и для других исполнителей. Создается новый агент. который ознакамливается с этими архивами - и продолжаем. Здесь нет разницы между процессом поэтапной разработки и новой фиче - новая фича это как новый этап, вот и все)
Cursor + Gemini CLI — для фактической разработки, ChatGPT, Sonnet, Grok
что будем делать, когда всё это закончится?
я трачу на LLM от 3 до 6к в месяц. По статистике уже вижу корреляцию между затратами на них и доходом за месяц. поэтому я считаю, что тратить на LLM нужно - как на стажеров и серверы.
это же ненадолго. Отвыкнем вручную писать быстро. Или надеетесь на гигачат?
Что значит "Ненадолго"? что произойдет - вы про потенциальные запреты пользования заграничными LLM?
я в начале своего пути писал руками, успел много заказов выполнить, работал руками в аналитике. Но когда научился пользоваться LLM - не вижу больше смысла откатываться эволюционно на шаг назад - за этими технологиями будущее. Какой практический смысл кодить руками? Это медленнее для заказчиков - им важна скорость - это главное конкурентное преимущество. они готовы платить больше за эту скорость.
По началу меня терзали мысли, что это неправильно, что так разучусь код читать и писать - но потом понял, что это это аналогично тому, что деревянные счеты заменили калькуляторы. а калькуляторы заменили эксели и т.д.- это прогресс - и ему сопротивляться - себе дороже. Во всех смыслах
Интересно как скоро скилл работы с llm станет обязательным? При устройстве на обычную работу программистом я имею ввиду
Я полагаю, что это вскоре станет базовым навыком в большинстве профессий. Это технологии, которые вскоре займут собой все пространство. Как было со смартфонами - по началу - приколюха для богатых, бизнес, все дела. Теперь без смартфона - жизнедеятельность становится более ограниченной. Так же и с LLM - это будет вшито везде - во все ОС для начала
Что делать, что делать, ollama и 5090 😁 Правда с такими расценками на бота за three hundred bucks ипотеку уже сейчас надо брать на железо
Вайбкодинг — не Вайб и не Кодинг