Comments 30
Судя по проблеме, это и твой первый проект 😂
Собрат! )) Первого такого живого вижу 🤣 Единоверцев почти нет ещё 😁
Я не то чтобы пытаюсь сильно пиарить себя как крутого инженера, победившего LLM. Программистом я и вовсе не являюсь, только в отдаленном прошлом на уровне лабораторных работ.
Но по своему опыту могу сказать, что вайбкодинг - несмотря на весь негатив собравшийся вокруг этого термина, на самом деле не плохое явление. Это как раз таки возможность. Возможность тем, кто далек от IT реализовать какие-то свои идеи, собрать на коленке MVP и, кто его знает, вдруг это не просто заработает, так еще и окажется полезным, да еще и кому-то на стороне.
Да LLM еще пишут не самый лучший и удобный код и доводить такой проект до полноценного прода настоящему программисту будет ад. Но если ты сам программист с опытом, уже хорошо понимаешь архитектуру, паттерны, имеешь свой стиль и понимание работы LLM, ты вполне себе сможешь сделать из LLM крайне полезного ассистента, который будет быстро писать код в твоем стиле, с нужными тебе паттернами и библиотеками, просто на это нужно время для тончайшей настройки и, главное, знания.
Обычные вайбкодеры без знаний от этого далеки и потому если не начнут учиться, не смогут делать что-то приспособленное к жизни сразу же.
Но LLM развиваются крайне быстро, кто знает, может быть через год мы уже будем обсуждать как LLM по-настоящему уже заменят какой-то сегмент рабочих мест и те, кто напрямую игнорировал LLM чисто из-за каких-то своих политических соображений окажутся перед сложным выбором, переступать через свои принципы, или быстро развиваться как специалисту, чтобы не отставать от прогресса LLM. Насколько знаю, уже у многих IT проектов для программистов умение пользоваться большими моделями чуть ли не обязательный навык. Никто не заставляет именно писать код через LLM, но правильно использовать ее для ускорения решения задач, становится чуть ли не стандартом уже. И не только в IT сфере.
Ощущаю большую разницу между тем, что есть сейчас и было всего полгода назад.
В одном достаточно популярном канале опрос провели. Только 20% проф. кодеров ещё не пользуются. Остальные вовсю, даже гуру в доки чаще не лезут, а поболтать норовят... 😁 К тому же, уже внедрены в большинство редакторов, репозиториев и кофеварок...
Так и есть)
Поэтому это скорее то, чему уже не то что даже нельзя, а уже противопоказано сопротивляться.
У меня недавно в голове какая-то ассоциация была с чем-то из прошлого, что тоже сначала все хейтили, а потом это стало настолько повсеместным, что уже без этого стало невозможно представить жизнь.
Недавнее прошлое: луддиты. Ну, те, которые громили ткацкие фабрики, потому что в фабричных тканях нет души, которые в неё вложили руки ткачих на ручных станках.
Там тоже станки не видели очевидного, а вот человеческие глаза и руки...
Луддиты громили фабрики совсем за другое. Не надо распространять заблуждения. Хотя вера в идиотизм окружающих людей неискоренима.
Ну да, если быть точными, то получается, погромы были единственным способом сопротивления, а протестовали в основном мастера, так как их за счет машин заменяли на подмастерье и детей за меньшую оплату.
Но в любом случае, сам по себе термин "луддит" все же в целом имеет значение именно как "технофоб".
Коллега, по-моему вы недостаточно внимательно читали публикацию)
Понимаю, что на Хабре считается хорошим тоном обматерить очередного вайбкодера, который пришел тут и что-то пилит, не имея реальных навыков, но все же:
Какие критические компоненты в моем проекте тащатся на угад?
В docker-compose была прописана metabase:latest, но как я и описал, при запуске не был выполнен pull, что я откровенно проглядел, из-за чего несмотря на полную сборку проекта запустился старый контейнер, давно висевший в системе. Да, вайбкодеры любят расчехлять LLM по любому поводу, но я по-моему сразу открыто заявил, что не являюсь программистом, да и читать полотно логов накопившихся за более получаса циклических сбоев, мне вот как-то было откровенно лень)
Про самую последнюю версию чего имеется в виду? LLM или Metabase? С первым все просто - они регулярно эволюционируют, становятся лучше и так уж получилось, что в Antigravity только самые новые модели, так что не то, чтобы у меня была возможность специально выбрать "старую" модель. Если же речь о Metabase - то а в чем, собственно, проблема? Я уже все запустил и протестировал на рабочей машине, запросы работают, графики строятся. По какой логике мне необходимо было не использовать latest версию?)
Не знаю какой был коммент на который вы отвечали. Но по хорошему для воспроизводимости после pull latest проверяется версия и обычно фиксируется в компознике, чтобы везде именно она использовалась, и желательно с уникальным названием и сетевым портом для доступа, чтобы вот так не попасть на открытый пол года назад контейнер. Но если это пет проект то не нужно так делать. А за статью спасибо, у LLMок действительно есть такая проблема.
Забавно, года полтора-два назад все говорили что это генератор бойлерплейта, а сейчас сравнивают аналитические способности. Что будет через пару лет? Если вот так остановиться и подумать, что было буквально год назад. Взять нейронки тех лет и сравнить. Они сейчас кажутся настолько тупыми, что ими пользоваться не хочется от слова совсем.
Сегодня попросили починить сертификаты летсэнкрипт на одном проекте. Просрочились. Ну через сертбота обновил. Решил запустить --dry-run и увидел там кучу непонятных субдоменов. Поудалял нафиг лишние. Появилась ошибка на одном из нужных. Бошка к концу дня была совсем деревянная и скинул в квен. Посоветовал пересобрать кучу всего в конфигах хоста. В итоге, пока не ткнул мордой в то, что один домен проверяется через nginx, а второй webroot, он мне так и не ответил нормально. Слушал бы его, положил бы нахрен работающую систему )))
Смотря о каком qwen идет речь. Если вы закинули буквально в обычный чат, то это было не самое лучшее решение. Чат - это для поболтать о повседневных делах, а если речь заходит о кодинге, то лучше все же уже запускать IDE с LLM ассистентом или CLI с LLM, так как они уже смогут по-настоящему прочитать конфигурацию, найти возможные опечатки, написать тесты и все это сделать исключительно с разрешения человека, чтобы ничего от себя не нафигать и не сломать прод.
Ну и по собственному опыту скажу, что с настройкой nginx у LLM как будто имеются проблемки, так как я сам потратил порядка 2-3 дней чтобы просто настроить роутинг на 2 порта. Там правда больше проблема была в том, что один из 2 проектов использовал WebSocket который крайне плохо дружит с nginx, но спустя множество тестов, логов и отладки у меня получилось.
LLM критически страдают от отсутствия понимания контекста задачи, а чат модели же вообще имеют только то, что ты им ввел своими ручками, поэтому они скорее удобные подсказчики, на что посмотреть в первую очередь и получить примеры частых проблем, но что-то именно кодить через чат уже неактуально в виду массового развития специализированных для этого продуктов.
Я в квен кодере новом пытался капчу вставить. Он имеет ещё не отработанный рабочий процесс: просто останавливается, пообещав переделать. Статью написал, но она сгинула в местной песочнице 😁
Ну Qwen-Code по-сути форк Gemini-CLI. Там по-моему во-первых все еще есть остатки кода от оригинального Gemini с логикой гугловской авторизации именно для Gemini, во-вторых это крайне уже раздутый репозиторий, с более 1000 файлов. Они конечно активно его развивают, даже русский язык на днях добавили нативный. Но это, наверное, титаническая работа, особенно подстраивать под себя чужой код.
И, кстати, форкать Gemini-CLI судя по тому, на что я натыкаюсь в сети, уже становится мейнстримом :)
Имитатор Интеллекта этот ваш ИИ, бредогенератор длинных бессмысленных связанных текстов. Продолжайте эксперименты, я запасся попкорном и с волнением жду когда вы серьезно навернетесь. Тогда история про дропнул базу будет легкой прогулкой. И нлавное никакой ответсвенности - весь код вам нагенерил бредогенератор, вы за последствия не отвечаете..
Окей, давайте называть вещи своими именами, это действительно не ИИ, это большие языковые модели предсказывающие следующий символ при генерации текста, интеллекта тут нет.
На счет бессмысленных - тут можно поспорить, но вот следующий тезис мне намного интереснее)
А что будет когда мы навернемся?) Уже многие навернулись, уже десятки историй о том, что кто то положил прод, форматнул диск и т.д. А кто не ошибался? Хотите сказать лично вы, в процессе обучения, никогда не ошибались?
Будет очередная ошибка, очередной урок, из которого кто-то сделает вывод, а кто-то - нет. Все как и всегда.
Я не понимаю этого вашего раздутого и демонстративного негатива к вайбкодингу.
Возьмите себе за правило не использовать :latest и другие не конкретные теги. Я вообще всегда стараюсь указывать точную версию, реже минорную, но уж точно не latest как раз из-за возможности такого поведения.
Разве в latest не последняя стабильная сборка?
Фактически это просто тег. Может вести куда угодно.
Обычно это "последняя версия". Не факт что стабильная, но как правило да.
Вот только latest может и будет перескакивать между мажорными версиями. И, например, если у вас postgres был 14, а через месяц в latest появился 15-й - оно не запустится без ручного вмешательства.
Поэтому надежнее фиксировать версию. Обычно версионные теги не меняют образ (хотя в теории могут, но не встречал таких извращений).
И статья ни о чём и выводы сделаны соответствующие - не правильные. Очередной пример того, как люди плывут и не понимают как пользоваться инструментами, а LLM и агентные системы - это когнитивные инструменты, которые нужно встраивать в свои workflow корректно и с учётом элементарных правил безопасности.
Т.е. вывод о том, что за LLM нужен человеческий контроль - это неправильный вывод? Не надо их контролировать?
Да и коллеги Хабровцы тут говорят, что никакой это не инструмент. Так кто же прав?
Да тут много кто говорит разное, но как обычно > 80% несут субъективную чушь, обоснованную лишь собственным ограниченным опытом. Все гики кто юзает Claude Code в работе максимум о чём заикаются, так это о том, как за минимальное количество итераций добиться от мультиагентной системы максимального результата или о том, как правильно следует встраивать их в свои автоматизированные или полуавтоматизированные pipeline-ы. И ключевое слово - это автоматизированные, где контроль сводится к нулю по определению. Молоток с пассатижами тоже нужно уметь держать в руках и применять по назначению, но мастерство применения - это уже другой уровень.
А что касается определения мультиагентных систем для разработки в разряд инструментов, то это сугубо методологическая составляющая. Я в своих проектах, не совещаюсь с LLM как с коллегами, а даю вход и получаю выход. Общение, анализ и брейншторм - это уже за пределами рабочих pipeline-ов.
Поэтому мне печально читать, когда кто-то слепил 1.5 проекта и бежит сообщать всем, что он чуть ли не стал свидетелем ИИ апокалипсиса... Коммон, ребзя...
Ну давайте все же разделять автоматизированные системы и AI-кодинг.
Автоматизированная, не значит, пущенная в свободное плавание. Автоматизированная, это как правило детально отработанная и продуманная система, в которой если есть LLM, то она строго ограничена правилами доступа и четко запромптирована что, как и когда ей делать, с минимальными отклонениями на "собственное сознание".
AI-кодинг это определенно значительно более энтропийное и хаотичное явление, особенно если этим занимается столь неопытный программист как я (а я и вовсе не являюсь программистом). За 3,5 месяца активного пользования инструментами я прошел путь от простого написания запросов в пустоту чата, до составления документов со структурой проекта, определяющих ключевые паттерны работы приложения и строго итеративной разработке шаг за шагом и тестированием по итогам каждого выполненного этапа.
И вся суть публикации именно в том, что нельзя слепо верить обещаниям о сверхумных моделях, ведь даже самая передовая модель может ошибиться на простой вещи, чему лично я, при работе с Opus 4.5 был искренне удивлен.
Ну так об этом уже и так много написано и людьми с куда большим опытом. AI-кодинг - это и есть полуавтоматизированный процесс и каждый инженер должен выстраивать этот процесс строго методологически и на эту тему также написано в три тома (взять тот же блог антропика и его документацию), и только ленивые ищут свои собственные тропы с истязаниями и болью. LLM - это не про вопрос веры или доверия, а про когнитивизм и эпистемологию. И с такими системами нужно как с глупыми людьми, обращаться очень аккуратно - при неверных входных данных можно получить непредсказуемое поведение или некорректный результат. Но опять же - это всё уже сотни раз кем только не обсуждалось и всё-равно до сих пор есть человеки с покорном в ожидании кейсов, когда и где очередная ИИ система обнулит корпоративную БД - шиза.
PS: Делегировать devops в проде ИИ моделям - для этого нужно придумать диагноз.
PPS: Исходная моя критика в частности о том, что не надо писать статьи преждевременно. Они никого ничему не научат, а мазать масло масленное на обглоданный бутерброд - рутина.
Ну, если в целом, именно это я и пытался донести этой и двумя последующими статьями. Просто, так сказать, через призму личного опыта.
Но как показала практика, темы вайбкодинга на Хабре в целом очень любят минусить, если они не рассказывают о том, что это плохо.
Тут я поругал, и публикация в плюсе, в двух других рассказал, что это уже полноценный инструмент и не надо от него шарахаться, но и чуда ждать не стоит - это заминусили :)
Тема вайбкодинга в целом весьма чувствительная и по разным причинам и основная в том, что тот, кто разобрался - сидит молча и делает профит. Остальные же, льют друг другу в уши насыщенным субъективизмом собирают сборники со 101 рецептом, почему это не надо использовать, чтобы отговорить доверчивых и быть вне конкуренции ))
Вайбкодинг: как я чуть не снес БД по совету Claude Opus, или Почему ИИ пока еще не замена человеку