Павел Булкин
Вайб-кодинг. Как заставить ИИ-агентов писать код

Вайб-кодинг. Как заставить ИИ-агентов писать код (и вы тоже так можете)

Раньше я тратил недели на баги в Python. Серьезно, недели. Я помню один особенно травмирующий случай с утечкой памяти в проекте на Django, который преследовал меня во снах. Я просыпался в холодном поту, бормоча что-то про сборщик мусора и циклические ссылки. Мои дни состояли из ритуального танца: добавить `print()`, запустить, посмотреть, почесать в затылке, повторить. Мой самый полезный навык, казалось, заключался в способности гуглить сообщения об ошибках на двадцати разных языках, включая эльфийский. Я был не программистом, а цифровым шахтером, который день за днем кайлом `console.log` долбил каменную стену кода в поисках крошечного самородка – той самой пропущенной точки с запятой.

Теперь мой главный навык – умение вежливо, но настойчиво говорить: «Эй, ИИ, почини этот треш!» И знаете что? Он чинит. И делает это быстрее, чем я успеваю сварить себе утренний кофе.

Если вы читаете эти строки, скорее всего, вы узнали себя в моем прошлом. Вы устали от рутины. Устали от бесконечного копирования кода со Stack Overflow, которое ощущается как интеллектуальное воровство у самого себя. Устали от того, что 90% рабочего времени уходит не на создание чего-то нового и великого, а на поддержку старого и еле живого. Вы смотрите на свои проекты и видите не элегантные архитектурные решения, а цифровые трущобы, которые страшно трогать, чтобы они не развалились. Добро пожаловать в клуб. Я был его почетным членом.

Но есть и хорошие новости. Выход из этого ада существует, и имя ему – `vibe coding`. Это не новый фреймворк. Не очередной язык программирования, который нужно учить пять лет. Это новая философия. Это фундаментальный сдвиг в отношениях между человеком и машиной. Вайб-кодинг – это когда ты перестаешь быть рабом клавиатуры и становишься дирижером оркестра. Оркестра, состоящего из невероятно умных, исполнительных и никогда не устающих `ИИ-агентов`. Ваша задача – задавать темп, определять мелодию и следить за общей гармонией. А всю черновую работу – игру на инструментах – выполняют они.

Этот текст – не академический трактат. Здесь не будет сложных формул, заумных определений и снобского жаргона. Представьте, что мы сидим в уютном баре, и я, как старый друг, делюсь с вами главным секретом своей новой, счастливой программистской жизни. Я покажу вам, как переложить практически всю скучную, монотонную и выматывающую работу на плечи искусственного интеллекта. Мы поговорим о том, как работает `генерация кода` на практике, что такое настоящий, а не выдуманный `промпт-инжиниринг`, и как сделать так, чтобы `роботы пишут код` за вас, пока вы занимаетесь тем, для чего и пришли в эту профессию – творите.

Я предвижу ваш скепсис. «Это что, для новичков, которые не умеют кодить?» – спросите вы. Наоборот. Это для профессионалов, которые ценят свое время. «Не сделает ли это меня глупее? Не растеряю ли я навыки?» – а вы растеряли навык счета в уме, когда появился калькулятор? Нет, вы просто перестали тратить на это ментальные силы и направили их на решение более сложных задач. Так же и здесь. `Автоматизация разработки` освобождает ваш мозг от низкоуровневой рутины, чтобы вы могли сосредоточиться на архитектуре, бизнес-логике, пользовательском опыте и стратегии. Вы перестаете быть просто исполнителем, вы становитесь мыслителем.

Программирование всегда эволюционировало в сторону повышения уровня абстракции. От машинных кодов к ассемблеру. От ассемблера к C. От C к Python и JavaScript. Каждый шаг делал нас дальше от «железа» и ближе к человеческому языку. Вайб-кодинг – это следующий, самый логичный шаг в этой эволюции. Теперь мы можем писать код на самом высоком уровне абстракции из всех возможных – на человеческом языке.

Цель этой брошюры проста: через два часа вы не просто поймете эту концепцию, вы соберете свой первый полноценный ИИ-проект. Даже если вы не писали код со времен динозавров и ваш последний коммит был в репозиторий на SourceForge. Пристегнитесь. Мы отправляемся в будущее. И оно вам понравится.

Мой отряд ИИ-роботов (и чем они занимаются)

Чтобы стать успешным дирижером, вам нужны хорошие музыканты. В мире `vibe coding` ваши музыканты – это правильно подобранные инструменты. Это не просто программы, это ваши напарники, каждый со своим характером, сильными сторонами и специализацией. Собрать правильную команду – половина успеха. Я перепробовал десятки инструментов и остановился на трех, которые покрывают 99% моих потребностей. Это мой личный «отряд Альфа» в борьбе с рутиной.

Cursor IDE – мой «Старший инженер»

Давайте начистоту: после знакомства с **Cursor IDE**, возвращаться в обычный VS Code – это как пересесть с современного электрокара обратно в карету с лошадьми. Да, едет. Но ощущения совсем не те. Cursor – это не просто редактор кода. Это ваш личный старший разработчик, который сидит рядом 24/7, не просит повышения зарплаты и никогда не бывает в плохом настроении.

Что это такое по сути? Разработчики взяли всеми любимый VS Code, сохранили все его плагины, настройки и хоткеи, к которым вы так привыкли, и встроили в него мощнейший ИИ на стероидах. Главное его отличие от других ИИ-помощников – он «видит» весь ваш проект целиком. Это называется "codebase-aware intelligence". Он не просто смотрит на открытый файл, он знает о каждом файле, каждой функции, каждой переменной в вашем проекте. Это меняет правила игры.

Вот как это работает на практике. У вас есть проект из 50 файлов. Вам нужно добавить новую фичу. В обычном мире вы бы начали открывать файлы один за другим, вспоминать, что где лежит, какая функция за что отвечает. В Cursor вы просто открываете чат (`Cmd+K`) и пишете: «Добавь возможность для пользователей загружать аватар. Вот требования: изображение должно быть в формате PNG или JPG, не больше 2МБ. На бэкенде нужно создать новый эндпоинт `/upload-avatar`, который будет сохранять файл в папку `/uploads`. На фронтенде, в компоненте `UserProfile.tsx`, добавь кнопку "Загрузить фото" и реализуй логику отправки файла на сервер».

И вы идете пить чай. Когда вы вернетесь, Cursor покажет вам предлагаемые изменения. Он сам найдет `UserProfile.tsx` и добавит туда нужный JSX и CSS. Он откроет файл с роутами на сервере и добавит `/upload-avatar`. Он создаст новый контроллер для обработки загрузки, включая проверку размера и типа файла. Он даже может установить нужную библиотеку для обработки `multipart/form-data`, если ее не было. Вам останется только нажать кнопку «Применить» и проверить результат.

Cursor превращает фразы типа «Сделай калькулятор калорий с тёмной темой» в готовый код. Просто шепчи ему в чат – он даже через тайпскрипт пролезет! Его сила в контексте. Вы можете выделить кусок кода и попросить: «Найди баги в этом фрагменте», «Отрефактори этот код, сделай его более читаемым», «Объясни мне, что здесь происходит, как будто мне 5 лет». Он не просто даст ответ, он даст его с учетом того, как этот код взаимодействует с остальной частью вашей программы. Это и есть работа старшего инженера – видеть картину целиком и принимать решения, основанные на глобальном контексте, а не на локальной проблеме.

Конечно, он не идеален. Иногда он может «задуматься» или предложить не самое элегантное решение. Но это происходит все реже. Главное – научиться правильно с ним разговаривать. Чем точнее и детальнее ваш запрос, тем лучше будет результат. Это основа `промпт-инжиниринга`, о которой мы поговорим позже. Но даже с базовыми навыками Cursor экономит часы, которые раньше уходили на навигацию по проекту и написание шаблонного кода.

Claude 3.5 Sonnet – «Архитектор»

Если Cursor – это ваш старший инженер, который отлично справляется с тактическими задачами, то Claude – это ваш главный архитектор, который отвечает за стратегию. Я обращаюсь к нему, когда задача выходит за рамки написания кода и требует высокоуровневого мышления, анализа и планирования.

Главная суперсила **Claude 3.5 Sonnet** (и его старшего брата Opus) – это гигантское контекстное окно. Говоря простым языком, он может «прочитать» и запомнить огромное количество информации за один раз. Мы говорим о сотнях тысяч слов, что эквивалентно целой книге. Это делает его незаменимым инструментом для работы со сложными и запутанными системами.

Когда нужно объяснить задачу как бармену после пятого виски: «Клод, вот есть 4 API, 2 базы данных и кривой SDK от вендора, который обанкротился в 2015 году… Собери из всего этого работающую систему так, чтобы она не взорвалась к чертям через неделю». Это его стихия.

Мой типичный сценарий использования **Claude для кода** – это работа с легаси-проектами. У каждого из нас есть такой проект в шкафу. Огромный, страшный монолит, написанный десять лет назад, без единой строчки документации. Раньше на то, чтобы просто разобраться в нем, уходили недели. Теперь я делаю так: я выгружаю весь код проекта (или его ключевые части) в Claude и пишу промпт: «Ты – опытный системный архитектор. Перед тобой исходный код старого проекта. Твоя задача – провести полный аудит. Проанализируй этот код и подготовь подробный отчет, который должен включать: 1. Описание общей архитектуры приложения. 2. Список всех основных модулей и их назначение. 3. Карту зависимостей между модулями. 4. Список потенциальных узких мест, багов и проблем с производительностью. 5. Рекомендации по модернизации и рефакторингу с пошаговым планом».

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

Другой кейс – изучение новых технологий. Вместо того чтобы читать нудную документацию, я просто скармливаю ее (или ссылку на нее) Claude и начинаю вести с ним диалог. «Объясни мне ключевые концепции фреймворка Svelte», «Напиши мне пример простого todo-приложения на Svelte, используя лучшие практики», «Чем Svelte отличается от React и в каких случаях его лучше использовать?». Он становится вашим персональным репетитором, который знает о технологии абсолютно все и готов отвечать на любые, даже самые глупые вопросы.

Claude – это не про написание отдельных строк кода. Это про создание структуры, про проектирование систем, про превращение хаоса в порядок. Это ваш стратегический советник в мире нулей и единиц.

GitHub Copilot – «Стажёр-экстрасенс»

Если Cursor – это ваш сеньор, а Claude – архитектор, то **GitHub Copilot** – это ваш личный стажёр. Но не обычный, а стажёр-экстрасенс. Он невероятно быстрый, услужливый, всегда под рукой и пытается предугадать каждое ваше желание. Иногда это немного пугает.

Copilot интегрируется прямо в ваш редактор (будь то Cursor, VS Code или любой другой) и работает в режиме реального времени. Вы начинаете писать код, и он тут же, серым призрачным текстом, предлагает его завершение. Начинаешь писать `function calculateTotalPrice(items)`… и он тут же предлагает готовую реализацию: перебор массива `items`, суммирование цен с учетом скидок и налогов, и возврат итоговой суммы. Часто он угадывает так точно, что остается только нажать Tab и двигаться дальше.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.