Друг или враг: могут ли программисты доверять ChatGPT?


«Для меня это было похоже на волшебство, — говорит Пьетро Ширано. «Это меня немного напугало, потому что это было так хорошо».

Он говорит о последней версии ChatGPT, инструмента искусственного интеллекта (ИИ). Вы вводите что-то, и это составляет ответ для вас.

Пьетро Ширано попросил ChatGPT создать для него Pong, Asteroids и Breakout
Пьетро Ширано попросил ChatGPT создать для него Pong, Asteroids и Breakout

Удивительно, насколько человечными, дружелюбными и умными кажутся ответы. Под ним находится модель ИИ под названием GPT-4.

  • Все, что вам нужно знать о ChatGPT

Ширано, ведущий дизайнер в финансовой компании Brex, использует ChatGPT для создания компьютерных программ.

«Я хочу создать игру, похожую на понг», — написал он, имея в виду игру Atari в настольный теннис 1970-х годов. «Какой лучший язык [использовать], чтобы многие люди могли попробовать?»

ChatGPT не только рекомендовал язык программирования, работающий в браузере (JavaScript), но и сгенерировал код для простой версии игры.

То, на что у опытного разработчика ушло бы полчаса, заняло у ChatGPT 40 секунд. Это работало одинаково хорошо для классических аркадных игр Breakout и Asteroids.

Понг, в который здесь играют на выставке в Кельне в 2019 году. ChatGPT быстро создал простую версию игры
Понг, в который здесь играют на выставке в Кельне в 2019 году

В Интернете есть множество примеров кода для этих игр, но ChatGPT не ищет в Интернете готовый ответ.

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

«ChatGPT смог понять мой вопрос о том, как мне сделать эту игру более популярной», — говорит Ширано. «У него много контекстуального понимания, которое тот, кто никогда не разрабатывал, не мог получить от Google».

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

«Теперь даже тот, кто понятия не имеет, что делает, может создать простое веб-приложение», — говорит Ширано.

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

Поэтому коллега Ширано Аммаар Реши, менеджер по дизайну в Brex, продвинул ChatGPT дальше. Он попросил его воссоздать старую компьютерную игру, для которой в сети нет примера кода. Это трехмерная игра под названием Skyroads, в которой вы ведете машину по дороге, перепрыгивая препятствия.

ChatGPT узнал об игре со своей страницы в Википедии, и Реши подробно рассказал, как работает игра. «С этим было так много всего, — говорит Реши. «Буквально час настройки этого, настройки этого». Он должен был протестировать игру, рассказать ChatGPT, как изменить поведение игры, и повторить.

Несмотря на это, Реши смог создать онлайн-3D-игру, несмотря на то, что не знал ни одного языка JavaScript, используемого для ее создания, и без доступа ChatGPT к примерам кода для этой игры.

Еще технологии бизнеса:

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

Но даже с повышением производительности некоторые не решаются использовать ИИ для кодирования.

«Риски ChatGPT для разработки программного обеспечения по-прежнему перевешивают преимущества», — говорит Тони Смит, главный технический директор Rightly, организации, которая помогает людям удалять свои данные из баз данных компаний. «Код, генерируемый этими ИИ, часто ошибочен или неэффективен».

Смит попросил ChatGPT создать код для определения количества дней в данном месяце. «Код выглядит великолепно, однако есть проблема с переходом на британское летнее время, поэтому он считает, что в марте 30 дней», — говорит он. «Есть незаметная ошибка, которая будет проявляться раз в год».

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

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

Кевин Бочек говорит, что разработчики должны нести ответственность за код, созданный искусственным интеллектом
Кевин Бочек говорит, что разработчики должны нести ответственность за код, созданный искусственным интеллектом

Кевин Бочек — вице-президент по стратегии безопасности и анализу угроз в Venafi, компании, которая производит программное обеспечение для обеспечения безопасности для аутентификации машин. Он использовал ChatGPT для создания макросов Excel и сценариев PowerShell, которые представляют собой два разных способа дать компьютеру повторяемые инструкции. Хакеры часто используют их для запуска атаки.

«Теперь у меня есть код, который пришел «оттуда», и я собираюсь запустить его, но понятия не имею, что он делает», — говорит он. «Возможность появления большего количества кода, который может быть опасным, увеличилась».

Хотя ИИ можно использовать для создания кода, разработчик всегда будет обязан проверять его в Venafi. «Это то, к чему мы относимся очень серьезно», — говорит он. «Код многократно проверяется людьми. В конечном счете ответственность и подотчетность несут профессиональные разработчики».

Мэтью Хант (второй слева) спрашивает, может ли ChatGPT помешать ему развивать свое мастерство
Мэтью Хант (второй слева) спрашивает, может ли Chat-GPT помешать ему развивать свое мастерство

Herd, маркетинговое и веб-агентство, создает элементы в стиле слайд-шоу на некоторых своих веб-сайтах. «Написание кода JavaScript отдельно для каждого раздела может быть болезненным, поэтому ChatGPT действительно ускоряет этот процесс», — говорит Мэтью Хант, младший веб-разработчик в Herd.

Однако он обеспокоен тем, что ChatGPT также может отнять у него часть приятной работы. «Часть удовольствия от разработки заключается в том, чтобы точно узнать, что делает файл и как все это работает», — говорит он. «Если ChatGPT делает это для нас, мы не растем как разработчики».

Дэн Цирули, вице-президент по технологиям компании по управлению облачными вычислениями D2iQ, придерживается другого мнения. Ранее он работал в Google.

Интерфейсы прикладного программирования (API) Google позволяют разработчикам подключать свое программное обеспечение к службам Google. Было 200 API и семь поддерживаемых языков программирования, включая Python. Чтобы предоставить инструкции для каждого API на каждом языке, Google пришлось бы создать 1400 примеров кода.

«Это то, с чем мы боролись, — говорит он. «Мы просто не могли создавать образцы на каждом языке [программирования]. Но когда я получил доступ к ChatGPT, первое, что я сделал, это попросил его показать мне, как вызывать Google Translate API в Python. Бум — вот оно. «

Будущее разработки программного обеспечения, скорее всего, будет за партнерством между разработчиком и помощником ИИ, что отражено в названии одного популярного инструмента ИИ. GitHub Copilot — это коммерческий инструмент, который автоматически дополняет код по мере работы разработчиков. Автозавершение кода использует более быструю, но менее точную модель, чем ChatGPT.

«Учитывая, что вы набираете код, в идеале каждый раз, когда вы вводите символ, вы получаете новый ответ», — говорит генеральный директор GitHub Томас Домке.

Несмотря на то, что в Copilot были добавлены функции для обнаружения и блокировки небезопасного кода, люди остаются важной защитой. «Как и любой другой инструмент кодирования, вы всегда должны использовать GitHub Copilot вместе с проверкой кода человеком, методами тестирования и инструментами безопасности», — говорит Домке.

Приведет ли генерация кода ИИ к потере рабочих мест? Ширано и Реши оба могут предвидеть, что младшие роли могут быть заменены, если ИИ возьмет на себя повторяющуюся работу по кодированию.

Мануэль Док — фронтенд-разработчик в агентстве пользовательского опыта Illustrate Digital. «Я был настолько поражен ответами ChatGPT на уровне кода, что испугался, что вскоре моя работа окажется под угрозой», — говорит он.

«Однако во время беседы 1-2-1 с нашим главным разработчиком он помог мне понять, что меня наняли не только для написания кода, но и для анализа проблем и предоставления решений, которые ChatGPT не может дать. Это было очень обнадеживающе».


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