Vibe Coding: тень, проблема, которую никто не видел

Vibe Coding — это тенденционное модное слово для разговора, побуждая агента искусственного интеллекта для производства программного обеспечения. Его создатель, Андрей Карпати, назвал этот процесс «не совсем кодирование-я просто вижу вещи, говорю вещи, запускаю вещи и копируйте вещи, и в основном он работает», и он обнаружил, что «не так уж плохо для выбросов проектов выходных».

Одним из ключевых различий между кодированием атмосфера и другими формами кодирования A-A-A-Actisting является принятие кода, сгенерированного агентом без проверки. Когда вы кодируете атмосферу, вам не нужно читать код или понимать, как что-то работает, что позволяет гражданским разработчикам создавать мелкомасштабные приложения, не обучаясь кодировать.

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

Vibe Coding распространяется как тень

Тень это происходит, когда деловые подразделения разочаровываются в ожидании программного обеспечения, которое, по их мнению, сделает их более эффективными. Под давлением, чтобы управлять растущими рабочими нагрузками, и благодаря тому, что их ИТ -проект выдвигается дальше, обычно он приходит в бизнес -герой, чтобы создать временное решение, используя такие инструменты, как Excel, доступ, Google Docs или пропуски официального процесса закупок.

В то время как Shadow он обеспечивает временное локальное облегчение боли для бизнес-подразделения, он не предлагает долгосрочного решения. Очень часто основной успех таких проектов заключается в том, что они приводят к срочной перепроводимости исходного проекта, когда раздувает решение Shadow IT.

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

Когда система падает, бизнес -герой, который обеспечивает проект теневой ИТ, быстро становится злодеем истории. В то же время, они оказались в ловушке в постоянном цикле сборки и фиксирования, поскольку они стараются держать свет включенными. Мы можем ожидать то же самое от приложений, кодированных Vibe.

Одним из коллективных заблуждений, которые окружают разработку программного обеспечения, является то, что кто -то точно знает, что должно делать программное обеспечение; Им просто нужен кто -то, чтобы кодировать это. Как объяснил Фред Брукс в своей газете «Никакой серебряной пули» в 1987 году, «самой сложной частью задачи программного обеспечения является полная и последовательная спецификация, и большая часть сущности построения программы фактически является отладкой спецификации».

Скрытые предприятия риски генерации кода разговорного кода

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

Думайте об этом как о отправной точке для этого мыслительного процесса. Все четыре начинаются с «S», и мы можем произнести коллекцию «SSSS», например, звук метафорической шины неожиданно, спускающейся:

  • Спецификация
  • Масштабирование
  • Программный дизайн
  • Безопасность и соблюдение
  • 1. Спецификация

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

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

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

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

    Почему проблемы спецификации делают Vibe кодировать в масштабе

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

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

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

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

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

    Чтобы масштабировать кодирование атмосфера, гражданские разработчики будут иметь доступ к потокам разговоров и сводке ИИ системы. Ни один из них не даст точного описания того, что делает система.

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

    С кодированием Vibe ни программное обеспечение, ни процессы масштабируются.

    Дизайн программного обеспечения не является приоритетом кодирования.

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

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

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

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

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

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

    Кошмары безопасности и соответствия: когда ИИ пишет ваш код

    Предприятия имеют значительное бремя безопасности и соответствия. Разработчики программного обеспечения, работающие в крупных организациях, узнали, что нужно для обеспечения доступа, защиты данных и удовлетворения требований аудита и соответствия в рамках своей работы. Каждый разработчик, с которым я работал, был знаком, по крайней мере, ISO: 27001 и обычно многими другими стандартами.

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

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

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

    В то же время риск потери данных, нарушений и ущерба для репутации резко возрастает.

    Как защитить свое предприятие от ловушки кодирования Vibe

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

    Дэн Гарфилд, вице -президент по гитопам и открытым исходным кодам в Octopus объясняет это таким образом: «Самая большая проблема с кодированием Vibe на предприятии не имеет ничего общего с качеством моделей или потенциальной неопытностью инженеров. Это то, что атмосфера кодирования экспоненциально увеличивает важность тестирования и снижения доставки программного обеспечения, одновременно увеличивая объем изменений в прошлом прохождении».

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

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

    В доставке программного обеспечения предприятия эти предположения приводят только к будущей боли.

    Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Стив Фентон-Octonaut в Octopus Deploy, руководство по сообществу DORA и шестикратный Microsoft MVP с более чем двух десятилетий опыта в доставке программного обеспечения. Он написал книги о TypeScript (Apress, Infoq), развертывании Octopus и веб -операциях …. Подробнее от Стива Фентона

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *