Мне очень не нравится термин. Он подсознательно «сужает» взгляд на ИИ и ограничивает его использование.

«Когда у вас в руке молоток, все становится похожим на гвозди».

Вайб‑кодинг словно бы говорит: «Иди и программируй!»

Есть данные, и нужен какой‑то отчет? Иди вайбкодь! Бэкенд, фронтенд, VPS, вот это всё. А зачем, если тот же ИИ можно просто попросить сделать Excel файлик с нужной структурой и нужными формулами? И он будет понятнее, с ним можно будет работать в будущем, его можно отдать кому‑то, не решая вопросы про доступы, безопасность и тому подобное

Хотите запустить блог или какой‑то контентный проект? Иди вайбкодь! Изучай Next.js, Sanity, Supabase, Vercel! Деплой, отлаживай! Но зачем, если можно взять хоть Ghost, хоть WordPress, с помощью того же ИИ получить рекомендации по нужным плагинам и темам, настроить всю верстку, и получить понятное обновляемое решение?

Примерно так и начиналась эта статья, когда моя жена — директор небольшой частной школы — попросила меня помочь ей с новым ее проектом. За время работы у нее накопился большой опыт в разных вопросах, которые так или иначе связаны с образованием — от мотивации до подготовки к ОГЭ, ЕГЭ и тому подобное. Все это захотелось как‑то собрать, обобщить и поделиться этим. Сделать классный экспертный журнал об образовании.

Первая мысль — «сейчас мы быстро все навайбкодим!»

Вторая — «а зачем?» Особенно — если это надо будет обновлять, если это надо будет потом передать другим людям, если, в конце концов, надо быстро сделать некий MVP, а потом уже допиливать его.

Бюджет на отдельного разработчика и дизайнера — ноль. Человек, который этим занимался на старте (я), — не фронтендер и не WordPress‑разработчик. Я разбираюсь в инфраструктуре, но вёрстка и PHP — вообще не мой профиль.

Почему не пишем свой движок

Первый соблазн — ну, реально, взять Codex или Claude Code, в очередной раз получить свою дозу дофамина от того, что «нейронка» возьмет неведомый тебе стэк, наваяет свою CMS, а оно раз — и заработает! Но если честно посмотреть на задачу: нужен блог с категориями, SEO, картинками, поиском, RSS и тому подобное. Это полностью решённая задача. WordPress делает именно это уже двадцать лет.

Писать свой движок — это не разработка журнала. Это разработка CMS, которая потом будет использоваться для журнала. Разница принципиальная. Мне нужно публиковать статьи, а не дебажить рендеринг Markdown.

WordPress — может быть, не самое элегантное решени. Но у него есть то, чего нет у самописного решения: уже готовая админка, медиатека, плагины для SEO, система ролей, REST API, WP‑CLI для автоматизации. Всё это бесплатно, задокументировано и работает.

Выбор стека: VPS на Ubuntu, nginx, PHP 8.3, MySQL 8.0, WordPress с темой GeneratePress. Ничего необычного. Вся кастомизация — через mu‑plugins и CSS.

Как устроена работа с ИИ

Весь проект в итоге делался через Claude Code — CLI‑инструмент, который подключается к серверу по SSH, пишет PHP, правит конфиги, заливает файлы. Я формулирую задачу на русском языке, он выполняет. Процесс выглядит примерно так:

Я: «Сделай главную страницу: hero‑блок с закреплённой статьёй, сетка последних статей в три колонки, блок популярного, список свежих записей, сетка разделов».

ИИ: генерирует PHP‑скрипт, который создаёт Gutenberg‑контент, прописывает CSS, настраивает тему.

Я: «Три колонки не работают, всё в одну».

ИИ: выясняет, что WordPress core‑стили перебивают кастомный CSS, переносит стили в mu‑plugin с высоким приоритетом.

Я: «Теперь работает. Но отступы слишком большие».

ИИ: правит.

И так далее.

Что реально получилось за пару вечеров в спокойном режиме

С нуля, от пустого VPS до работающего журнала:

  • Настроенный сервер: nginx с кешированием, PHP‑FPM, MySQL, SSL сертификаты, firewall, fail2ban.

  • WordPress с кастомной главной страницей журнального типа: hero, карточки статей, список свежих, сетка разделов.

  • Дизайн: минималистичный, адаптивный, шрифт Inter, белые карточки на светлом фоне. Не шедевр UX, но выглядит аккуратно.

  • SEO: Rank Math, sitemap, человеческие URL через ЧПУ, транслитерация slug'ов.

  • 12 mu‑plugins для кастомизации всего — от шапки до подвала.

Итерационный процесс: как это выглядит на практике

Vibecoding — это не «сказал и готово». Это диалог. Иногда довольно утомительный.

Типичная итерация выглядит так:

  1. Формулируешь задачу. Чем точнее — тем лучше результат.

  2. ИИ делает. Обычно процентов на 80 правильно.

  3. Проверяешь в браузере. Находишь проблему.

  4. Описываешь проблему. «Текст прилипает к краям», «блок уехал», «на мобильном всё сломалось».

  5. ИИ чинит. Иногда с первого раза, иногда нет.

  6. Повторяешь с пункта 3.

Конкретный пример из проекта. Блок «Разделы» на главной странице. Изначально ИИ сгенерировал его как статический HTML — названия категорий были зашиты прямо в контент страницы. Я переименовал категории в админке WordPress, но на главной ничего не изменилось. Логично: HTML‑то статический.

Решение — mu‑plugin с фильтром the_content, который при каждом показе страницы подставляет актуальные данные из базы. Но первая версия этого плагина содержала захардкоженный список slug'ов категорий. Я к тому моменту уже переименовал категории, slug'и изменились — и из восьми разделов на главной появились только два (те, чьи slug'и совпали со старыми).

Вторая итерация: вместо фиксированного списка — get_terms(), который берёт все категории из базы. Заработало.

Три итерации на одну задачу, которая для WordPress‑разработчика была бы очевидной с первого раза. Но я не WordPress‑разработчик, и мне не пришлось им становиться.

Ещё пример: CSS. WordPress генерирует свои inline‑стили (класс is-layout-constrained и подобные), которые перебивают кастомный CSS из настроек темы. Несколько итераций ушло на то, чтобы понять, почему трёхколоночная сетка упорно рендерится в одну колонку. Решение — mu‑plugins с приоритетом 999, который гарантированно грузится после core‑стилей. Это неочевидное знание, если ты не живёшь в экосистеме WordPress. ИИ дошёл до него через пробы и ошибки — не сразу.

Где ИИ помог

Инфраструктура. Настройка nginx, PHP‑FPM, MySQL, SSL, firewall — всё сделано через SSH‑команды, которые генерировал ИИ. Для меня это рутина, но сильно экономит время. Главное — смотреть и проверять, что именно ИИ делает.

WordPress‑кастомизация. Я не знаю API WordPress на уровне хуков и фильтров. ИИ — знает. Он написал 12 mu‑plugins, каждый из которых решает конкретную задачу: убрать сайдбар, переопределить сетку, добавить поиск в шапку, сделать динамический блок категорий. Я бы потратил на это значительно больше времени, копаясь в документации.

CSS. Я описываю «карточки с тенью, hover с подъёмом, адаптив на мобильных» — получаю готовый CSS. Не идеальный, но рабочий. Дальше правим точечно.

Где ИИ не помог (или мешал)

Не видит результат. ИИ (по крайней мере, консольный Claude Code) не открывает браузер. Он не знает, как выглядит страница после его правок. Всё тестирование — на мне. Я смотрю, описываю словами, он правит. Это работает, но медленно. Иногда проще было показать скриншот, чем объяснять «вот тут текст прилипает к краю». Собственно, к этому подходу я в какой‑то момент и пришел.

Не понимает контекст изменений. Когда я переименовал категории в админке WordPress, ИИ не мог об этом знать — он не следит за состоянием базы данных в реальном времени. Решение с захардкоженными slug'ами было логичным на момент написания, но стало проблемой после моих ручных изменений.

Перебивает правки. Иногда, чиня одну проблему, ИИ ломает что‑то другое. Классика: исправил перенос заголовков в блоке «Свежие записи» через sed — случайно заменил стили и для даты тоже. Пришлось перезаливать файл целиком. Мелочь, но множится.

Не заменяет понимание архитектуры. ИИ может написать фильтр WordPress, но решение «нам нужен фильтр, а не статический HTML» принимаю я. Или он — но только после того, как я объясню проблему. Инициативу проявляет редко, и когда проявляет — не всегда удачно.

Плагины и экосистема. Установил Cyr‑To‑Lat для транслитерации slug'ов. Оказалось, что плагин транслитерирует только на стороне сервера при сохранении, а в Gutenberg‑редакторе до сохранения — нет. Мы потратили время, выясняя, что это нормальное поведение, а не баг. Разработчик с опытом в WordPress просто знал бы это.

Когда vibecoding подходит

  • Прототипы и MVP. Когда нужно проверить идею, а не строить большую production систему. Наш журнал — это MVP, и он выполняет свою задачу.

  • Стандартные задачи на незнакомом стеке. Я знаю, что мне нужно, но не знаю API конкретной платформы. ИИ закрывает этот разрыв.

  • Малые команды и сольные проекты. Когда нет отдельного фронтендера, бэкендера и DevOps — ИИ позволяет одному человеку закрывать все роли. Не идеально, но достаточно.

  • Кастомизация готовых решений. WordPress, Shopify, Bitrix — когда нужно допилить, а не построить с нуля.

Когда не подходит

  • Безопасность критична. ИИ не думает о безопасности проактивно. Он не предложит rate limiting, не подумает о CSRF, не проверит SQL‑инъекции — если вы не попросите. Да, есть скиллы, в которые это все заложено по умолчанию. Но вы должны знать об этом и применять.

  • Ты не понимаешь предметную область и надеешься, что ИИ «разберётся сам». Не разберётся. Он выдаст правдоподобный код, который развалится при первом контакте с реальностью.

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

Цифры

  • Время: от пустого VPS до работающего журнала с контентом — пара выходных, по несколько часов в день.

  • Стоимость инфраструктуры: VPS (примерно 500–700 руб/мес), домен, SSL бесплатный.

  • Стоимость разработки: подписка на Claude. Ноль часов оплаченной разработки.

  • Объём кода: ~12 mu‑plugins (PHP), ~600 строк CSS, несколько Python‑скриптов для сложных вопросов. Всё это написал ИИ, я — ни строчки.

  • Количество итераций на типовую задачу: 2–4.

Выводы

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

Ключевое слово — «техническим бэкграундом». Я понимаю, что такое nginx, DNS, SSL, SQL, CSS‑специфичность, REST API. Я не знаю наизусть хуки WordPress, но я понимаю, что такое хук. Без этого фундамента vibecoding превращается в чёрный ящик — ты не можешь ни сформулировать задачу, ни проверить результат, ни понять, почему что‑то сломалось.

Наш журнал работает. Статьи публикуются. SEO настроен. Это не enterprise‑решение, но для задачи «контентный блог для школы» — более чем достаточно. И сделано это одним человеком, который параллельно занимался другими проектами.

Наверное, профессиональный WordPress‑разработчик сделал бы лучше. Наверняка, сделал бы правильнее. Но его не было, а журнал был нужен. И vibecoding позволил закрыть эту задачу — не идеально, но работоспособно. А в реальной жизни «работает сейчас» часто важнее, чем «идеально никогда».

Вывод из заголовка статьи: не надо бросаться именно «кодить», раз это сейчас модно, молодежно и в тренде. Конечно, иногда нужен именно код, приложение. Но далеко не всегда! Не ограничивайте себя. ИИ в ваших руках — это шикарный мультитул, а не молоток. 

Результат

Наша Школа Все Вместе — Журнал об образовании

Для старта, на мой взгляд, все вообще отлично!

Тексты — авторские, «крафтовые».

Картинки — да, очевидно, ИИ. Но всяко лучше, чем разноперые стоковые. Найдем дизайнера, придумаем что‑то оригинальнее.

Комментарии (26)


  1. alpatovdanila
    29.03.2026 12:47

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


    1. adamant Автор
      29.03.2026 12:47

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

      Я не противник вайбкодинга. Просто не надо браться за него для решения каждой первой задачи.


      1. FSmile
        29.03.2026 12:47

        Хунг и его друзья с тобой не согласятся


      1. mrpsycho
        29.03.2026 12:47

        а зачем тогда вы изобрели велосипед с инфраструктурой?

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

        вконце концов решения типа юнохост есть, которые позволяют вордпресс развернуть на своем.


    1. DarthVictor
      29.03.2026 12:47

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

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


      1. adamant Автор
        29.03.2026 12:47

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

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


  1. SafeCodee
    29.03.2026 12:47

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


    1. adamant Автор
      29.03.2026 12:47

      Можно, и нужно! Но аккуратно, да. :)


    1. saag
      29.03.2026 12:47

      Вы в интернет заходите из командной строки терминала? Текстовый броузинг?


      1. SafeCodee
        29.03.2026 12:47

        Нене, я же не LLM
        Я про терминал где ИИ агент запущен


  1. WhiteBehemoth
    29.03.2026 12:47

    "Завязывайте с вайбкодингом! Серьезно"

    В недалёком будущем... Социальный ИИ чат "Анонимный Вайбкодер".

    - Привет, чат, меня зовут Валера и я вайбкодер.


    1. adamant Автор
      29.03.2026 12:47

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


  1. DoubleDen
    29.03.2026 12:47

    Кликбейт детектед)


  1. Politura
    29.03.2026 12:47

    Заголовок не соответствует содержанию статьи. Надо было назвать «как я что-то навайбкодил и остался доволен».

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


    1. adamant Автор
      29.03.2026 12:47

      Вы прочитали так. Ну, ок. :)

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


      1. FireLynx
        29.03.2026 12:47

        Кто его реально познал, те обходят стороной


  1. evpetrovich
    29.03.2026 12:47

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

    Все про насмотренность...


    1. adamant Автор
      29.03.2026 12:47

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

      А сейчас получают кайф от того, что все можно сделать самому.

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


      1. Frisian
        29.03.2026 12:47

        Следующмй этап - нафиг я на это время тратил... будет как с визитками в 2014+ .. где их клепали все кому не лень, ибо появились конструкторы, и всякие WP/Joomla.. потом это все забросили


        1. Spyman
          29.03.2026 12:47

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

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


          1. Frisian
            29.03.2026 12:47

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


            1. Spyman
              29.03.2026 12:47

              Запрос на визитки - был скорее всего кем-то индуцирован, а не был внутренним (т.е. не было людей, которые реально хотели для себя визитку, были люди которым кто-то сказал, что для успешного успеха она должна быть). А вот "идеальный для себя таск трекер", про который говорил комментатор выше - это уже спрос изнутри. По этому визитки померли, а идеальные продукты для себя цветут и пахнут (тот-же immich и даже linux начинали именно в таком русле).

              Так что в случае с "удовлетворить внутреннюю потребность" - нет это будет работать, пока не появятся конкуренты настолько продвинутые, что решать задачу лучше.


  1. Denai
    29.03.2026 12:47

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


    1. adamant Автор
      29.03.2026 12:47

      Да. Будет сильно меньше разочарований, если ИИ воспринимать просто как инструмент.


  1. Mr_Cheater
    29.03.2026 12:47

    А вообще для контентного проекта есть Hugo, если не хотите ковыряться с Wordpress. Собирает md-файлы в статические html, и сайт летает быстрее, чем корабли в Звездных Войнах.

    Но да, инструмент надо подбирать под задачу, о чем и речь в посте, собственно.


  1. akod67
    29.03.2026 12:47

    сё сделано через SSH‑команды, которые генерировал ИИ. Для меня это рутина, но сильно экономит время. Главное — смотреть и проверять, что именно ИИ делает.

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