Вайбкодинг для гуманитариев: как?

 Публичный пост

Пока вы смеетесь, я поясню.

У меня сложилось впечатление, что есть два стула:

  1. программисты, радующиеся что теперь могут быстрее-выше-сильнее с ИИ, потому что они шарят за фундамент и могут вообще-то погромировать и без ИИ.
  2. всякие олени, которые возомнили себя програмистами и навайбкодили юникорновый SAAS, а потом все сломалось и все данные утекли, ахаха.

Но должна же быть какая-то золотая середина?

Разумный подход для человека, который немного лапкой трогал код на уровне "хэлло ворлд", но хочет запилить себе какой-нибудь MVP или пет проект.

Представьте, что вы - вот такой человек.
И у вас появилось такое скромное желание.
Как выглядел бы ваш подход?
Желательно по шагам.

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

В общем, как лучше и эффективнее всего подступиться к делу?

Связанные посты
39 комментариев 👇

Я вот тут делилась своим опытом чуть-чуть.

Ссылка на коммент в другом треде

TL;DR: Лучше просто попробовать.

Если не знаешь, в каком инструменте (Lovable, Bold, Cursor, их щас дофига), опиши свою идею жпт, он посоветует.

Попроси его помочь тебе сформулировать промпт, и фигачь.

Я зачем-то месяц сиськи мяла, искала нужные мне компоненты для Фреймера по сусекам интернета, а потом села за Framer Workshop, где за час тыканья и 30 итераций сделала, что хотела, с нулевым опытом кодинга в анамнезе.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Учитывая, что инструменты меняются каждый день, конкретные инструкции сложно написать. Лично я в основном пользуюсь Claude Code — для него существует отличный репозиторий с множеством полезных материалов https://github.com/hesreallyhim/awesome-claude-code?tab=readme-ov-file

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

О, я как раз писал пост на похожую тему "Как писать надёжные приложения на незнакомых ЯП", но думаю и под вашу ситуацию он подойдет. В кратце, вот так:
Во первых, постараться отключить FOMO
Во вторых, AI очень хорошо поможет при обучении, не только при создании очередного SaaS. Просто никто особо не подсвечивает истории, когда с ChatGPT ты научился чему то новому, а оно есть точно.
Самое сложное тут это переделать свой майндсет и понять, что AI может объяснить вам самую сложную тему любым удобным вам способом. Вам не нужно переживать, что о вас плохо подумают и зачмырят, как это могло бы быть в школе/универе/stackoverflow.

  1. Определите цель – что именно вы хотите: написать программу на питоне или изучить сам питон, просто чтобы был?
  2. Попросите AI составить для вас roadmap по достижению цели
  3. Сохраните себе этот roadmap и начните его достигать с помощью AI

В достижении вам помогут крутые фичи современных чатиков: Projects (позволяет накапливать информацию в одном месте, как в папке, а потом использовать её в новых чата) и Deep Research (задаете вопрос, а AI бегает по интернету, ищет информацию, а потом использует её для ответов на ваши вопросы)

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

@Elly404, в новом свежем чатике опиши идею своего приложения и попроси расписать полный план реализации: сверху вниз. Далее проверь этот план и если ты понимаешь что там происходит - поздравляю, ты уже что то знаешь. Если нет - проси чатгпт рассказать тебе об этом.

Как только ты поймёшь, что за что отвечает в твоем коде, то это означает, что ты в этом разбираешься и можно просить чатгпт "погромировай")

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Как мне кажется, работа с ЛЛМ - это на данном этапе отдельный навык. Кажется, что от того, как ты подготовишь контекст и как ты будешь делать последующие правки, опыт может сильно отличаться от "потратил 2 часа на описание всех требований и получил работающий сервис за 15 минут работы непосредственно с ЛЛМ" до "получил худо-бедно работающую версию за 2 минуты и потом еще 3 дня дебажил ЛЛМками, в итоге плюнул, написал все сам"

Так что я бы рекомендовал почитать гайдлайны, как сами разрабы советуют использовать их ЛЛМки. Мне, например, больше Антропик нравится, чем ОпенАИ, и вот их библиотека промптов для разных сервисов: https://docs.anthropic.com/en/resources/prompt-library/library
А вот их советы по работе с их последней моделью с примерами: https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/claude-4-best-practices
По второй ссылке слева еще много полезных документов, кстати. Вся секция Prompt Engineering может быть в той или иной степени полезна, зависит от кейса.

В общем, что бы я посоветовал:

  • сначала просто попробовал бы пообщаться с вашим любимым чат ботом. Есть шанс, что ваш кейс достаточно прост для текущих моделей. Помимо кода нужно попросить все-все команды для запуска сервиса "Assume that I have nothing installed on my computer except for OS...."
  • Если получается не совсем то что нужно, почитать доку выше или аналогичную.
  • Следующий шаг это пробовать IDE(среду разработки) с ЛЛМ. Я использую Cursor, но как уже писали, их много разных. Плюс в IDE в том, что LLM сможет самостоятельно пытаться запустить свой код и исправлять ошибки до тех пор, пока не получится рабочая версия. Prompt Engineering тут тоже пригодится, но нужно будет еще немного поразбираться, как работать с IDE.
  Развернуть 1 комментарий

@IvanMishalkin, вот, как раз про такого рода шаги я спрашивала, спасибо)

  Развернуть 1 комментарий

Напрашивается аналогия со строительством.

Вы — человек, который никогда ничего не строил, кроме куличиков из песка. И вот вы захотели для себя что-то построить. Допустим, это будет сарай для лопат на даче.

Вы нанимаете рабочего, чтобы он построил. Сразу встаёт вопрос об его квалификации. Вы понимаете, что требования к сараю невысоки — чтобы стоял, не падал, крыша не текла, дверь закрывалась. Ваш таджик что-то там делает, вы особо не вникаете, потом смотрите на результат, говорите где подправить. То, что получилось, вас не особо радует: кривовато, некрасиво, но в целом поставленным требованиям удовлетворяет. Рабочий получает свои деньги, вы получаете сарай. Он стоит на участке 5 лет и функционирует как сарай.

А если вы хотите построить фамильное гнездо, дом для себя, детей, и даст Бог, внуков? Наверное, вы не будете нанимать таджика, потому что его квалификации не хватит на строительство загородного дома. А вашей квалификации не хватит, чтобы объяснить ему пошагово, что и как надо делать. Да ещё и время нужно — контролировать каждый шаг. Тогда вы пойдёте к мастеру с репутацией. Который знает, как надо строить. Который объяснит и посоветует. Ну и платить будете гораздо больше. А ещё не только мастеру, а, скорее всего, бригаде, чтобы быстрее построилось.

Наверное, уже понятно, что таджик в нашем примере — это ИИ. Ну а мастер — живой программист с квалификацией.

А что вы строите, дом или сарай — я не знаю))

А может, вы вообще хотите научиться строить?

В общем, эти многабукф про то, что не очень понятна ваша конечная цель. Поэтому в данном случае я бы посоветовал — раз вы спросили совета — начать хоть с чего-нибудь. Сделать первый шаг. Написать hello world. Для первого шага ИИ сгодится. Для второго тоже. А дальше уже сами поймёте, куда вас ведёт дорога.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Я не прям гуманитарий, но и хоть сколько-нибудь опытным разработчиком себя назвать не могу. У меня есть два проекта, на которых я пробовал два подхода к кодингу с ИИ.

На первом, карта ЖД Грузии, я изначально планировал учиться. Поэтому по-умолчанию просил ИИ не писать за меня код, даже в чате использовать абстрактные примеры. Он объяснял мне подходы, типовые практики, давал задания что нужно делать. В итоге я понимаю свой код, могу внести в него изменения, могу попросить ИИ внести изменения за меня и хотя бы примерно увидеть насколько он прав. В конце итерации я понял, что многое сделано не оптимально и во второй итерации мне значительно проще.

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

Для себя я понял, что если мне понадобится какой-то скрипт или разовое решение, то я воспользуюсь ИИ. А в собственном проекте я хочу быть главным, и ИИ для меня будет просто продвинутым автозаполнением. По-крайней мере, на данном этапе.

  Развернуть 1 комментарий

@argbjorn, спасибо! а как именно выглядел первый вариант? Ты ему говорил что ты хочешь сделать карту жд грузии, объясни... что именно?
или ты спрашивал как вообще пишутся приложения?

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

@glebkudr, как произошел этот переход? от тг ботов (я одного кстати написала уже себе супер простенького с чатом гпт) к аж собственному приложению для ай кодинга?

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

В какой-то момент я задался целью написать с помощью AI законченный продукт прикинувшись полнейшим валенком. В итоге пранк зашел слишком далеко и я сделал целое психологическое исследование https://osf.io/preprints/psyarxiv/ac2mb_v1

Я вывел некоторые правила, как добиваться от ИИ результата в тех сферах, где ты не разбираешься (что правда для меня, фронтенд это темный лес и меня это устраивает).

Итак, что нужно из инструментов:

  1. Относительно тяжелая модель чтобы могла нагенерить много связного ТЗ на основе ваших требований. Вы сгружаете требования из разряда "хочу красную кнопку вон там", а в результатах просите описать техническое задание "как CTO". Ориентир ЧатГПТ о3/Гемини Про.
  2. IDE с агентом не самой умной и последней моделью (и нормальными лимитами). Проблема в том, что опус или соннет четвертой версии настолько "умные", что им проще нагенерить 2-3к строчек кода, чем починить текущий код. В итоге за несколько итераций мы выжираем все лимиты и получаем разломанный проект (ещё и за свои деньги)

Что не работает:
Cloude code. На любой чих генерит тонну новых файлов, и кода, и документации. Гордо сжирает все лимиты и просит ещё. Но консольный интерфейс очень удобнее, чем тормозные ИИ инструменты.

Windsurf. Идея с планом прикольная, но их модель все равно слишком тупой оказывается, а другие не так хорошо интегрированы и вечно что-то отваивается. То терминал перестал логи выдавать, а агент уже три раза node_modules снес и в четвертый раз зависимости накатывает. А чо, во фронтенде так принято же проблемы решать.

Zencoder. Штатная моделька неплохо работает, но как и в случае модеями от антропик склонна вместо качества выдавать количество.

Gemini Pro. Эта мразь за несколько итераций самоуничижение может снести вам все файлы в проекте (и джейсоны, и бекапы, и БД) сказав "все плохо, я начну с чистого листа". Помните мем, где агент расстроися и удалил сам себя? Это ещё хороший исход (это была как раз гемини). Ещё вайб-кодинг вообще не располагает к тому чтобы вести гит, так что имейте в виду, что любой ваш промпт потенциально может снести все, если у вас стоит разрешение на авто-исполнение (а оно стоит почти всегда обычно). При этом сама гемини умная и контекст у неё огромный, что полезно.

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

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

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

Что работает лучше всего:
Cursor. После долгих тестов и абьюза лимитов (и после того, как их подкрутили), я скрепя сердце отдал свою двадцатку именно им. Что характерно, триальная версия на Auto работала получше, чем купленная, потому что сразу выдало мне соннет 4.0, который опять начал генерить многабуков.

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

TDD. Пишем тесты, потом пишем код. Тут вроде просто.

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

Если делаете веб-приложение, то используйте MCP Playwright, без этого даже не начинайте.

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

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

  Развернуть 1 комментарий

@kVKs9AjVGGUnoxMs, спасибо за подробный комментарий!
а как должен выглядеть этот "большой подробный документ"? может есть готовый глянуть?

  Развернуть 1 комментарий

@Elly404, я вот написал огромный комментарий и понял, что это треть или даже четверть от того, что нужно изложить чтобы вот прямо ответить на вопрос так чтобы это было реально полезно. Если интересно, я могу написать "ещё один гайд про вайб-кодинг", но не уверен, что это будет ценно

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@orbit, спасибо за комментарии, прямо есть с чем работать!

  Развернуть 1 комментарий

@kVKs9AjVGGUnoxMs, с Claude Code не согласен.
Отлично работает в процессе (каждый шаг триггерится/описывается человеком):
составляет текущее описание проекта ->
уточняет все требования человеческим языком ->
ищет по интернету документацию по необходимым пакетам/фреймворкам ->
генерирует ТЗ ->
рефайнит ТЗ для более удобного потребления LLM ->
(человек может посмотреть ТЗ и попросить чёт добавить) ->
(человек уточняет что в ТЗ есть часть с "приёмочным тестированием", т.е. как человек бы сам проверял работоспособность системы/фичи) ->
отправлять Claude Code исполнять по этапам ->
...

Месяц назад добавили еще магии с разными ролями, но c этим руками еще не работал

По лимитам да, нужно будет думать и выбирать какую категорию 'think' выставлять на тот или иной этап работ
Я обычно брал ultrathink на планирование, а для работы уже либо без, либо think

Хотя реально, попробовав разных провайдеров LLM - почти любую модель/code assistant можно использовать так что потом волосы дыбом встают

  Развернуть 1 комментарий

Во-первых, я обязан прикрепить картинку про таких как мы.

Во-вторых, судя по описанию тебе хватит Lovable, Bolt.new, Replit и аналогов для старта. Вот тут можно посмотреть - https://bolt.new/winners, что люди собрали с помощью этих инструментов на самом крупном (пока что) хакатоне.

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

  Развернуть 1 комментарий

@besyatina, прокричала в голосину с картинки)

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@besyatina, *людям с ограниченными техническими возможностями

  Развернуть 1 комментарий

Недавно писал одноразовый простой сайт с курсором: приветственный текст и формочка для загрузки фотографий, + отдельная страница где показываются эти фотографии с подписью кто их загрузил. Писал на Next.js, т.к. знаком с ним. Пришлось повозиться с nvm и версиями ноды, т.к. в терминале курсора почему-то не подхватывалась выбранная версия ноды. Окей, заработало с 3-4 промпта, но мне реально пришлось включиться в дебаг, потому что картинки он решил загружать в папку public, а она предназначена для статического контента, проще говоря новые фотки, которые туда загружались, без перезагрузки приложения не открывались. Я, погуглив про это, написал ей что надо сделать, чтобы поправить этот момент, но без этого знания из фронтенда я бы там сдох просто.. Тупо картинки не прогружались, вот что бы я делал я не знаю) Дебажить с ИИ это русская рулетка.

Так что пока у меня ощущение что вайбкодинг без программиста рядом, который следит что происходит, имеет малый шанс на успех даже для одноразовый маленьких проектов.. У меня такое предложение -- если у вас есть знакомый программист, кто не против посидеть на созвоне с демонстрацией экрана, это будет куда продуктивнее. Он может хотя бы одним глазом следить что происходит и помогать уточнять промпт) А так, мне кажется, очень маленький шанс на успех, потому что на 100% работоспособный проект от ллмки получить очень сложно без итеративного указания нужных технических подробностей в промпте

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

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Представьте, что вы - вот такой человек.
И у вас появилось такое скромное желание.
Как выглядел бы ваш подход?
Желательно по шагам.

я бы смотрел на no-code инструменты, поискал бы их и побрейнштормил бы с AI что есть на рынке и как на них разложить мою идею

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

  Развернуть 1 комментарий

На петпроектах пользуюсь LLM (cursor for code, chatgpt for research) в 100% случаев сейчас, на работе запрещено.

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

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

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

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

Overall, я бы сказал, что стоит либо превентивно пройти погружающий курс (что возможно будет менее интерактивно, но более системно), либо начать с чатиком разбирать цепочку от input "я хочу сделать X" до output "{куча кода, запущенного в продакшне}". И понимать как можно больше на каждом этапе.

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб