вайб-кодинг

В самолёте сидел рядом с программистом, опытным мобильным разработчиком.

Я большую часть полёта проспал, а он — вайбкодил. С восхищением делился, что за всё это время не написал сам ни строчки кода, всё делает нейросеть по его командам, и что это в разы быстрее, чем без неё. Правда, он даёт ей достаточно чёткую структуру проекта и просматривает всё, что та пишет, и один час из семи он потратил на исправление «маааленькой ошибки», которую нейросеть не могла найти.

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

То есть инструмент используется для улучшения инструмента, и этим занимаются одни из лучших. Нас ждут интересные времена.

На прошлой неделе было удивительное:

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

2. Настя, наш операционный директор (не программист), завайбкодила прототип для клиента в lovable. Раньше бы мы назначили встречу с продуктовым дизайнером, он бы нарисовал макеты, мы бы сделали пару встреч и итераций, дальше бы мы его, может быть, сделали кликабельным, дальше бы посадили фронтендеров его заверстать. А тут Настя сделала всё сама за пару часов. И отправила клиенту не просто макеты, а полноценный прототип. Клиент — стартап, в котором нужна возможность связать врачей и пациентов, так эта шайтан-машина нашла бесплатное решение для видеосвязи и прикрутила его к прототипу.

Настя выглядела поражённой и даже встревоженной: «Самат, с помощью этого можно перестроить работу с клиентами». И спросила: «А нужны ли будут программисты?» и вообще: «Какое наше место в этом новом мире?»

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

То есть программист сможет заниматься чуть более сложными вещами и ускорит свою работу.

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

Ну и наконец, если в каком-то будущем мы сможем делать крутые программные продукты «совсем без программистов» — то:

1. долгосрочно, у нас будут гораздо большие проблемы, потому что перестроится вообще весь рынок интеллектуального (а с развитием физических роботов — вообще всего) труда, мир изменится;

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

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

Тем временем, Линус Торвальдс тоже вайбкодит (правда, пока ещё не ядро Линукса).

DHH (Дэвид Ханссон Хейнемейер, культовый создатель Basecamp и Ruby on Rails, любящий и умеющий программировать) публикует восхищенный пост про агентов и OpenCode (в разработке которого, он, оказывается, участвует).

Antirez, автор Редиса, одной из главных баз данных, пишет сегодня ещё радикальнее.

Game over. Титры ещё не начались, но финал уже понятен.

Помните клиента, который делает стартап в одно лицо и уже напрограммировал два миллиона строк кода?

Наш архитектор Леша придумал, как выделить из его монолита отдельный голосовой сервис и написал ADR , а этот парень за день все реализовал :) завтра будем разбираться, не выплеснул ли он по пути ребенка.

С таким я ещё не сталкивался — мы ставим клиенту задачи, а он их программирует!

Шутки шутками, а я сегодня впервые за долгое время задеплоил код в продакшен.

Федя уехал в отпуск, Настя нашла баги в лендинге нашего медицинского помощника, а я склонировал репозиторий, запустил локальную копию проекта и поговорил с клодом. Потом запушил изменения и благодаря прекрасно настроенному CI/CD, всё само доехало на сайт.

Аналогичный баг на бэкенде я исправлять пока не стал — боюсь, что не смогу запустить проект локально (зря, может быть), да и с данными лучше быть осторожным. Настроить всю эту инфраструктуру самостоятельно у меня заняло бы очень много времени, но внутри настроенного Федей харнеса, я могу направлять нейросети куда нужно.

Это напомнило мне статью о том, что будущее программистов — это SRE, то есть программисты-админы, которые будут поддерживать работоспособность проектов. Не уверен, что это правда (как видим, в большими проектах нейросетям все ещё нужна помощь с архитектурой), но сисадминство наверняка продержится дольше программирования.

Upd: добавил важный абзац в текст про компилятор, а то фокус был сбит:

Гораздо важнее траектория развития способностей нейросетей. 4-я модель «Опуса» еле-еле генерировала работоспособный компилятор. 4.5 первым прошел крупные тесты, но не мог скомпилировать реальные проекты. 4.6 вышедший на днях может компилировать реальные проекты. Что сможет следующая модель?