Sokan hirdették, hogy a ChatGPT képes megírni esszéinket, megfesteni képeinket és válaszolni a keresési lekérdezésekre. De lehet kódolni is?
A ChatGPT körüli felhajtás egyik legnagyobb állítása az, hogy hatékony programozási eszköz lehet. Az ötlet a következő: leírod, amit akarsz, természetes nyelven; a chatbot kódot generál, ami éppen ezt teszi. De valójában mennyire jó ebben a ChatGPT?
Mi jobb módja annak, hogy megtudja, mint egy teszt? Megkértük a ChatGPT-t, hogy készítsen egy egyszerű webalkalmazást a semmiből. Íme a tesztünk eredménye, és azok a lépések, amelyek segítségével a ChatGPT használatával a semmiből készíthet webhelyet.
1. lépés: A tervrajz létrehozása a webalkalmazáshoz
Csakúgy, mint egy webalkalmazás bármilyen eszközzel történő elkészítésekor, meg kell határoznia a tervrajzot, szeretné, hogy az alkalmazás kinézzen, és az elkészítéséhez szükséges lépések, mielőtt a ChatGPT futtassa a előadás.
Első feladatunkhoz megkértük a ChatGPT-t, hogy dolgozzon ki egy tervezetet egy egyszerű csevegőalkalmazáshoz. Ehhez leírtuk a webalkalmazásunk követelményeit, majd megkértük a chatbotot, hogy részletezze az alkalmazás fejlesztési tervét.
A fenti prompt használata után a következő eredményt kaptuk:
Engedélyeznie kell a „Show Me” beépülő modult a ChatGPT-fiókjában, hogy a fentihez hasonló folyamatábrát tudjon létrehozni. tudsz telepítse és használja a ChatGPT bővítményeket csak néhány lépésben, bár prémium előfizetésre lesz szüksége.
A beépülő modul nélkül szöveg alapú tervrajzot vagy ASCII-art folyamatábrát kap. Ez még rendben van. A ChatGPT-nek a beépülő modul nélkül is egyértelmű vázlatot kell adnia az alkalmazásról, mint az alábbi példa.
2. lépés: A tervrajz felosztása kisebb modulokra
Most, hogy megvan a teljes kép, segítséget kértünk a ChatGPT-től, hogy az alkalmazást kisebb komponensekre bontsuk, amelyeket külön fejleszthetünk, majd integrálhatunk a teljes webalkalmazásba. A ChatGPT azt javasolta, hogy három részre bontsa:
- Regisztrációs modul
- Bejelentkezési modul
- Chat modul
Voltak más ötleteink is, de itt az a cél, hogy a ChatGPT előhívja a helyzetet.
1. A regisztrációs komponens felépítése
Rögtön belevágtunk a regisztrációs komponens felépítésébe. Megkértük a ChatGPT-t, hogy dolgozzon ki egy megfelelő algoritmust. Itt avatkoztunk közbe azzal, hogy megadtuk, csak a felhasználó felhasználónevére, e-mail címére és avatarjára van szükségünk a regisztrációhoz. Íme a felszólítás:
És íme az eredmény:
A következő lépésben felkértük a ChatGPT-t a regisztrációs összetevő létrehozására.
Bár a jelszómezőt nem vettük fel a regisztrációs folyamat részeként, a ChatGPT helyesen hívta, mivel belefoglalta azt a generált HTML-kódba. A kódot változtatás nélkül másoltuk ki, és így néz ki böngészőn.
A következő lépésben megkértük a ChatGPT-t, hogy hozza létre a PHP regisztrációs szkriptet. Először a következőt kértük: "Írjon PHP-kódot a szerveroldali logikához az űrlap beküldéséhez." Bár a generált szkript jól működött, sok sebezhetőséget tartalmazott.
Nem volt jelszó-kivonat, hibakezelés, és hajlamos volt az SQL-befecskendezésre – a ChatGPT csak a minimumot tette meg. Ennek javítása viszonylag egyszerű volt. Egyszerűen arra kértük a ChatGPT-t, hogy „azonosítsa be az imént generált kóddal kapcsolatos minden rosszat, majd használja az azonosított pontokat a kód optimalizálásához." Ezzel a PHP regisztrációs szkriptünk készen állt megy.
A felszólítás megfogalmazása számít. Nagyon világosan és konkrétan kell megfogalmaznia, hogy mit kell tennie a ChatGPT-nek. Amikor csak arra kértük, hogy "javítsa meg a problémát ezzel a kóddal", nem oldotta meg a legtöbbet, amit reméltünk, hogy megoldja. Ha további útmutatást szeretne kapni a ChatGPT-értesítések megírásához, itt található néhány hely, ahol megtanulhatja, hogyan kell hatékony felszólításokat írni.
A következő lépésben arra kértük a ChatGPT-t, hogy "Írjon egy SQL kódot a PHP szkriptben rögzített adatok adatbázisának létrehozásához." Íme az eredményül kapott SQL kód:
És itt van az SQL végrehajtásával létrehozott táblázat:
Az adatbázis felállításával megpróbáltuk az első regisztrációt, és hiba nélkül működött.
2. A bejelentkezési komponens felépítése
Mivel a regisztrációs komponens kikerült az útból, átvettük a Bejelentkezés komponenst. Meglepő módon ez volt a legkönnyebb felépíteni a munkamenet-kezelés további logikája ellenére.
Itt van a generált bejelentkezési oldal. Fontos kiemelni, hogy ugyanazokat a színeket használja, mint a regisztrációs oldal.
Miután a ChatGPT utasításai szerint létrehoztunk egy "server.login.php" fájlt, és hozzáadtuk a generált PHP szkriptet, elvégeztük az első sikeres bejelentkezést minden módosítás és hibakeresés nélkül.
3. A Chat komponens felépítése
A csevegési összetevő felépítése volt kis kísérletünk utolsó – és valószínűleg a legnehezebb része. Először egyszerűen megkértük a ChatGPT-t, hogy írja ki a csevegési összetevő kódját. Mondanom sem kell, óriási kudarc volt. Ha bármi bonyolultabb összetevőt szeretne létrehozni, akkor kisebb összetevőkre kell felosztania, és egymás után kell megbirkóznia velük.
Javaslatot kértünk a ChatGPT-től a csevegési összetevő felosztására, és azt javasolta, hogy hozzunk létre három oldalt:
- Chat.php
- Send-messages.php
- Fetch-messages.php
Ha a ChatGPT fájlnevet javasol, akkor egy másik név használata a projektben véletlenül ezt okozhatja problémák, mivel a chatbot ugyanarra a névre hivatkozik az általa létrehozott összes kódban projekt. Rájöttünk a nehezebb úton. Ne kövesd el ugyanazt a hibát.
A Chat.php oldal létrehozása
Kezdésként részletes utasításokat adtunk a ChatGPT-nek a csevegési felület megjelenéséről.
A generált HTML kód futtatása után üzenetbeviteli mező nélküli chat felületet kaptunk. Ennek kijavításához egyszerűen felszólítottuk a ChatGPT-t, hogy "írja át a kódot úgy, hogy benne legyen egy üzenetbeviteli mező és egy küldés gomb."Íme, hogyan néz ki a generált kód a böngészőben a második próbaidőszakban.
Ha az előállított kód nem hozza meg a kívánt eredményt, vagy kihagy egy fontos összetevőt, egyszerűen kérje meg a ChatGPT-t, hogy írja át az utolsó kódot. Mondja meg neki, hogy tartalmazza az összetevőt, vagy tegye meg azt, amit a kezdeti kód nem tett meg. Itt vannak néhány tipp a ChatGPT programozáshoz való használatához.
A "send-messages.php" és a "Fetch-messages" oldal létrehozása
Megelégedve a kezelőfelülettel, megkezdtük a csevegési logika kezelésére szolgáló szkript felépítését. Ahhoz, hogy üzeneteket tudjunk küldeni és lekérni az adatbázisból, a ChatGPT helyesen kiemelte, hogy szükségünk lesz egy "üzenetek" táblára. Megkértük a chatbotot, hogy hozzon létre egy SQL-t az üzenettáblázathoz.
Az SQL-kód generálása után megkértük a chatbotot, hogy hozzon létre egy PHP-szkriptet az üzenetkezelési logika kezelésére.
A ChatGPT létrehozta a szkriptet mind a "send-messages.php", mind a "fetch-messages.php" oldalhoz. Mindkét szkript futtatásakor végre megtörtént az első hiba (ami furcsa módon kielégítő volt). Egyetlen kódsor hibakeresése nélkül eljutni idáig a projektben, viszonylagos egyszerűsége ellenére kissé túl szépnek tűnt, hogy igaz legyen.
Kiderült, hogy a hibát az okozta, hogy a ChatGPT egy nem deklarált munkamenet-változó ellenőrzését vezette be ($_SESSION['user_id']) a forgatókönyvünkbe. Gyanítjuk, hogy ez annak volt az eredménye, hogy meglehetősen hosszú szünetet tartottunk a projektben, ami azt eredményezte, hogy a ChatGPT elfelejtette a projektben használt változók néhány kontextusát és nevét.
Ha a ChatGPT-t használja egy alkalmazás létrehozásához, ügyeljen arra, hogy ugyanazt a csevegési szálat használja, és próbálja meg a lehető leghamarabb befejezni a kapcsolódó összetevőket. Új csevegési szál használata vagy hosszú szünet használata következetlenségeket okozhat. A ChatGPT hajlamos elfelejteni az aktuális projekt néhány részletét (például a színsémát), ha hosszú szünetet tart a kódolási munkamenetek között.
Ennek ellenére kijavítottuk a hibát, és telepítettük a kódot. Regisztráltunk, bejelentkeztünk és kipróbáltuk a chat funkciót. Míg tudtunk üzeneteket küldeni egyik regisztrált felhasználótól a másikhoz, az üzenetbuborékok színe és elrendezése kissé elromlott. Egy óra és 23 perc alatt elkészülő alkalmazás esetében azonban nem ítéljük meg túl szigorúan.
ChatGPT: Kiváló kódolási asszisztens
A ChatGPT egyértelműen hatékony kódolási asszisztens. Az, hogy a chatbot lenyűgöző kódot tud előállítani egyszerű és néha nem túl világos utasításokból, a kódolási képességének bizonyítéka.
Persze még sok hibája van. Komoly problémát jelent a korlátozott kontextusablak és az a képesség, hogy több, egymástól függetlenül felépített komponens logikáját összekapcsolja. A chatbot azonban segíthet meglehetősen összetett webalkalmazások gyors elkészítésében, ha ismeri az utat.