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

gettyimages-1246766124.jpg

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

За менее чем пять минут.

Также: Лучшие чатботы на основе ИИ: ChatGPT и другие интересные альтернативы для попробовать

Есть некоторые последствия. Мы к ним перейдем через несколько минут. Сначала позвольте мне рассказать вам о пройденном опыте и о том, что произошло.

Необходимость

line-randomizer-paypal-demo-wordpress-2023-01-31-23-41-28.jpg

Моя жена является владелицей интернет-магазина на базе WordPress, ориентированного на популярное хобби. Она также администрирует очень активную группу в Facebook для клиентов своего сайта. Каждый месяц она рандомизирует список имён и затем использует виртуальное колесо, чтобы произвести анимацию на группе Facebook, используя этот рандомизированный список. Раньше она использовала сайт в интернете, который достаточно хорошо рандомизировал строки, но взимал немного больше, чем он стоил, за экспорт списка.

Также: Могут ли ИИ-детекторы защитить нас от ChatGPT? Я попробовал 3 онлайн-инструмента, чтобы узнать

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

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

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

Подсказка

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

код.jpg

Напишите плагин WordPress, совместимый с PHP 8, который предоставляет поле для ввода текста, в которое можно вставить список строк, а также кнопку, которая при нажатии перемешивает строки в списке и выводит результат во втором поле для ввода текста.

В течение минуты он сгенерировал код, который вы видите справа. Я скопировал сгенерированный код в файл .php, поместил его в папку с тем же именем корня, что и файл .php, сжал его и загрузил на ее сервер. Это сработало.

Также: Согласно Check Point, российские хакеры пытаются взломать ChatGPT.

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

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

Я внес изменения в свое исходное предложение, добавив следующие дополнительные условия:

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

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

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

...без пустых строк...

К настоящему времени я уже привык к времени обработки запросов, которое всегда было меньше минуты. Еще одна загрузка и тестирование, и снова все работало.

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

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

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

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

Качество кода

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

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

Также: Может ли помощник по написанию Notion AI написать эту статью?

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

В дальнейшем тесте я дал указание ИИ очищать ввод, и он сделал это... в какой-то мере. Он очистил ввод внутри функции PHP, но не очистил ввод при вызове PHP внутри HTML. Это, безусловно, оставило бы возможность для хакеров.

Он также поместил пункт меню плагина в раздел «Настройки». Я, вероятно, поставил бы его в раздел «Инструменты» или дал бы функции собственный пункт меню. Поскольку я не указывал, откуда его вызывать, я думаю, что ChatGPT принял разумное решение, разместив пункт меню там, где он находится.

Я добавил ещё одно требование к моей просьбе: запросить у ИИ название плагина:

Создайте совместимый с PHP 8 плагин WordPress под названием "Robo Randomizer", который...

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

При написании такого рода текстов его можно сделать доступным посетителям сайта (называемых "Frontend") или тем, кто входит в панель управления сайта для поддержки его работы (называемых "Backend"). В моем исходном наборе подсказок я не указал "Frontend" или "Backend", но ИИ написал то, что я хотел - интерфейс панели управления для инструмента.

Кроме того: OpenAI нанимает разработчиков, чтобы улучшить ChatGPT в программировании

Но на этот раз он решил написать плагин как средство фронтенда, сделав его выполнение через шорткод. В WordPress вы можете вставить шорткод (что-то вроде [случайные строки]) внутри поста, и он будет выполнять код в плагине. Последняя версия, которую создал ИИ, дала мне такой шорткод, который бы позволил представить возможность случайных строк посетителям сайта.

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

Последствия

Очевидно, это простой плагин. Он примерно такого же размера, как задания, которые я давал своим студентам первого курса программирования, когда преподавал в Университете Калифорнии в Беркли. Он не приближается к сложности значительно больших плагинов с открытым исходным кодом для WordPress, которые я поддерживаю для более чем 50 000 пользователей.

Кроме того: С помощью чат-ботов на искусственном интеллекте мы ищем ответы во всех неправильных местах?

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

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

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

Сократится ли количество работы по программированию для людей? Почти без сомнения. Не хочется видеть, чтобы машина забирала работу у людей (особенно если это работа, которую я сам бы хотел делать). Искусственный интеллект определенно является вариантом для быстрых и простых проектов, будь то письмо или программирование. Зарплаты людей будут безусловно пострадать.

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

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

Кроме того: Демонстрация конкурента у ChatGPT от Google идет не так, как задумывалось

Например, за последний год мне пришлось провести 20-30 встреч с ведущим поставщиком API, чтобы интегрировать их сервис в свой. Большинство этих встреч включали в себя вопросы бизнеса, технические требования и лицензионные политики. Я вызываю любую ИСИ, чтобы она вынесла все эти бюрократические условности, поняла их нюансы и соответствовала требованиям партнера, а затем смогла создать модули кода, с которыми все согласятся.

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

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

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

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