Как стать автором
Обновить

Личный опыт «вайб-кодинга» глазами руководителя разработки

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров27K
Всего голосов 48: ↑36 и ↓12+34
Комментарии59

Комментарии 59

Мои выводы похожи. С рядом задач возникает иллюзия готового решения, пока его не начнёшь обкатывать. А исправления иногда настолько трудны, что хочется бросить затею и написать самому.

Как я уже писал ранее в одном из комментариев, LLM мощный инструмент. Благодаря ему удается победить лень и получить заряд мотивации написать самому.

Сначала делаешь с помощью LLM. Но потом устаешь ему объяснять все косяки кода. Указывать на все ошибки, когда он правит одно и ломает другое. Злость нарастает и появляться желание написать самому. И тогда берешь и пишешь сам. Так как основу вроде уже LLM накидал. А вот с логикой не справился.

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

Эту роль практически бесплатно выполняет резиновый утёнок.

Утёнок не бесит своей "тупостью". ;-)

Утёнок не бесит своей "тупостью". ;-)

Оу, мсье тонкий извращенец мазохист?

Я просто начинаю разговаривать сам с собой, будто я наставник, а меня слушает ученик, или наоборот

Вот потому программеров (на самом деле кодеров) заменят промт-мнженеры.

А традиционные языки программирования исчезнут. Ну, что-то останется, как остался ассемблер...

Я всё жду, когда мне кто‑нбудь покажет, как GPT даёшь мегабайт существующих исходников, говоришь «Хочу, чтобы при нажатии на кнопку товар помещался в корзину, причём если товар на распродаже, то со скидкой» — а он соответствующим образом создавал колонку "discount_rate" в базе, изменял логику чекаута и т.д. До смерти ждать буду.

Мне в каком то платном прокси чат ГПТ ответили на такую идею в поддержке что входящий запрос обрезается до скольки то тысяч токенов. Потому что они платят за контекст, который измеряется в токенах.

В итоге что бы мегабайт кода переварить, нужно много токенов в контексте. И тогда вероятность хорошего программирования повышается.

Но это как я понял куча денег

Gemini 2.5 Pro переварит «мегабайт существующих исходников», но с промптом «Хочу, чтобы при нажатии на кнопку товар помещался в корзину, причём если товар на распродаже, то со скидкой» без декомпозиции, вероятно, не справится.

Скажите, а Gemini 2.5 Pro имеет в себе какие-либо способы сделать так, что бы у Flutter скорость рендеринга выросла? Потому что сейчас у Flutter явные проблемы, рендер одного элемента происходит с средней задержкой в полсекунды и вплоть до полутра секунд на большом количестве элементов. Очень хотелось бы знать.

должен быть сервис, где специально обученную модель дотренируют на моей кодовой базе в связке с моим багтрекером, после чего она будет предлагать патчи для новых заявок.

Все было очень интересно, но Вы незаслуженно забыли о Claude-code.

  • любите CLI и готовы платить за токены - попробуйте Codex или Claude Code.

Я написал про Claude Code в одном из пунктов.

Согласен, я пропустил это.

Не использовал LLM для написания этого текста, только орфографию проверил, она у меня так себе.

Значит мышление уже такое. Буллитами. Может, всё в виде презентаций уже пытаетесь оформить

Нене, это норма, тоже в универе полюбил списки. Структуру мысли сразу видно, проще вычленить воду (или наоборот, добавить, превратив список в абзац)

Мне кажется дело привычки. Как по мне так наоборот

  • добавляет лишнего

  • размазывает мысль

  • мешается

  • all of the above

Буллитами это какой-то стиль не человеческий

Повествование останавливается и начинается нудное подтверждение нагнетание одного тезиса:

Я тебе давала целый горшок, а ты мне вернула битый горшок!

-Во-первых, ты мне давала битый горшок;

-Во-вторых, я тебе вернула целый горшок;

-В-третьих, я у тебя ВООБЩЕ НИКАКОГО ГОРШКА НЕ БРАЛА!!!

орфографию проверил, она у меня так себе.

У него тоже.

Руководитель, архитектор, главный инженер должны соответственно организовать, составить архитектуру и составить внутренние фреймворки/быстрые способы разработки массовых задач. А не это вот всё

Внутренними фреймворками я делиться по понятным причинам не могу, а данный опыт, приобретенный в мое свободное время, может быть кому-то полезен.

Вы в банке готовы разрешить сотрудникам пользоваться инструментами, которые неизвестно куда выгружают ваш код?

Потому что инструментов с открытым кодом, позволяющих использовать собственные модели, меньше на порядок.

Статья исключительно про опыт в свободное от работы время.

Качественных инструментов с открытым исходным кодом действительно хотелось бы побольше, но я думаю все еще впереди.

А в целом, при каких условиях вы готовы разрешить сотрудникам использовать такой инструментарий?

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

Столкнулся с теми же болячками, набил те же шишки. Психанул и написал несколько статей по поводу своего опыта: https://romanr.bearblog.dev/blog/

Это вот целый руководитель разработки (!!!) ждет чуда от ИИ кодинга, а предсиавьие, что думают обычные программиссты-работяги?

Где вы про чудо увидели?

Привет Детройт

В целом согласен и пайплайн адекватный. Я например порой создаю прототипы игр при помощи вашего новомодного вайбкодинга просто в html странице и если играется нормально, то уже делаю игру на игровом движке, где уже особо не повайбкодишь. Для прототипов и в некоторых случаях mvp вполне себе пойдёт.

Советую попробовать harvi.pro... вполне себе для прототипирования

Попробовал, спасибо правда очень быстро генерирует прототипы. Причём даже бесплатно. Ещё и копейки стоит. Всего 2500 рублей за 35м токенов, которых хватит на полноценный вайб код проект. Спасибо что посоветовали. Плюс мне понравилось, что она учитывает тех часть. Т.е. если я говорю например создай игру и разнеси всё по компонентам и классам (описывая по какому принципу), а так же используй дельта тайм и т.д. то код выходит более-менее приличным. По крайней мере довести его до ума не займёт много времени. В общем хорошая вещь.

Попросил его написать прототип rpg на libgdx, он сказал, что не будет и напишет на js. Почти поверил, что AGI уже здесь...

Та не, эти нейронки только хорошо пишут на js, а в плане игр только с хороши с tree.js или canvas, ну как хороши. Собрать прототип чтобы по-быстрому проверить работоспособность. Если мы говорим про игры, то разумеется ни одна нейронка не соберёт готовое решение, с адс, отслеживанием статистики, адекватным ui, менеджментом сцен, шейдерами и прочим.)

Часть «Личный опыт „вайб‑кодинга“» — абсолютно соответствует содержанию.

А вот часть «глазами руководителя разработки» — неявно обещает больше, чем просто личный опыт. От руководителя ожидаешь услышать ответы на вопросы вроде: Как эти инструменты могут быть интегрированы в рабочие процессы? Как готовить к этому команды? и т. д.

Заголовок «Личный опыт „вайб‑кодинга“: взгляд руководителя разработки на инструменты для пет‑проектов» мог бы гораздо точнее отразить суть.

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

А все остальные, я так понимаю, вас не интересуют?

Мне так удивительно слушать вот этот бред, что ИИ все вместо тебя делает, но это же просто неправда. Что такое код? Это и есть бизнес требования, переведенные на строгий формальный язык. Вместо этого предлагается печатать в сотню раз больше слов на человеческом языке, который не формальный, не однозначный и ограниченный в выражениях чтобы получить тот же код. Все, кто раздувает этот хайп похоже сошли с ума

Если речь о С-подобных языках, и вы хорошо знакомы с одним из них - то ОК. Я же например, как и многие, знаю только JS, потому что JS настолько объёмный (весь стандарт JS в 50 раз больше стандарта ECMAScript), что либо ты развиваешься в JS до конца либо ты его так и не освоишь полностью. Поэтому для работающих c JS - LLM это подарок просто, потому что я могу что угодно без особых усилий на любом C-подобном языке собрать. И так же это действует и в обратную сторону, если вам нужно что-то собрать на JS, а вы знаете только C-подобный язык, то это подарок просто. Опять-таки, есть много не С-образных языков разнообразнейшего применения, для них это так же применимо. И, я вам скажу, что все современные LLM с JS работают в рамках фронтенда абсолютно безошибочно, потому что браузер это статичное окружение, то есть если база знаний современная и контекстного окна хватает (или проект встроен в LLM и контекст безлимитный), то вероятность ошибки околонулевая. Вот с CSS есть проблемы, потому что это текстовый векторный редактор, по сути, и все LLM очень плохо понимают редактирование вектора, но для написания JS-скелета - вам CSS особо и не нужен, потом руками сделаете.

Что за стандарт JS? Вроде же ECMAscript и есть стандарт тот самый?

Там в другой ветке уже обсуждалось - в этих сообщениях "стандарт JS" = "JS в браузерах", т.е. вместе с DOM и прочим подобным, а не буквально стандарт.

Стандарты — они такие...
Ну да

Тут (у MSZX) дело даже не в «полной и точной спецификации», которую надо превратить в промпт. Часто код действительно легче написать руками, чем насиловать LLM.

Беда в том, что когда человек из треда в тред повторяет мантру про «абсолютно безошибочно» и «вероятность ошибки околонулевая» применительно к вероятностному инструменту (LLM) — это уже симптоматично.

Он, похоже, в своей альтернативной реальности изобрел невероятностную LLM, которая «абсолютно безошибочна». Это упорный отрыв от реальности, граничащий с клиникой.

А почему вы всегда пишите, подчеркивая жирным выделением разные слова? Вы считаете, что ваш поток сознания таким образом становится ценнее?

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

Да там явно у человека проблемы, судя по тому, что он начал за вами бегать и на каждый ваш коммент вкидывать про медленный flutter :)

Да это просто ответ на то, как он начал бегать по моим комментариям.

А Flutter это редкостное bloatware, о чём известно всем за пределами Хабра. Первый раз я встречаю, что бы на каком-либо айтишном сайте собрались люди, которые отрицали бы тормознутость flutter, это вообще аксиома и всем известно, что flutter ужасно лагает на любом функционале отличном от базового. Если что, вот замеры: https://blog.theodo.com/2023/09/ios-rendering-performance

Я конечно, понимаю, что я тут процентов 5% населения сайта выдергиваю из их зоны комфорта, где flutter это "продвинутая технология от гугла", которая "не может лагать", но на любом айтишном сайте, кроме хабра, лагающий flutter это просто общеизвестная истина. Тут просто люди очень боятся за свою зону комфорта, а мне, просто случайно на Хабр затесавшемуся - потратить рейтинг на доброе дело не жалко, flutter это дико ущербная технология, и об этом должно знать максимальное количество людей, и минуса от хабровского echo chamber - мне как-то не особо страшны.

Читая Хабр, заметил, что это настолько токсичное сообщество, что умному человеку приходится писать такие посты: 100% теории, 0% эмпатии, личного опыта, личного мнения, описания ошибок. Под одеяло убрано все, за что может зацепиться взгляд "злобного кусаки" читателя))

И это точно не ИИ, так писали тут задолго до него. Тех, кто так не делал, заминусовали и они исчезли, растворились в мутных водах интернета.

А вы augment code не пробовали?

Пока не успел, но слышал про него хорошие отзывы.

Я им сам активно пользуюсь и меня все устраивает. Но пока нигде ничего про этот инструмент не слышал. Может просто плохо искал.

Я попробовал поменьше инструментов, остановился пока на Cursor, JetBrains + AI, ChatGPT. Везде платные подписки. То, что можно написать с ИИ очень сильно зависит от постановки задачи и заданных ограничений. Ограничения задаются в том числе через md-файлы, в которых можно их очень подробно описать базовые требования к архитектуре, используемым библиотекам и подходам. Уже сегодня понятно, что работа программиста как бездумного кодера заканчивается, его через 1-2 года полностью заменит ИИ. Работа нормальных программистов трансформируется во что-то новое. Думаю, что это будет некий симбиоз программиста + аналитика/архитектора + владельца продукта. Во-первых, программист обязан понимать, что ИИ пишет, проверять сгенерированный код, по сути делать ревью. Во-вторых, надо ставить задачи для ИИ, руководствуясь бизнес-задачами, приоритетами - это вполне себе работа владельца продукта. Ну и в-третьих, надо мыслить как архитектор/аналитик, учитывать дальнейшее развитие системы, формировать функциональные требования, продумывать связи одного приложения с другими, продумывать API и много чего еще.

Все эти курсоры - по сути форки ущербного VS Code. Я лично юзаю "бесплатные" полноценные IDE Jetbrains Rider/Clion, там можно прикрутить локальную LLM через Ollama или LM Studio. Пока выбрал модель Mistral Small 3.1. Вроде даже можно прикрутить MCP. И ничего платить не надо.

Я использую Claude Code. Для нормальной работы пришлось подробно сформировать файлы с архитектурой проекта, архитектурой автотестов, дорожной картой разработки, code convention и прочими правилами работы + подготовил сниппеты для отправки заранее детально сформированных сообщений, которые вызывают заранее заготовленные промпты для операций (типа "почини автотестов по таким-то правилам в таком-то подпроекте"). Сам проект разделил на подпроекты, чтобы легче было ориентироваться. Сейчас ещё делаю систему анализа качества разработки по соответствию правилам, промптам, автотестам и анализаторам. Пришлось несколько недель с этим разобраться, зато теперь относительно небольшие (сейчас около 90к строк) проекты получается довольно быстро разрабатывать, по крайней мере на Python. В программирование и архитектуру умею.

Помимо Claude Code есть ещё автономные системы, которые умеют работать с файлами на файловой системой и взаимодействовать с утилитами командной строки?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации