Много хора са обявили, че ChatGPT може да пише нашите есета, да рисува нашите снимки и да отговаря на нашите заявки за търсене. Но може ли и да кодира?

Едно от най-големите твърдения на шума около ChatGPT е, че той може да бъде ефективен инструмент за програмиране. Идеята е следната: описвате това, което искате на естествен език; чатботът генерира код, който прави точно това. Но колко добър всъщност е ChatGPT в това?

Какъв по-добър начин да разберете от това да го подложите на тест? Помолихме ChatGPT да създаде просто уеб приложение от нулата. Ето резултата от нашия тест и стъпките, които можете да използвате, за да създадете уебсайт от нулата с помощта на ChatGPT.

Стъпка 1: Генериране на план за вашето уеб приложение

Точно както бихте направили, когато създавате уеб приложение с който и да е инструмент, ще трябва да очертаете плана на това, което искате вашето приложение да изглежда така и стъпките, от които ще се нуждаете, за да го създадете, преди да оставите ChatGPT да стартира шоу.

За нашата първа задача помолихме ChatGPT да разработи план за просто приложение за чат. За да направим това, описахме изискванията за нашето уеб приложение и след това помолихме чатбота да разработи детайлен план за разработване на приложението.

instagram viewer

След като използвахме подканата по-горе, ето резултатът, който получихме:

Трябва да имате активиран плъгинът „Покажи ми“ във вашия акаунт в ChatGPT, за да генерирате блок-схема като нашата по-горе. Можеш инсталирайте и използвайте плъгини ChatGPT само с няколко стъпки, въпреки че ще ви трябва премиум абонамент.

Без плъгина ще получите текстово базиран план или ASCII-арт блок-схема. Това все още е наред. Дори и без приставката, ChatGPT все още трябва да предоставя ясен план на приложението, като примера по-долу.

Стъпка 2: Разделяне на чертежа на по-малки модули

Сега, след като изложихме голямата картина, помолихме ChatGPT за помощ при разделянето на приложението на по-малки компоненти, които можем да разработим отделно и след това да интегрираме, за да формираме пълното уеб приложение. ChatGPT предложи разделянето му на три компонента:

  1. Модул за регистрация
  2. Модул за вход
  3. Модул за чат

Имахме други идеи, но целта тук е да позволим на ChatGPT да управлява.

1. Изграждане на компонента за регистрация

Скочихме направо в изграждането на компонента за регистрация. Помолихме ChatGPT да изготви подходящ алгоритъм. Тук се намесихме, като уточнихме, че са ни необходими само потребителското име, имейл и аватар на потребителя за регистрация. Ето подканата:

И ето резултата:

След това подканихме ChatGPT да изгради компонента за регистрация.

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

След това подканихме ChatGPT да генерира PHP скрипта за регистрация. Първоначално подканихме с „Напишете PHP код за логиката от страна на сървъра за обработка на подаването на формуляр“. Въпреки че генерираният скрипт работи добре, той имаше много уязвимости.

Нямаше хеширане на пароли, нямаше обработка на грешки и беше предразположен към SQL инжектиране - ChatGPT направи само нужния минимум. Коригирането на това беше сравнително лесно. Просто помолихме ChatGPT да „идентифицира всичко нередно с кода, който току-що генерирахте, и след това използвайте идентифицираните точки, за да оптимизирате кода." С това нашият PHP скрипт за регистрация беше готов за отивам.

Формулировката на вашата подкана има значение. Трябва да сте много ясни и конкретни с това, което трябва да правите с ChatGPT. Когато просто го помолихме да „поправи проблема с този код“, той не поправи повечето от това, което се надявахме да поправи. За повече насоки относно писането на подкани за ChatGPT, ето ги някои места, за да научите как да пишете ефективни указания.

След това помолихме ChatGPT да "Напишете SQL код, за да създадете база данни за данните, записани в PHP скрипта." Ето получения SQL код:

И ето таблицата, създадена чрез изпълнение на SQL:

С настроената база данни, опитахме първата си регистрация и тя работи без никакви грешки.

2. Изграждане на компонента за влизане

След като компонентът за регистрация беше премахнат, ние поехме компонента за влизане. Изненадващо беше най-лесният за изграждане въпреки допълнителната логика на управление на сесията.

Ето генерираната страница за вход. Основен акцент е, че използва същите цветови опции като страницата за регистрация.

След като създадохме файл "server.login.php" според инструкциите на ChatGPT и добавихме генерирания PHP скрипт, направихме първото си успешно влизане без никакви модификации или отстраняване на грешки.

3. Изграждане на компонента за чат

Изграждането на компонента за чат беше последната — и вероятно най-трудната част — от нашия малък експеримент. Първоначално просто помолихме ChatGPT да напише кода за компонента за чат. Излишно е да казвам, че това беше колосален провал. За по-сложни компоненти на всичко, което искате да създадете, ще трябва да го разделите на по-малки компоненти и да се заемете с тях един след друг.

Помолихме ChatGPT за предложения относно разделянето на компонента за чат и той предложи да създадем три страници:

  1. Chat.php
  2. Send-messages.php
  3. Fetch-messages.php

Когато ChatGPT предложи име на файл, използването на различно име във вашия проект може неволно да причини проблеми, тъй като чатботът ще препраща към едно и също име във целия код, който създава навсякъде проект. Разбрахме по трудния начин. Не правете същата грешка.

Създаване на страницата Chat.php

Като начало дадохме на ChatGPT подробни инструкции как искаме да изглежда интерфейсът за чат.

След като стартирахме генерирания HTML код, имахме интерфейс за чат без поле за въвеждане на съобщения. За да коригираме това, ние просто подканихме ChatGPT да "пренапишете кода, за да включите поле за въвеждане на съобщение и бутон за изпращане." Ето как изглежда генерираният код в браузър при втория опит.

Всеки път, когато генерираният код не успее да даде желаните резултати или пропусне важен компонент, просто подканете ChatGPT да пренапише последния код. Кажете му да включи компонента или да направи това, което не е направено в първоначалния код. Тук са някои съвети как да използвате ChatGPT за програмиране.

Създаване на страницата "send-messages.php" и "Fetch-messages".

Доволни от интерфейса, ние продължихме да създаваме скрипта, за да се справим с логиката на чата. За да можем да изпращаме и извличаме съобщения от базата данни, ChatGPT правилно подчерта, че ще ни трябва таблица „съобщения“. Помолихме чатбота да създаде SQL за таблицата със съобщения.

След като генерирахме SQL код, помолихме чатбота да генерира PHP скрипт, който да обработва логиката на съобщенията.

ChatGPT генерира скрипта както за страниците „send-messages.php“, така и за „fetch-messages.php“. При изпълнение на двата скрипта най-накрая получихме първата си грешка (което беше странно задоволително). Да навлезете толкова далеч в проекта, без да отстраните нито един ред код, изглеждаше твърде хубаво, за да е истина, въпреки относителната му простота.

Оказва се, че грешката е причинена от ChatGPT, въвеждащ проверка за недекларирана сесийна променлива ($_SESSION['user_id']) в нашия скрипт. Подозираме, че това е резултат от доста дълга почивка от проекта, в резултат на което ChatGPT забравя някои от контекстите и имената на променливите, използвани в проекта.

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

Въпреки това поправихме грешката и внедрихме кода. Регистрирахме се, влязохме и изпробвахме функцията за чат. Въпреки че успяхме да изпращаме съобщения от един регистриран потребител на друг, цветът и подредбата на балончетата за съобщения бяха малко по-различни. Въпреки това, за приложение, чието изпълнение отне час и 23 минути, няма да го съдим твърде строго.

ChatGPT: Отличен асистент за кодиране

ChatGPT очевидно е мощен помощник за кодиране. Това, че чатботът може да изведе впечатляващ код от прости и понякога не толкова ясни инструкции, е доказателство за неговото майсторство в кодирането.

Разбира се, все още има много недостатъци. Проблемът с прозореца с ограничен контекст и способността му да свързва логиката от множество независимо изградени компоненти е основен проблем. Чатботът обаче може да ви помогне бързо да създадете доста сложни уеб приложения, ако се ориентирате.