Слово от переводчика

  • Суть “氛围编程” заключается в том, что технологии накапливаются с безумной скоростью, сопоставимой с ИИ.
  • AI-программирование — это двойной меч: создание прототипов является мощным инструментом, но применение его для долгосрочных проектов — это начало катастрофы.
  • Позволять людям, не разбирающимся в технологиях, разрабатывать основные продукты с помощью ИИ, все равно что дать ребенку кредитную карту с неограниченным лимитом — кратковременное наслаждение обернется бесконечными долгами в будущем.
  • Ключ к управлению ИИ заключается не в отказе от размышлений, а в повышении способности к “теоретическому построению”. Человек должен быть владельцем уздечки, а не просто следовать за ИИ.

“氛围编程” — это создание технического долга

Стив Крауз (Steve Krouse)

Хотя общественность в целом сбита с толку, слово “氛围编程” (Vibe Coding), созданное Андреем Карпатым (Andrej Karpathy), изначально подразумевало способ программирования с помощью ИИ, в котором вы даже “не ощущаете присутствие кода”.

Унаследованный код/технический долг

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

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

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

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

Когда вы используете “氛围编程”, скорость накопления технического долга сопоставима с тем, с какой скоростью ИИ генерирует код. Поэтому “氛围编程” на самом деле является отличным выбором для разработки прототипов и одноразовых проектов: ведь только код, требующий долгосрочного обслуживания, может стать унаследованным!

Прототипы и одноразовый код

Я сам радовал себя разработкой небольших приложений с помощью “氛围编程”, например:

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

“氛围编程” — это вопрос степени

“氛围编程” — это вопрос степени, ключевым моментом является глубина вашего понимания кода. Чем глубже ваше понимание, тем меньше вы действуете “на ощупь”.

shapes at 25-07-30 10.32.53.png

Сравните: один инженер просит разработать “веб-приложение с постоянной базой данных”, а не технический специалист требует “сделать приложение” (но он не различает веб-приложения и нативные приложения и не понимает, что такое персистентные данные), степень “ощущений” в первом случае намного ниже.

Подарить кредитку ребенку

Худший случай — это позволить человеку без технических знаний использовать “氛围编程” для разработки крупного проекта, требующего долгосрочного обслуживания. Это так же, как предоставить кредитную карту ребенку, не объяснив ему, что такое “долг”.

Представьте, какую радость это принесет в начале: “Боже, достаточно провести этой маленькой карточкой в магазине, и я получу все, что хочу!”

Это похоже на повсеместно распространённый тезис: “ИИ способен на всё! Каждый может быть программистом! Посмотрите на это приложение, сгенерированное ИИ!”

Однако через месяц счет по кредитке окажется на пороге: “Мне действительно нужно было покупать все это? Как теперь распутать этот беспорядок?”

Разработчики “氛围编程” столкнутся с аналогичными трудностями: “Мой код полетел! Столько файлов и папок, что они все означают? Как это все исправить? Могу ли я вернуть 400 долларов, потраченные на код, сгенерированный ИИ?”

Если вы совершенно не разбираетесь в коде, единственный выход — это снова обратиться к ИИ за помощью. Это похоже на “платежи по кредиту с использованием другого кредита”, когда вы пытаетесь расплатиться с одной кредиткой, используя другую.

В 2025 году как всерьез подходить к программированию с ИИ

Если вы планируете в 2025 году разработать серьезный проект, требующий долгосрочного обслуживания, рекомендации Андрея абсолютно верны:

“Вы должны относиться к ИИ как к новому стажеру и держать его на коротком поводке. Этот стажер — гений, он прекрасно разбирается в программном обеспечении и представляет собой живую энциклопедию. Но в то же время он чрезмерно восторжен, постоянно фантазирует, имеет бескрайнее самоуверенность и совершенно не понимает, что такое хороший код. Поэтому вы должны напоминать себе: замедлите скорость, придерживайтесь защиты, проявляйте осторожность и будьте даже немного параноидальными. Воспользуйтесь каждым моментом, чтобы учиться на практике, а не полагайтесь слепо на него.”

— Андрей Карпаты, twitter

Как мы принимаем ИИ в разработке

В Val Town мы уже внедрили ИИ в наши продукты множеством способов. Наш ИИ-помощник Townie похож на интеллектуальный агент, который может активно читать и писать код, запускать программы, проверять логи и постоянно итеративно работать, пока задача не будет завершена.

Townie — это отличный инструмент для “氛围编程”. Я настоятельно рекомендую его друзьям, которые понимают баланс преимуществ и недостатков. Иногда я использую его для быстрого “氛围编рования”; однако, когда я работаю над проектами, которые я очень ценю, я стяну поводок, позволяя ему делать лишь “хирургически точные” изменения. Оба подхода увлекательны и эффективны.

Область AI-программирования постоянно меняется, и будущее трудно предсказать. Но я глубоко верю, что “теоретическое построение” все еще является основой разработки сложного программного обеспечения. Это означает, что наша человеческая экспертность по-прежнему незаменима! В то же время я оптимистично надеюсь, что ИИ будет продолжать неожиданными способами улучшать программирование.

Однако, если у вас есть друзья без технического фона, которые чрезмерно тратят средства, гоняясь за своей “миллиардной” мечтой о приложении с использованием “氛围编рони”, обязательно поделитесь с ними этой статьей. “氛围编рони” не приведет их к успеху. Им рано или поздно придется научиться собственными глазами понимать код 😱 и в конечном итоге осознать жестокую правду: лучше создать новый четкий код, чем исправлять унаследованную систему, которую никто не может понять.


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

Благодарю Геоффри Литта, Джимми Коппела, Максa Макдоннелла, Тома МакаУрайта, Шармен Ли, Брента Джексона и Дэна Шиппера за отзывы по данной статье. Благодарю Симона Уилисона и Андрея Карпатого за то, что в море чрезмерного энтузиазма и пессимизма вокруг ИИ они произносят разумные слова.

Исходный адрес: https://blog.val.town/vibe-code