Могут ли непрограммисты действительно программировать? Мы протестировали это

Норми и ИИ пытаются создать базу данных, используя виброкодирование. Могут ли обычные люди действительно создавать функциональный код без традиционного обучения?
В последние годы демократизация разработки программного обеспечения стала горячей темой для дискуссий, и в технологических кругах все чаще встречаются утверждения о том, что программировать может каждый. Но насколько верно это утверждение на самом деле? Один любопытный наблюдатель решил подвергнуть это утверждение окончательному испытанию, объединившись с искусственным интеллектом, чтобы выяснить, смогут ли люди, не разбирающиеся в технических вопросах (которых некоторые называют «нормальными»), по-настоящему использовать возможности кодирования Vibe для создания функциональных приложений.
Концепция vibe-кодирования представляет собой увлекательный отход от традиционной разработки программного обеспечения. Вместо того, чтобы полагаться на жесткий синтаксис, обширное обучение и годы обучения, кодирование Vibe делает упор на интуитивное взаимодействие с помощниками искусственного интеллекта для преобразования человеческих намерений в рабочий код. Этот подход предполагает, что техническая экспертиза, возможно, не является абсолютным обязательным условием, как это было раньше. Возникает вопрос: может ли эта философия действительно работать на практике или это просто технологический оптимизм?
Чтобы изучить эту идею, наш обычный человек — человек без формального образования в области программирования или опыта профессионального развития — решил сотрудничать с Клодом, продвинутым помощником по искусственному интеллекту, чтобы создать работающее приложение для работы с базами данных. Цель была амбициозной, но понятной: создать систему для отслеживания мелких обид, жалоб и мелких разочарований, которые обычные люди накапливают на протяжении всей своей жизни. Это не была критически важная корпоративная система; это было что-то действительно полезное, но достижимое в рамках эксперимента.
Путешествие началось с простого разговора. Вместо того, чтобы бороться с документацией или запоминать сложный синтаксис, люди, не разбирающиеся в технических вопросах, просто объясняли, что они хотят создать, на простом английском языке. База данных жалоб должна была быть удобной для пользователя, способной хранить записи, логически их организовывать и, возможно, отображать в читаемом формате. Эти требования были сообщены в устной форме, как если бы вы обсуждали проект с коллегой за чашкой кофе, а не инструктировали машину с помощью загадочных команд.
То, что получилось в результате этого сотрудничества, было поистине удивительным. Клод не только понял расплывчатые требования, но и задал уточняющие вопросы, которые помогли уточнить видение. Должны ли записи иметь временные метки? Нужна ли пользователям возможность классифицировать жалобы? Должна ли быть функция поиска? Это не были технические вопросы, замаскированные жаргоном, — это были практические соображения по проектированию, которые помогли превратить приложение в нечто действительно полезное. Этот повторяющийся диалог продемонстрировал кое-что важное: разработка с помощью искусственного интеллекта может преодолеть разрыв между замыслом и реализацией.
Фактический процесс создания кода выявил как потенциал, так и ограничения кодирования вибрации. Клод создал рабочий код относительно быстро, и человек, не являющийся техническим специалистом, мог понять общую структуру и назначение каждого раздела, даже если он не мог написать его самостоятельно. Запросы к базе данных имели интуитивный смысл, если объяснять их в разговорной форме. Компоненты пользовательского интерфейса были достаточно простыми, чтобы их можно было изменить на основе отзывов. Это означало реальное снижение барьеров для входа в сферу разработки приложений.
Однако этот опыт также пролил свет на границы возможностей кодирования Vibe. Когда возникали ошибки (а они возникали), устранение неполадок требовало хотя бы некоторой технической грамотности. Понимание того, почему запрос не удался или как отладить неожиданное поведение, требовало большего, чем просто интуиция. Наш нормальный программист учился быстро, но кривая обучения оказывалась более крутой, когда что-то шло не так. Это говорит о том, что, хотя Помощь в программировании с использованием ИИ может значительно сократить базовые знания, необходимые для создания функциональных приложений, она не устраняет полностью необходимость в технических знаниях.
Сама база данных жалоб стала полностью функциональной после нескольких итераций. Пользователи могли добавлять жалобы, просматривать их в удобном интерфейсе, выполнять поиск по прошлым записям и упорядочивать жалобы по категориям и датам. Это не было сложно — никаких рекомендаций по машинному обучению или расширенной аналитике — но это работало. Он решил проблему, для решения которой был создан. Что еще более важно, он был создан кем-то, кто всего несколько часов назад не мог написать ни строчки производственного кода.
Этот эксперимент имеет серьезные последствия для будущего разработки программного обеспечения. Если кодирование Vibe действительно позволит людям, не разбирающимся в технических вопросах, создавать функциональные приложения, последствия для технологической отрасли будут огромными. Рынки труда могут измениться. Число людей, способных создавать программное обеспечение, может увеличиться в геометрической прогрессии. Компаниям может понадобиться меньше специализированных разработчиков, но больше людей, которые понимают, как эффективно взаимодействовать с инструментами искусственного интеллекта.
Тем не менее, остаются вопросы о жизнеспособности кодирования вибрации в больших масштабах. База данных жалоб была относительно простой. А как насчет приложений, требующих сложной бизнес-логики, многократной интеграции или серьезной оптимизации производительности? Может ли обычный человек сотрудничать с Клодом для создания систем, требующих глубокого понимания архитектуры? Это остаются открытыми вопросами, которые определят будущее технологий.
Практический вывод из этого эксперимента имеет некоторые нюансы. Да, люди, не обладающие техническими знаниями, теперь могут создавать функциональные приложения для баз данных с помощью ИИ — это совершенно верно. Но это не так просто, как чистые «вибрации». Успех по-прежнему требует четкого мышления о том, что вы хотите построить, терпения к итерациям, базовых способностей к решению проблем и готовности учиться, когда проблемы возникают. Речь идет не столько о нулевых технических требованиях, сколько о значительном снижении барьеров при сохранении значимого участия в решении проблемы.
Похоже, что за совместным процессом человеческих намерений и возможностей ИИ кроется будущее развития. Вместо того, чтобы выбирать между традиционным кодированием и чистым искусственным интеллектом, лучшим вариантом, по-видимому, является настоящее партнерство. Человек обеспечивает направление, суждение и точку зрения пользователя, в то время как ИИ обрабатывает детали реализации и технический перевод. Для обычных людей, желающих создавать простые и средние инструменты, этот подход имеет реальную ценность и открывает ранее недоступные возможности.
Так могут ли нормальные люди действительно кодировать? Ответ, судя по всему, положительный, но с оговорками. Если вы готовы четко обдумать свои требования, активно взаимодействовать с помощником искусственного интеллекта и изучить основные способы устранения неполадок, вы вполне можете создавать функциональные приложения. Барьер для входа в сферу разработки программного обеспечения действительно снизился. Представляет ли это полную демократизацию программирования или просто появление нового, более доступного уровня технической грамотности, еще неизвестно, но траектория, несомненно, меняет наше представление о том, кто может участвовать в создании программного обеспечения.
Источник: Wired


