Вайб-кодинг — подход к программированию, при котором рутинные задачи доверяются ИИ, а человек сосредотачивается на креативных аспектах и архитектуре проекта. Идея заключается в том, чтобы превратить процесс разработки в совместное творчество: человек задаёт цели, а машина берёт на себя написание, рефакторинг и отладку кода.
Опытный разработчик с 40-летним стажем программирования и докторской степенью в области ИИ Марко Бенедетти решил проверить, не превращается ли программирование в конвейер, и провел эксперимент. В течение двух недель он посвятил 40 часов совместной работе с ИИ над проектом на Python.
Проект включал примерно 5 тыс. строк кода, 50 файлов, 20 классов и был посвящён созданию алгоритмов поиска для классических задач.
Ключевым элементом проекта стала программа, решающая головоломку «Ханойская башня». Эта классическая задача требует перемещения дисков между тремя стержнями по определённым правилам. Кратчайшее решение головоломки растёт экспоненциально с увеличением числа дисков, и человеку почти невозможно его представить. Зато машины легко справляются с такой задачей, используя специализированные или универсальные алгоритмы поиска. Созданный решатель включает несколько таких алгоритмов и умеет работать как с классической версией головоломки, так и с ее обобщенными вариантами с произвольными конфигурациями.
Разработка проходила как непрерывный диалог на английском языке в реальном времени между программистом и ИИ-помощниками в интегрированной среде Cursor. По словам Бенедетти, сам он не написал ни одной строки кода. В работе использовались три ведущие модели на июль 2025 года. Первоначальная настройка проекта выполнялась с помощью Gemini Pro 2.5 от Google, основная часть кода создавалась с Claude Sonnet 4 от Anthropic, которую разработчик похвалил за глубокое понимание, проницательность и вовлечённость, а o3 от OpenAI применялась для второстепенных задач, таких как проверка кода и поиск справочной информации. За 40 часов совместной работы было проведено более 300 сеансов обмена сообщениями с ИИ.
Результаты эксперимента оказались впечатляющими. ИИ демонстрировал способность точно следовать инструкциям, восполнять пробелы в рассуждениях и предлагать более элегантные решения.
В некоторых случаях скорость и точность работы ИИ превышала человеческие возможности. Например, всего за 30 секунд ИИ доказал невозможность существования неразрешимых головоломок, тогда как разработчик «набросал» это доказательство за 10 минут. Модель показывала уверенное владение Python, включая идиоматические конструкции и стандартные библиотеки.
Однако эксперимент выявил и недостатки. Около 20% времени ушло на исправление или доработку некачественного кода. Среди проблем встречались дублирование, излишне сложный рефакторинг, некорректная обработка исключений и ошибки при параллельном выполнении.
В 40% случаев код казался работоспособным, но при внимательном рассмотрении обнаруживались скрытые ошибки. Например, ИИ написал неоптимальный алгоритм, но отрицал это, а еще имитировал удаление объекта. Другая проблема заключалась в том, что ИИ склонен предлагать «индустриальные» решения даже там, где нужна подходит простота и ясность, и это необходимо учитывать.
По мнению разработчика, ИИ-помощники на основе больших языковых моделей — крайне полезные инструменты, однако их эффективность напрямую зависит от уровня знаний программиста. В ходе эксперимента разработчик работал примерно вдвое быстрее, но при написании тестов, документации и рефакторинге производительность может увеличиваться в 10-100 раз. В то же время, чрезмерное полагание на ИИ может привести к «когнитивному долгу», когда программист теряет собственные навыки. Настоящая польза от ИИ проявляется только тогда, когда человек способен контролировать и направлять работу машины. Поэтому новичкам, которые пока не могут критически оценивать результат, стоит быть аккуратнее с вайб-кодингом.
Таким образом, программирование с ИИ-помощниками представляет собой двусторонний процесс: оно повышает продуктивность и освобождает время для творчества, но требует постоянного участия и проверки со стороны человека. Будущее кодинга, по мнению эксперта, лежит в тесном сотрудничестве человека и машины, где контроль и ответственность остаются за человеком, а ИИ выступает как умный, надежный ассистент.