Генеративное искусственное интеллект новый инструмент в наборе разработчика

Генеративное искусство и искусственный интеллект новые инструменты для разработчиков

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

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

Появление GenAI

GenAI – это новый, мощный инструмент для коллекции разработчика. GenAI, сокращенно от Generative AI, является подмножеством искусственного интеллекта, способным принимать подсказки и автономно создавать множество видов контента – текст, код, изображения, видео, музыку и многое другое – имитируя и часто отражая качество мастерства человека. Подсказки представляют собой инструкции в форме изложения. Лучшие подсказки порождают лучший текст и код. Сейсмическая волна вокруг GenAI, подкрепленная технологиями, такими как ChatGPT и Copilot, делает 2023 год «Годом GenAI». Ожидается, что возможности генерации текста GenAI перевернут каждый аспект опыта и продуктивности разработчика.

Влияние на разработчиков

Недавно кто-то указал: «В 2023 году естественный язык стал самым быстрым языком программирования». В то время как предыдущее поколение инструментов сосредоточено на поэтапном улучшении производительности при написании кода и его качестве, инструменты GenAI обещают революционизировать эти и другие аспекты работы разработчика. ChatGPT может подвести итоги длинного технического задания, сообщить вам разницу между двумя версиями или помочь составить список задачи. В отношении кодирования влияние является драматическим. Поскольку эти модели были обучены на всем интернете, биллионах параметров и триллионах токенов, они видели много кода. Написав хорошую подсказку, вы можете сделать так, чтобы они выполнили большой кусок кода, разработали API и переработали код. И всего в одном предложении вы можете попросить ChatGPT полностью переписать все на новом языке. Все эти возможности еще совсем недавно были просто научной фантастикой. Они позволяют избавиться от скучных задач, сделать трудные задачи проще и реализовать сложные задачи. Разработчики все больше полагаются на ChatGPT, чтобы объяснить новые концепции и разъяснить запутанные идеи. Кажется, что эта тенденция снижает трафик на StackOverflow, популярном сайте вопросов и ответов для разработчиков, на 16% до 50% по разным меркам! Разработчики выбирают победивший инструмент.

Но есть один подводный камень. Впрочем, даже несколько. Инструменты GenAI текущего поколения, хотя и обещающие, не знают ваших целей и задач. Эти инструменты, разработанные на основе обучения на обширном наборе примеров, работают, предсказывая следующий токен, один за другим, опираясь на образцы, с которыми они ранее сталкивались. Их ответы направлены и ограничены указаниями. Чтобы эффективно использовать их потенциал, необходимо составлять подробные инструкции в стиле изложения. Это направляет технологию на создание вывода, который ближе к намеченной цели, хотя и с ограничениями стиля и креативности, обусловленными обучающими данными. Они отлично могут воспроизвести стили, с которыми они знакомы, но у них нет возможности придумывать новые. Несколько компаний и групп заняты обучением моделей для определенных задач, чтобы улучшить генерацию контента. Я рекомендую прислушаться к совету Сатьи Наделлы, главы исполнительного комитета Microsoft, который предлагает рассматривать контент, созданный GenAI, как черновик, требующий тщательного обзора для обеспечения его ясности и точности. Ответственность за разграничение между рутинными задачами и теми, которые требуют креативности, лежит на разработчике – это различение, которое в настоящее время все еще находится вне досягаемости GenAI, по крайней мере пока что.

Несмотря на это, имея убедительные доказательства, GenAI обещает улучшить опыт и продуктивность разработчика. ChatGPT от OpenAI получил 100 миллионов пользователей в рекордно короткий срок. Ваши любимые IDE имеют плагины для его использования. Microsoft обещает использовать GenAI во всех своих продуктах, включая обновленное предложение поиска bing.com. Google ответил своим комплексом услуг и продуктов; Facebook и другие выпустили несколько моделей, чтобы помочь разработчикам прогрессировать.

Сейчас отличное время быть разработчиком. Революция началась вовремя. В Couchbase мы внедрили возможности генеративного искусственного интеллекта в нашу услугу Database as a Service Couchbase Capella, чтобы значительно повысить продуктивность разработчика и ускорить время выхода на рынок современных приложений. Новая возможность, называемая Capella iQ, позволяет разработчикам быстрее писать SQL++ и код на уровне приложения, предоставляя рекомендуемый образец кода.