Почти все, кто пробует вайбкодинг впервые, выбирают задачу не по размеру, а по интересу: CRM для своего отдела, приложение для учёта тренировок, личный ассистент. Через два вечера накапливается ворох кусков, ни один из которых не работает целиком, и появляется вывод «наверное, это не для меня». Вывод неверный, а причина механическая: слишком много незнакомого одновременно.
Путь от задачи до работающего инструмента состоит из пяти шагов, и каждый шаг проще предыдущего. Проблема в том, что на большой задаче вы застреваете на первом и никогда не видите остальных. Поэтому первый вечер тратится не на пользу, а на маршрут.
Как выбрать первую задачу
Четыре критерия. Задача годится, если проходит все четыре.
- Вы делаете это руками не реже раза в неделю. Регулярность даёт две вещи: вы точно знаете все правила, потому что выполняли их сами, и вы сразу заметите, если инструмент сделает не то.
- Результат можно проверить глазами за минуту. Если для проверки нужно сверять сто строк — вы не поймёте, работает оно или нет, и весь смысл первого вечера пропадёт.
- Никаких чужих данных и денег. Ни клиентских баз, ни платежей, ни доступов к рабочим системам. Это снимает целый пласт требований — и целый пласт страха.
- Если сломается — ничего страшного. Инструмент, от которого зависит чужая работа, нельзя собирать в первый вечер. Пусть сломается тихо и только у вас.
Что подходит на практике:
- Собирать заявки из формы в таблицу и получать уведомление о каждой новой
- Раз в неделю превращать выгрузку в CSV в короткую сводку: сумма, среднее, топ-5 строк
- Переименовывать пачку файлов по единому правилу: дата, проект, версия
- Проверять раз в день, изменилась ли цена или наличие на одной конкретной странице, и присылать сообщение при изменении
- Складывать ссылки, которые вы кидаете сами себе в мессенджер, в один список с датой
- Считать по прайсу стоимость заказа из нескольких позиций, чтобы не считать в уме
- Собирать из двух таблиц одну, сопоставляя строки по номеру заказа
- Раз в месяц формировать один и тот же документ, подставляя в шаблон данные из строки таблицы
Сквозной пример: заявки из формы в таблицу с уведомлением
Дальше — разбор на одной конкретной задаче от начала до конца. Возьмём типичную: у вас есть форма, куда люди оставляют заявки. Вы хотите, чтобы каждая заявка падала строкой в таблицу, а вам приходило сообщение.
Шаг 1. Описать задачу словами
Это самый ценный шаг и единственный, где вы делаете основную работу. Всё остальное вечером сделает ИИ. Разница между плохим и хорошим описанием определяет, потратите вы час или пять.
Плохое описание:
Что здесь не так. Не сказано, откуда берутся заявки — форма на сайте, гугл-форма, сообщение в чат. Не сказано, какие поля есть у заявки. Не сказано, куда именно попадать: какая таблица, какие столбцы, в каком порядке. Не сказано, куда приходит уведомление и что в нём должно быть. Слово «удобно» не значит ничего — на него нельзя проверить результат. В ответ вы получите правдоподобный код с выдуманными полями и выдуманным способом отправки, и дальше начнёте это чинить, не понимая, что чините.
Хорошее описание:
Здесь есть всё, чего не было: что на входе (форма, четыре поля с именами), что на выходе (таблица с конкретным порядком столбцов, сообщение конкретного вида), одно правило исключения (пустой телефон), масштаб (двадцать в день, а не двадцать тысяч) и ваш уровень. Заметьте: ни слова про то, как это делать технически. Это не ваша часть.
На хорошее описание уходит 15–20 минут. Они окупаются целиком.
Шаг 2. Разбить на части и проверять по одной
Даже маленькая задача — это цепочка. В нашем примере звеньев три:
- Поймать новую заявку из формы
- Записать её строкой в таблицу
- Отправить сообщение в Telegram
Правило: делаем и проверяем по одному звену. Сначала добиваемся, чтобы заявка просто где-то появлялась — пусть даже в виде текста на экране. Убедились — переходим к таблице. Заработала таблица — беремся за уведомление.
Соблазн сделать всё сразу очень силён, и он же — главная причина застревания. Когда собрано всё сразу и не работает, вы не знаете, какое из трёх звеньев виновато, и начинаете править наугад. Когда звенья проверены по очереди, поломка всегда в последнем добавленном.
Шаг 3. Первая рабочая версия — на трёх строчках данных
Не подключайте настоящую форму сразу. Возьмите три выдуманные заявки и прогоните через всю цепочку их:
- Обычная заявка, где все поля заполнены
- Заявка без телефона — проверяем то самое правило исключения
- Заявка со странностью: очень длинный комментарий, запятая в имени, город на английском
Три строки проверяются глазами за полминуты. Если что-то не так, вы видите это мгновенно и точно знаете, на каком случае сломалось. На реальной базе в тысячу строк вы бы этого не увидели вообще: ошибка утонула бы в объёме.
К концу этого шага у вас есть работающая штука. Некрасивая, на выдуманных данных — но проходящая весь путь от входа до выхода. Это и есть цель вечера. Дальше — доводка.
Шаг 4. Проверка на реальных данных — и что делать, когда сломается
Теперь подключаем настоящую форму и отправляем через неё одну заявку сами. Она почти наверняка сломается, и это штатное поведение, а не признак вашей несостоятельности. Реальные данные всегда грязнее выдуманных: лишние пробелы, перенос строки в комментарии, телефон, записанный семью разными способами, пустое поле там, где вы были уверены в заполнении.
Что делать по шагам:
- Найти, где именно оборвалось. Вернитесь к трём звеньям из шага 2 и проверьте их по очереди: заявка вообще пришла? Строка в таблице появилась? Сообщение ушло? Первое звено, где ответ «нет», и есть место поломки.
- Скопировать текст ошибки целиком. Не пересказывать своими словами — именно скопировать. В сообщении об ошибке почти всегда написано, что произошло, просто непривычными словами.
- Показать ошибку вместе с данными, на которых она случилась. «Вот заявка, вот ошибка, вот что должно было получиться» — этого достаточно, чтобы получить точное исправление, а не гадание.
- Проверить исправление на том же случае, а потом ещё раз на трёх исходных. Иначе легко починить одно и сломать другое.
Шаг 5. Запуск, чтобы работало без вас
Инструмент, который работает, только пока открыта вкладка, — не инструмент. Последний шаг занимает 20–30 минут и превращает поделку в то, чем можно пользоваться.
Нужно решить три вопроса, и их стоит задать прямо: где это будет жить, когда мой ноутбук выключен; что запускает — новая заявка, расписание раз в час; как я узнаю, что оно сломалось, если сломается тихо. Последний вопрос новички не задают почти никогда, а он важнее первых двух. Самая неприятная поломка — не та, где всё падает с ошибкой, а та, где заявки перестали приходить, а вы обнаружили это через неделю.
Минимальный ответ для первого вечера: пусть раз в день приходит короткое сообщение «за сутки обработано N заявок». Ноль — это сигнал.
Как разговаривать с ИИ, чтобы получать нужное
Четыре приёма, которые экономят больше всего времени.
Говорите, что на входе и что на выходе, а не «сделай красиво». Оценочные слова непроверяемы, и результат по ним получается непроверяемым. Сравните: «сделай нормальную обработку телефона» против «телефон может прийти как +7 999 123-45-67, 89991234567 или 8 (999) 123 45 67 — приведи все три к виду +79991234567, а если не получилось распознать, оставь как есть и пометь строку словом ПРОВЕРИТЬ».
Просите объяснить, что делает код, прежде чем запускать. Формулировка: «Объясни по шагам простыми словами, что произойдёт, когда я это запущу. Что именно и куда будет записано. Что случится, если поле пустое». Тридцать секунд чтения ответа регулярно вылавливают несовпадение с тем, что вы имели в виду, — до того, как оно попадёт в таблицу.
Не принимайте первый ответ, если не понимаете его. «Я не понял третий шаг. Объясни его отдельно и без технических терминов» — это нормальная реплика, а не признание в некомпетентности. Непонятый кусок — это будущее место, где вы застрянете и не сможете починить.
Описывайте, что уже пробовали. Вместо «не работает» — «пробовал вариант с формулой в таблице, получил ошибку такую-то; пробовал через сервис автоматизации, дошёл до шага подключения и не смог найти, где взять ключ». Это отсекает уже проверенные тупики и экономит по три-четыре круга каждый раз.
Что пойдёт не так в первый вечер
Список не для запугивания, а наоборот: когда это случится, вы узнаете ситуацию и не примете её на свой счёт.
- Работает у вас и не работает у коллеги. Почти всегда дело в доступах или в том, что у вас в браузере открыт нужный аккаунт, а у другого человека — нет. Проверьте на своём же телефоне в режиме инкогнито, и разница станет видна сразу.
- Всё сломалось после мелкой правки. Отсюда правило из шага 4: сохраняйте копию рабочей версии. Если копии нет — не чините вслепую, а вернитесь к последнему моменту, когда работало, и повторите правку по одному изменению за раз.
- ИИ уверенно предлагает по кругу одно и то же неработающее решение. Это происходит потому, что длинный диалог тащит за собой всю накопленную историю неудачных попыток. Лечится радикально: закройте диалог и откройте новый. В новом дайте чистое описание задачи из шага 1 и добавьте одну фразу — «вариант через X уже пробовал, он даёт ошибку Y, предложи другой подход». Круг разрывается почти всегда.
- Получилось, но вы не понимаете как. Самое частое состояние в конце первого вечера. Это не провал: у вас есть работающая вещь и есть, что разбирать. Разбор — задача завтрашнего дня, и он идёт легче, потому что разбираете вы то, что уже видели работающим.
Что делать на следующий день
Разовая поделка становится инструментом, которым реально пользуются, за счёт четырёх вещей. Каждая — по 20–30 минут.
- Понять, что там происходит. Попросите разобрать инструмент на блоки и объяснить назначение каждого. Затем намеренно сломайте что-нибудь мелкое и посмотрите, что изменится. Понимание приходит от наблюдения за поведением, а не от чтения кода.
- Пользоваться неделю, ничего не улучшая. Записывайте в блокнот, что раздражает. Через неделю в списке будут две-три вещи, которые действительно мешают, — и они почти никогда не совпадают с тем, что вы собирались улучшать сразу.
- Добавить одно улучшение из этого списка. Одно, а не все. И проверить прежним способом: три строки, потом реальные данные.
- Записать, как это устроено, десятью строчками. Что откуда берётся, куда кладётся, где живёт, что делать, если перестало работать. Через месяц вы забудете, и эти десять строк сэкономят вечер.
После этого можно брать вторую задачу — уже побольше. Второй инструмент делается заметно быстрее первого, потому что маршрут уже пройден и незнакомым остаётся только предметная часть.
Если застряли
Люди застревают не на коде. Застревают на формулировке задачи, на непонятной ошибке, которая повторяется третий вечер, и на вопросе «а это вообще нормально или я делаю глупость». Всё это решается за десять минут разговора с тем, кто это уже проходил, и не решается неделей самостоятельного поиска.
Если такого человека рядом нет — за этим и нужен курс «Свой инструмент»: четыре недели, работа над вашей собственной задачей и небольшая группа, где можно показать неработающее. Но начать стоит всё равно сегодня и самостоятельно: выберите одну задачу из списка выше и пройдите пять шагов. Даже если не дойдёте до конца, на курс вы придёте с конкретным вопросом, а это гораздо полезнее, чем прийти с чистого листа.
Частые вопросы
С чего начать вайбкодинг, если я никогда не писал код?
С одной маленькой задачи, которую вы делаете руками каждую неделю и результат которой можете проверить глазами за минуту. Не с изучения языка и не с большой идеи. Цель первого вечера — пройти весь путь от формулировки до работающего результата, а не получить полезный продукт. Один раз пройденный путь целиком даёт больше, чем три недостроенных проекта.
Сколько времени реально занимает первый инструмент?
Если задача выбрана правильно — два-три часа, из которых около часа уходит на описание задачи и проверку, а не на код. Если через три часа результата нет, почти всегда причина одна: задача была слишком большой. Её нужно урезать вдвое и продолжить, а не бросить.
Нужно ли понимать код, который написал ИИ?
Строчку за строчкой — нет. Но понимать, что происходит по шагам: откуда берутся данные, что с ними делается, куда кладётся результат — обязательно. Иначе вы не сможете починить инструмент, когда он сломается, а он сломается. Просите объяснить логику простыми словами до того, как запускаете код.
Что делать, если ИИ по кругу предлагает одно и то же неработающее решение?
Закрыть диалог и начать новый с чистого описания задачи. Длинный диалог с накопленными неудачными попытками тянет модель к тем же вариантам. В новом диалоге сразу укажите, что вы уже пробовали и с какой ошибкой это не сработало — тогда неудачные ветки будут отброшены сразу.
Нужен ли мощный компьютер или платные сервисы?
Для первого инструмента — нет. Достаточно браузера и бесплатных тарифов: таблицы, бесплатный уровень сервисов автоматизации, бесплатный доступ к ИИ-ассистенту. Платить имеет смысл позже, когда инструментом начнёте пользоваться регулярно и упрётесь в лимиты.
Первая версия получилась, но я не понимаю, как она работает. Это провал?
Нет, это нормальная точка. Разберите её на следующий день: попросите объяснить каждый блок по шагам, затем намеренно сломайте что-нибудь и посмотрите, что изменится. Понимание приходит от наблюдения за поведением, а не от чтения кода.