Как использовать ChatGPT для написания кода

изображение1.pngОдно из самых интригующих открытий, связанных с ChatGPT , заключается в том, что с его помощью можно писать довольно хороший код. Я проверил это в феврале, когда попросил написать плагин WordPress, который моя жена могла бы использовать на своем веб-сайте. Это была прекрасная работа, но это был очень простой проект.

Как использовать ChatGPT для написания: Резюме| Формулы Excel | Эссе | Сопроводительные письма

Как вы можете использовать ChatGPT для написания кода в рамках своей повседневной практики кодирования? Это то, что мы собираемся исследовать здесь.

С какими типами кодирования ChatGPT справляется хорошо?

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

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

ChatGPT ответил потоком текста и кода. Затем он остановился в середине кода. Когда я попросил его продолжить, он выдал еще больше кода и текста. Я просил продолжить после продолжения, и он выдавал все больше и больше кода. Но... ничего из этого нельзя было использовать . Он не определял, куда должен идти код, как построить проект, и, когда я внимательно посмотрел на созданный код, он не учел основные операции, которые я запросил, оставив простые текстовые описания, гласящие: «Здесь находится программная логика. "

После кучи повторных тестов мне стало ясно, что если вы попросите ChatGPT доставить готовое приложение, оно провалится. Следствием этого наблюдения является то, что если вы ничего не знаете о кодировании и хотите, чтобы ChatGPT что-то построил для вас, он потерпит неудачу.

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

Также: Как использовать ChatGPT для создания приложения

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

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

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

Как ChatGPT может помочь вам в написании кода

1. Сузьте и обоснуйте свой запрос

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

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

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

2. Используйте ChatGPT для изучения библиотек и ресурсов

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

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

OpenAI (создатель ChatGPT) продает API-доступ к механизмам GPT-3 и GPT-4 , которые будут делать именно то, что мы хотим. Но в случае этого примера предположим, что мы не хотим платить комиссию за транзакцию.

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

Я начал с подсказки, которая была разработана для получения информации о том, какие библиотеки будут предоставлять нужные мне функции. Библиотека (для тех из вас, кто не является программистом) — это тело кода, к которому может получить доступ программист, который выполняет большую часть тяжелой работы для определенной цели. Большая часть современного программирования — поиск и выбор правильных библиотек. Так что это хорошая отправная точка.

В данном случае я смотрю на блоки кода, написанные другими людьми, которые будут обобщать текст. Вот моя первая подсказка:

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

Это дало мне именно то, что я хотел, включая упоминание о предложениях OpenAI. Я думаю, что OpenAI отлично справится с этой задачей, но для этого гипотетического проекта я не хочу планировать расходы на API. Так что сужу вопрос.

Есть ли среди них бесплатные?

ChatGPT подстраховал свои ставки своим ответом. Вот что он сказал: «Да, все десять из этих библиотек ИИ имеют открытый исходный код и бесплатны для использования. Однако некоторые из них могут иметь ограничения на использование или требовать оплаты за доступ к дополнительным функциям или ресурсам». Итак, исходя из этого, я уточнил свой запрос.

Какие из этих библиотек не имеют ограничений на использование и не требуют дополнительной оплаты или лицензирования?

Обратите внимание, насколько это разговор. Мне не нужно повторно задавать исходный вопрос. Я просто углубляюсь в детали так же, как если бы у меня был под рукой эксперт, и я искал разъяснений. В этом случае ChatGPT предоставил мне восемь вариантов библиотек, но ни один из них не упомянул язык PHP, на котором я планировал писать код. Итак, вот следующее приглашение:

Могу ли я использовать любую из этих 8 библиотек с PHP?

Он вернул три библиотеки, но я не был уверен, что делает каждая из них. Итак, еще вопрос:

В чем разница между Сумами, Генсимом и НЛТК?

Я все еще не был уверен, поэтому уточнил свой план использования, а затем спросил:

Если я хочу создать резюме новостных статей веб-страницы, какая библиотека подойдет лучше?

Ответ, который я получил, был четким и многообещающим: «Сумы специально разработаны для реферирования текста, то есть задачи создания реферата, который фиксирует наиболее важную информацию из фрагмента текста». Итак, теперь пришло время посмотреть, что связано с его использованием с PHP. Я задал свой последний вопрос для этой части проекта:

Можете ли вы объяснить, как использовать Sumy из PHP?

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

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

Кстати, мне было любопытно, может ли Бард от Google помочь таким же образом. Бард на самом деле не может писать код, но он дал некоторые дополнительные сведения об аспекте планирования программирования по сравнению с ответами ChatGPT. Так что не стесняйтесь использовать несколько инструментов для триангуляции ответов, которые вы хотите. Вот эта история: Bard против ChatGPT: может ли Bard помочь вам с программированием? С тех пор, как я написал эту статью, Google добавил в Bard некоторые возможности кодирования, но они не так уж хороши. Вы можете прочитать об этом здесь: я протестировал новые навыки кодирования Google Bard. Это не пошло хорошо.

Кодирование будет следующим.

3. Попросите ChatGPT написать пример кода

Хорошо, давайте сделаем здесь паузу. Эта статья называется «Как использовать ChatGPT для написания кода». И это будет! Но на самом деле мы просим ChatGPT написать пример кода. Ждать. Что?

Также: Что такое GPT-4? Вот все, что вам нужно знать

Давайте будем ясны. Если вы не пишете очень маленькую функцию (например, сортировщик строк/рандомизатор, написанный ChatGPT для моей жены), ChatGPT не сможет написать ваш окончательный код. Во-первых, вам придется поддерживать его. ChatGPT ужасно модифицирует уже написанный код. Ужасно, как в, он не делает это. Итак, чтобы получить новый код, вы должны попросить ChatGPT сгенерировать что-то новое. Как я обнаружил ранее, даже если ваше приглашение практически идентично, ChatGPT может изменить то, что он вам дает, очень неожиданным образом.

Итак, итог: ChatGPT не может поддерживать ваш код или даже настраивать его.

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

Также: я попросил ChatGPT написать короткий эпизод Star Trek. На самом деле это удалось

Но это не значит, что пример кода бесполезен. Отнюдь не. Давайте взглянем на подсказку, которую я написал на основе описанного ранее проекта. Вот первая часть:

Напишите функцию PHP с именем summ_article.

В качестве входных данных в summary_article будет передан URL-адрес статьи на новостном сайте, таком как ZDNET.com или Reuters.com.

Я говорю ChatGPT язык программирования, который он должен использовать. Я также сообщаю ему входные данные, но при этом предоставляю два сайта в качестве примеров, чтобы помочь ChatGPT понять стиль статьи. Честно говоря, я не уверен, что ChatGPT не проигнорировал это указание. Далее расскажу как сделать основную часть работы:

Внутри summ_article извлеките содержимое веб-страницы по указанному URL-адресу. Используя библиотеку Sumy из PHP и любые другие необходимые библиотеки, извлеките основную часть статьи, игнорируя рекламу или встроенные материалы, и обобщите ее примерно до 50 слов. Убедитесь, что резюме состоит из полных предложений. Вы можете превысить 50 слов, чтобы закончить последнее предложение, если это необходимо.

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

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

Когда обработка завершена, используйте кодsumm_article, чтобы он возвращал сводку в виде простого текста.

Полученный код довольно прост. ChatGPT обращался к другой библиотеке (Goose) для получения содержимого статьи. Затем он передал это Сумми с ограничением в 50 слов, а затем вернул результат. Вот и все. Но как только основы написаны, остается только программировать, чтобы вернуться и добавить настройки, настроить то, что передается в две библиотеки, и предоставить результаты.изображение2.png

Одно интересное замечание. ChatGPT создал пример вызова написанной им подпрограммы, используя URL-адрес после 2021 года (когда заканчивается набор данных ChatGPT).

Я проверил этот URL как на сайте Reuters, так и на Wayback Machine, и он не существует. ChatGPT только что придумал.

Часто задаваемые вопросы

Заменяет ли ChatGPT программистов?

Не сейчас — или, по крайней мере, — пока. ChatGPT программирует на уровне талантливого первокурсника-программиста, но ленивый (как тот первокурсник). Это может уменьшить потребность в программистах очень начального уровня, но на нынешнем уровне, я думаю, это просто облегчит жизнь программистам начального уровня (и даже программистам с большим опытом) в написании кода и поиске информации. Это определенно экономит время, но есть несколько программных проектов, которые он может сделать сам по себе — по крайней мере, сейчас. В 2030 году? Кто знает.

Как получить ответы по кодированию в ChatGPT?

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

Если я использую ChatGPT для написания своего кода, кому он принадлежит?

Как оказалось, судебной практики еще не так много, чтобы дать окончательный ответ на этот вопрос. США, Канада и Великобритания требуют, чтобы что-то, защищенное авторским правом, было создано руками человека, поэтому код, сгенерированный инструментом ИИ, может быть не защищен авторским правом. Существуют также вопросы ответственности в зависимости от того, откуда взялся обучающий код и как используется полученный код. ZDNET подробно изучил эту тему, пообщался с экспертами в области права и опубликовал следующие три статьи. Если вас беспокоит эта проблема (и если вы используете ИИ для помощи с кодом, вы должны быть обеспокоены), я рекомендую вам прочитать их.

  • Кому принадлежит код? Если ИИ ChatGPT помогает писать ваше приложение, оно по-прежнему принадлежит вам?
  • Если вы используете сгенерированный ИИ код, какова ваша ответственность?
  • Сложный вопрос: кому принадлежат код, изображения и нарративы, созданные ИИ?

Какие языки программирования знает ChatGPT?

Большинство из них. Я очень отвлекся, пытаясь это сделать. Я тестировал распространенные современные языки, такие как PHP, Python, Java, Kotlin, Swift, C# и другие. Но затем я заставил его писать код на малоизвестных языках средневековья, таких как COBOL, Fortran, Forth, LISP, ALGOL, RPG (генератор программ отчетов, а не ролевая игра) и даже на языке ассемблера IBM/360.

В качестве вишенки на торте я дал ему такую подсказку:

Напишите последовательность, которая отображает «Hello, world» в ASCII мигающими индикаторами на передней панели PDP 8/e.

PDP 8/e был моим самым первым компьютером, и ChatGPT фактически дал мне инструкции для переключения в программе с помощью переключателей на передней панели. Я был впечатлен, радовался и немного боялся.

В чем суть? ChatGPT может быть очень полезным инструментом. Только не приписывайте ему сверхспособности. Еще.

Связанные статьи

Показать больше >>

Раскройте возможности искусственного интеллекта с помощью HIX.AI!