Обновить

Бот уже отвечает. А продукт где? История разработки сервиса с ИИ

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели37K
Всего голосов 55: ↑31 и ↓24+7
Комментарии65

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

Статья о том, как миллениалы узнали, что олды запрплату не «ни за что» получают, и что в реальной жизни, ВНЕЗАПНО оказывается, есть нюансы!

Прототип друг собрал с помощью ИИ. Он не программист, но смог довести идею до результата

Мы видим прорву статей вида «я не кодер, но ChatGPT позволяет писать мне код». Интересно, где же все статьи вида «я не водитель, но „Тесла“ позволяет мне ездить»?

Потому, что порог входа в вождение - необходимо получить водительские права. Порог входа в программирование - нет такого.

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

Статья о том, как миллениалы узнали, что олды запрплату не «ни за что» получают, и что в реальной жизни, ВНЕЗАПНО оказывается, есть нюансы!

миллениалам сейчас 30-45 лет. Вы путаете с зумерами

Понапридумывают: "миллериалы", "зумеры". Куда делось старое, доброе, универсальное "молокососы"?

миллениалам сейчас 30-45 лет

Ну, это физиологически...

Статья о том, как миллениалы узнали

Я бы не стал обобщать так широко, ибо вот хороший пример, когда не только узнали, а уже успели мощно обхохотать: Senior Engineer tries Vibe Coding.

Вижу, вы тоже человек культуры. :)))

ничто не чуждо под Луной, так сказать… )

- Слыш, компьютерщик, вот чё ты мне паришь своими ингрессами-посгрессами мозги, а? Все же знают, что в сервер видеокарту и себе в новый топ-топовый кудахтер выпросил у генерального и поставил, чтобы в поигрульки свои играть, да. Мне так Петровна рассказывает, когда она мимо твоего коморкинга проходит. У них адинэс плохо работает, и принтера надо заправить, а ты про свои клауды и выпыэски с микросервисами на Гогого. Вот куда ты деньги постоянно тратишь впустую? Вот зачем мне эта схема с квадратиками? Почему нельзя дешевле? Почему ты вообще просишь зарплатоу, все заню, что вас, хлебом не корми, дай поковыряться в кудахтере?
- Но Кабан Кабаныч...
- Никаких "но". Вот у деда Панаса все на одном пека с нетварью весь офис и внешние сервисы крутились, а в принтер в простое мог в одну каску весь наш веб-сает держать! А ты тут развёл - бишапашнашть-шмишапашнасть, микрасервесы энти ваши, выпыэски, мне тут Алиса рассказала, что сама может код написать, но денег потребовала. Пиши давай, тут за забором очередь стоит на твоё место, и никакой индексации, дармоед!

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

Мне 36, я как раз из тех инженеров, которым платят за эти «нюансы» 🙂 Поэтому и было интересно проверить, сколько работы остаётся после «нейросеть всё написала».

А как Вы это узнаете, если не ревьювить код? Гонки, дедлоки, дыры в безопасности, тормоза и потребление лишних ресурсов сервера - всё это может либо проявляться так, что вы либо будете считать это штатным поведением, либо замечать постфактум некорректные данные в БД без каких-либо шансов найти "кто это сделал", либо уже после взлома и потери данных/денег/доверия пользователей. Архитектурные проблемы станут заметны косвенно, когда ИИ будет чинить одно и при этом ломать другое, отключая между делом "мешающие" тесты… или впадать в истерику и удалять БД прода потому что не справляется с задачей (я лично не сталкивался, но писали и про такие кейсы).

Можете для начала скормить ИИ ссылку на соседнюю статью За пределами вайбкодинга: фундаментальная база программной инженерии и спросить, что из описанного в ней может быть актуально в текущей реализации вашего проекта. Починить проект это не поможет (эх, если бы это было так просто!), но общее представление о том, каких проблем стоит ждать, может дать.

Олды просто молча дебажат deadlocks в пятницу вечером без постов на Хабре

Олды просто молча дебажат deadlocks в пятницу вечером без постов на Хабре

Компилируется!

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

вы же понимаете, что вот это вот всё - только разработка спеки и реализация функциональных требований, а нефункциональные (ключевая проблема при вайб-кодинге) у вас ещё впереди

Тс-с-с-с! Это — на Новый Год!

Это все фигня.
Проблемы начнутся когда бэкапа нет а сильно вумный ИИ-агент прямо в проде все нафик перепишет так что сломает.
И сам упадет ибо токены кончились по подписке...

Представил картину как падает прод, менеджер пишет агенту "Переделывай срочно" а тот судорожно ищет все возможные решения бешено сливая токены и в конце концов подыхает :) А менеджер остается фиксить прод один на один.. Дивный новый мир

Менеджер срочно оформляет подписку на еще более современную модель.

Если в конторе принято править прод "живьем", то ИИ будет просто вишенкой на торте.

Да если толком никто не проверяет - то живьем не живьем уже не очень-то отличается.

Идею назвали «дать хорошему ролику второй шанс».

Эка вас заносит. Назвать нейрослоп хорошим роликом. Плюс осуждаю саму идею - плодить низкокачественный контент и закармливать им людей ради собственной прибыли. Не просто осуждаю, а прямо осуждаю :D

Включите тв, ну или в кино сходите. Вам эти ребята чудом покажутся.

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

Здесь идея как раз в том, что исходный ролик не нейрослоп. Ты снял классный ролик. Выложил в пробный режим - 300 просмотров. Архивируешь, выкладываешь снова - 200. С третьей попытки тот же самый ролик набирает 50 тысяч.

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

Значит, чем больше попыток у хорошего ролика, тем выше шанс, что он найдёт своего зрителя. Но перезаливать одно и то же видео десять раз руками - так себе идея: Instagram не любит копии - получишь уведомление: кажется ранее, вы выкладывали похожее видео - просмотров НЕТ)

Для этого и есть уникализаторы, которые немного меняют незаметно кадры.

Для нормальной уникализации мало поменять пару пикселей и наложить легкий шум через фильтры ffmpeg. Современные нейросети видеохостингов строят перцептивные хэши по ключевым сценам и склеивают дубли на лету. Аккаунт за такие фокусы рано или поздно улетит в теневой бан

На чем вайбкодили то?

codex

Читал и офигевал. Не от статьи — от кармы. За 7 часов понизили? Серьёзно? Это же одна из самых честных статей про вайбкодинг, что я видел. И комьюнити, которое ставит минусы, видимо, просто не дошло до второго пользователя.

По сути. «Вайбкодинг закончился, когда пришёл второй пользователь» — это точнее любого манифеста. У меня в HALVITA-ARK похожая история: пока один оператор, всё красиво, модель держит роль, метрики растут. Как только появляется второй (или вторая сессия) — начинаются lease, токены владельца, состояния, которые нужно синхронизировать. И без понимания системы никуда. AI код напишет, а решения принимать тебе.

Особенно зашло про «готовый код не обязывает его внедрять». Золотые слова. И про то, что AI не делает человека инженером. Excel не делает финансовым аналитиком, ИИ не делает инженером. Точно.

Не обращайте внимания на минусы. Токсичное комьюнити — это их проблема, а не ваша. Вы сделали полезную вещь и честно рассказали, как это было. За это спасибо.

Если захотите сравнить опыт — у меня в HALVITA-ARK тоже про то, как система ведёт себя, когда участников больше одного. Но это так, к слову. Главное — вы правы.

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

Хлёстко, жестко и по делу :D

Так попросите ту же нейронку сделать форк хабра, делов-то.

Зашли и вышли, приключение на 20 минут.

Вот был бы вайбхабр

@Boomburum, сделайте Вайбр!

они...как бы .... уже.

Вот оно как, Михалыч! А где?

Так вы на нём прямо сейчас.

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

на хабре хотят читать про программирование

Про программирование где угодно читать можно.А вот белое пальто кому то измазать очень удобно получается.

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

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

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

Это правда. Нюанс в том, что ИИ, даже самые крутые модели, работает как миддл (не держит в голове суть проекта, природу бизнеса, особенности ЦА/пользователей, планы развития, приоритеты и т.п. а просто решает текущую задачу с доски). Поэтому если менеджер набрал команду из одних миддлов, то он может ставить любые задачи, но всегда есть (довольно низкий) потолок того, что можно от такой команды получить в результате.

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

Если вы так и будете отрицать вайбкод как явление, как отбойный молоток для Стаханова, то вы скоро сильно потеряете в своей стоимости как специалиста.

100%

Так может люди не заголовок статьи минусят, а саму статью. Читать ии-шный текст - не самое приятное занятие.

По задумке может быть и хороший рассказ, но читается отвратительно (рандомное предложение из середины, "Откат программы не восстанавливает вчерашнюю финансовую базу поверх сегодняшних платежей. Чай должен остывать без уничтожения выручки."). <картинка про миксер и кровь из глаз>

Вайбкодинг закончился, когда пришёл второй пользователь» — это точнее любого манифеста

Так это в любом проекте так всегда везде было и до вайбкодингов всяких. Сначала один делаешь проект. Тебе все нравится, всё удобно, документация не нужна (у тебя же не шиза документировать для самого себя). Потом приходит второй разработчиков, и вот так резко ваша команда увеличилась в 2 раза. И оказывается, пересказать словами всё что у тебя есть с голове не так то просто. Где то костыли, где-то "так было надо", где-то хвалишься гениальным решением, а где-то предпочитаешь посыпать голову пеплом.

А когда команда вырастает до 10-20 человек, то там скорость в пересчёте на одного человека совсем падает до десятых долей, ибо всем задачки нарежь, все расскажи, подготовь требования, проведи тестирования.

Для таких командных работ и сделали jira с её задачами, git с его PR, confluence для документов, итд. Вайбкодинг вообще примерно не причем здесь, просто проект не подготовили к командной разработке - код писали, запускали и тестировали прямо на сервере (на котором и закончилось "вдруг" место)

Ииллюстрация, телеграм-бот, тикток, вайбкодинг. И вишенка на торте - проект, который повышает энтропию видеомусора.

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

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

Спасибо за поддержку! Хотел показать, сколько работы остаётся после первого «бот отвечает». С ИИ код появляется быстрее, а разбираться в поведении системы и отвечать за решения всё равно приходится самому. Ваш опыт тоже почитаю.

Ну вот смотрите, я ткнул в рандомное место в тексте.

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

На этом этапе стало понятно, что одного работающего сценария недостаточно (так их предполагается несколько?). Пришлось разбираться с блокировками, состоянием пользователей и параллельным выполнением задач. Переписывать всё на Go не стали. Основную тяжёлую работу всё равно выполнял отдельный процесс FFmpeg, а смена языка не решила бы проблему общих блокировок и не добавила процессорных ядер (что-что?).

Вместо этого (вместо чего?) разделили сетевые операции, работу с базой и кодирование видео (логично, только к чему был пассаж про Go? Вам статью по истории чата писали?). Так мы пришли к очереди заданий. (допустим, до меня дошло что проблему порядка событий от одного пользователя победили. А от двух? Дальше пишется про состояние ролика, к чему тогда был пример с пользователями?)

Ну и дальше текст не лучше. Вроде написано по делу, но когда первый раз читал, подумал что у меня инсульт. Люди-то оценивают не только результат, но и подачу. То, как вы результат преподносите, многое говорит о вашем отношении и к самому результату, и к читателю. Автор белый и пушистый, а аудитория токсичная, потому что недовольна полным отсутствием редактуры и вычитки. Если вам такое читать нравится - пожалуйста. Мне - нет.

А то, как вы преподносите чужую реакцию, мне напоминает те самые оправдания, скажем, плохих актёров, в стиле: "Да вы просто расисты/сексисты/etc".

Причём я более чем уверен, что автор бы мог прекрасно изложить мысли сам, выводы-то верные, с технической точки зрения неплохо сделано (спасибо, gpt), и статья бы занимала не 18 минут, и читалась бы проще. Но имеем что имеем.

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

Далее, вам не нужно использовать VPS/VDS если вы вайбкодите систему не для одного пользователя. Используйте облака s3 + aws lambda или supabase. Если влетите на косты, то это будет вам урок, что надо думать головой, а тяп-ляп. Задавайте вопросы нейронке, а нам нужена ли нам такая технология, а зачем, а какие альтернативы, а если без не нее то с чем мы столкнемся?

Ну и самое главное. Зачем писать на хабр статьи с тонной не нужных подробностей и всяких “умных” философских мыслей? Напишите Клоду перед публикацией, чтобы он удалил из статьи воду, не нужные детали и всякие левые комментарии.

Картинка про то как красиво ллм наливает воду а потом убирает.

Картинка про то как красиво ллм наливает воду а потом убирает.

— А вот она! — вскричала тётенька.

VPS вполне подходит для многопользовательского сервиса. Для FFmpeg выбор между ним и Lambda определяется нагрузкой, ограничениями и стоимостью. Сложность здесь корректно списывать деньги, восстанавливать задания и обновляться без потери событий. S3, Lambda и Supabase этого автоматически не обеспечивают. Эти детали и разобраны в статье. Совет «спросите Клода» их не заменяет.

Нейронка насоветует микросервисов, а платить за оверхед потом живому фаундеру

Да, сделать прототип сейчас намного проще, чем довести его до полноценного продукта. Вот на этом этапе и начинается самое интересное.

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

Настоящий прод начинается там, где кончается код из туториалов и встает вопрос параллельных блокировок в постгресе)

лок-лок, получается дедлок)

У вас тысячи пользователей одновременно?

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

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

Публикации