Cum să utilizați ChatGPT pentru a scrie cod

imagine1.pngUna dintre cele mai interesante descoperiri despre ChatGPT este că poate scrie cod destul de bun. Am testat acest lucru în februarie, când i-am cerut să scrie un plugin WordPress pe care soția mea l-ar putea folosi pe site-ul ei. A făcut o treabă bună, dar a fost un proiect foarte simplu.

Cum să utilizați ChatGPT pentru a scrie: CV-uri| Formule Excel | Eseuri | Scrisori de intentie

Cum poți folosi ChatGPT pentru a scrie cod ca parte a practicii zilnice de codare? Asta vom explora aici.

Ce tipuri de codare poate face bine ChatGPT?

Există două fapte importante despre ChatGPT și codificare. Primul este că poate, de fapt, să scrie cod util. Al doilea este că se poate pierde complet, poate cădea în gaura iepurelui, își urmărește propria coadă și poate produce gunoi absolut inutilizabil.

Am aflat asta pe calea grea. După ce am terminat pluginul WordPress, am decis să văd cât de departe poate merge ChatGPT. Am scris o solicitare foarte atentă pentru o aplicație Mac, inclusiv descrieri detaliate ale elementelor interfeței cu utilizatorul, interacțiuni, ce ar fi furnizat în setări, cum ar funcționa acestea și așa mai departe. Apoi l-am dat în ChatGPT.

ChatGPT a răspuns cu un val de text și cod. Apoi s-a oprit la mijlocul codului. Când i-am cerut să continue, a vărsat și mai mult cod și text. Am cerut să continue după continuare și a eliminat din ce în ce mai mult cod. Dar... nimic nu a fost utilizabil . Nu a identificat unde ar trebui să meargă codul, cum să construiesc proiectul și -- când m-am uitat cu atenție la codul produs -- a omis operațiunile majore pe care le-am solicitat, lăsând în descrieri simple text care să menționeze „logica programului merge aici. "

După o grămadă de teste repetate, mi-a devenit clar că dacă îi ceri lui ChatGPT să livreze o aplicație completă, aceasta va eșua. Un corolar al acestei observații este că, dacă nu știi nimic despre codificare și vrei ca ChatGPT să-ți creeze ceva, va eșua.

Acolo unde ChatGPT reușește -- și face acest lucru foarte bine -- este să ajute pe cineva care deja știe cum să codifice să construiască anumite rutine și să realizeze anumite sarcini. Nu cereți o aplicație care rulează în bara de meniu. Dar dacă ceri ChatGPT pentru o rutină pentru a pune un meniu în bara de meniu și apoi inserați-l în proiectul dvs., va merge destul de bine.

De asemenea: Cum să utilizați ChatGPT pentru a crea o aplicație

De asemenea, rețineți că, în timp ce ChatGPT pare să aibă o cantitate enormă de cunoștințe specifice domeniului (și adesea are), îi lipsește înțelepciunea . Ca atare, poate fi capabil să scrie cod, dar nu va putea scrie cod care să conțină nuanțe pentru probleme foarte specifice sau complexe care necesită o experiență profundă pentru a înțelege.

Utilizați ChatGPT pentru a demonstra tehnici, pentru a scrie algoritmi mici și pentru a produce subrutine. Puteți chiar să obțineți ChatGPT pentru a vă ajuta să descompuneți un proiect mai mare în bucăți și apoi îi puteți cere să vă ajute să codificați acele bucăți.

Deci, având în vedere acest lucru, să ne uităm la câțiva pași specifici pentru cum să folosiți ChatGPT pentru a scrie cod.

Cum vă poate ajuta ChatGPT să scrieți cod

1. Restrângeți și acutizați cererea dvs

Acest prim pas este să decideți ce veți cere de la ChatGPT -- dar încă să nu-i întrebați nimic. Decideți ce doriți să facă funcția sau rutina dvs. sau despre ce doriți să învățați să includeți în cod. Decideți parametrii pe care îi veți trece în cod și ce doriți să obțineți. Și apoi uită-te la cum o vei descrie.

Imaginează-ți că plătești un programator uman pentru a face asta. Îi oferi acelei persoane suficiente informații pentru a putea lucra la misiunea ta? Sau ești prea vag și persoana pe care o plătești este mai probabil să pună întrebări sau să predea ceva complet fără legătură cu ceea ce îți dorești?

Iată un exemplu. Să presupunem că vreau să pot rezuma orice pagină web. Vreau să-l hrănesc cu ceva ca acest articol și să primesc un scurt rezumat care este bine gândit și adecvat. Ca intrare, voi specifica o adresă URL a unei pagini web. Ca rezultat, este un bloc de text cu un rezumat.

2. Utilizați ChatGPT pentru a explora biblioteci și resurse

Continuând cu exemplul de mai sus, o modalitate foarte veche de a extrage datele paginilor web a fost găsirea textului între etichetele de paragraf HTML.

Dar, odată cu creșterea instrumentelor AI, este mai logic să folosiți o bibliotecă AI pentru a face o extragere și un rezumat inteligent. Unul dintre locurile în care ChatGPT excelează (și este, de asemenea, un domeniu pe care îl puteți verifica cu ușurință pentru a evita modelul său de comportament autoritar, dar greșit) este găsirea de biblioteci și resurse.

OpenAI (producătorul ChatGPT) vinde acces API la motoarele GPT-3 și GPT-4 care vor face exact ceea ce ne dorim. Dar în cazul acestui exemplu, să presupunem că nu dorim să plătim comisioane de tranzacție.

Deci, să ne uităm la interacțiunea cu ChatGPT pentru a ne da seama cum să folosiți un astfel de instrument, gratuit, cu un proiect care rulează în PHP.

Am început cu un prompt care a fost conceput pentru a obține informații despre ce biblioteci ar oferi funcționalitatea pe care mi-am dorit-o. O bibliotecă (pentru cei dintre voi care citiți și care nu sunt programatori) este un corp de cod pe care un programator îl poate accesa și care face o mare parte din sarcinile grele pentru un anumit scop. O mare parte a programării moderne este găsirea și alegerea bibliotecilor potrivite. Deci acesta este un bun punct de plecare.

În acest caz, mă uit la blocuri de cod scrise de alte persoane care vor rezuma textul. Iată primul meu prompt:

Descrieți zece biblioteci open source AI diferite (și limbile cu care lucrează) pe care le pot folosi pentru a genera un rezumat al conținutului principal de bază al oricărei pagini web, ignorând orice reclame sau materiale încorporate.

Acest lucru mi-a oferit exact ceea ce îmi doream, inclusiv o mențiune despre ofertele OpenAI. Cred că OpenAI s-ar descurca grozav aici, dar pentru acest proiect ipotetic, nu vreau să fac buget pentru taxele API. Așa că voi restrânge întrebarea.

Sunt unele dintre acestea gratuite?

ChatGPT și-a acoperit pariurile cu răspunsul său. Iată ce spunea: „Da, toate cele zece biblioteci AI sunt open source și sunt gratuite. Cu toate acestea, unele dintre ele pot avea limite de utilizare sau necesită plată pentru accesul la funcții sau resurse suplimentare”. Deci, pe baza asta, mi-am clarificat întrebarea.

Care dintre aceste biblioteci nu au limite de utilizare și nu necesită nicio plată suplimentară sau licență?

Observați că aceasta este foarte mult o conversație. Nu trebuie să pun din nou întrebarea inițială. Doar analizez în același mod în care aș face dacă aș avea un expert la îndemână și aș căuta clarificări. În acest caz, ChatGPT mi-a oferit opt opțiuni de bibliotecă, dar niciuna dintre ele nu a menționat limbajul PHP în care plănuiam să codific. Deci, iată următorul prompt:

Din cele 8 biblioteci, pot folosi oricare cu PHP?

A returnat trei biblioteci, dar nu eram sigur ce a făcut fiecare. Deci o alta intrebare:

Care este diferența dintre Sumy, Gensim și NLTK?

Încă nu eram sigur, așa că mi-am clarificat planul de utilizare și apoi am întrebat:

Dacă vreau să creez rezumate ale articolelor de știri din paginile web, care bibliotecă ar funcționa mai bine?

Răspunsul pe care l-am primit a fost clar și promițător: „Sumy este conceput special pentru rezumarea textului, care este sarcina de a crea un rezumat care surprinde cele mai importante informații dintr-o bucată de text”. Deci, acum era timpul să vedem ce a fost implicat în utilizarea lui cu PHP. Am pus ultima mea întrebare pentru această parte a proiectului:

Puteți explica cum să utilizați Sumy din PHP?

Simțiți-vă liber să jucați pe computer și să inserați aceste solicitări în instanța dvs. de ChatGPT. Observați că, la pasul 1, am decis pentru ce modul de program voi primi ajutor. Apoi, în acest pas, am avut o conversație cu ChatGPT pentru a decide ce bibliotecă să folosesc și cum să o integrez în proiectul meu.

Poate că nu pare o programare, dar vă asigur că este. Programarea nu înseamnă doar aruncarea liniilor de cod pe o pagină. Programarea înseamnă să descoperi cum să integrezi toate diversele resurse și sisteme împreună și cum să vorbești cu toate diferitele componente ale soluției tale. Aici, ChatGPT m-a ajutat să fac acea analiză de integrare.

Apropo, eram curios dacă Bard de la Google ar putea ajuta în același mod. Bard nu poate scrie cod de fapt, dar a oferit câteva informații suplimentare asupra aspectului de planificare al programării peste răspunsurile ChatGPT. Așa că nu ezitați să utilizați mai multe instrumente pentru a triangula răspunsurile dorite. Iată povestea: Bard vs. ChatGPT: vă poate ajuta Bard să codificați? De când am scris acel articol, Google a adăugat câteva capacități de codare la Bard, dar nu sunt chiar atât de grozave. Puteți citi despre asta aici: Am testat noile abilități de codare ale Google Bard. Nu a mers bine.

Urmează codarea.

3. Cereți ChatGPT să scrie cod exemplu

Bine, hai să facem o pauză aici. Acest articol este intitulat „Cum se utilizează ChatGPT pentru a scrie cod”. Și va fi! Dar chiar cerem ChatGPT să scrie cod exemplu . Aștepta. Ce?

De asemenea: Ce este GPT-4? Iată tot ce trebuie să știi

Să fim clari. Cu excepția cazului în care scrieți o funcție foarte mică (cum ar fi sortarea/randomizatorul de linii scrise de ChatGPT pentru soția mea), ChatGPT nu va putea scrie codul final. În primul rând, va trebui să-l întrețineți. ChatGPT este groaznic la modificarea codului deja scris. Îngrozitor, ca în, nu o face. Deci, pentru a obține un cod nou, trebuie să ceri ChatGPT să genereze ceva nou. După cum am descoperit anterior, chiar dacă solicitarea dvs. este practic identică, ChatGPT poate schimba ceea ce vă oferă în moduri foarte neașteptate.

Deci, concluzia: ChatGPT nu vă poate menține codul și nici măcar nu-l poate modifica.

Asta înseamnă că trebuie să o faci singur. După cum știm, prima schiță a unei bucăți de cod este rareori codul final. Deci, chiar dacă v-ați aștepta ca ChatGPT să genereze codul final, ar fi într-adevăr un punct de plecare, unul în care trebuie să-l duceți până la capăt, să îl integrați în proiectul dvs. mai mare, să îl testați, să-l rafinați, să-l depanați și așa mai departe. .

De asemenea: am cerut ChatGPT să scrie un episod scurt Star Trek. Chiar a reușit

Dar asta nu înseamnă că exemplul de cod este lipsit de valoare. Departe de. Să aruncăm o privire la un prompt pe care l-am scris pe baza proiectului pe care l-am descris mai devreme. Iată prima parte:

Utilizați o funcție PHP numită summarize_article.

Ca intrare, summarize_article va primi o adresă URL către un articol de pe un site de știri precum ZDNET.com sau Reuters.com.

Îi spun lui ChatGPT limbajul de programare pe care ar trebui să-l folosească. Îi spun și intrarea, dar, în timp ce fac acest lucru, ofer două site-uri ca exemple pentru a ajuta ChatGPT să înțeleagă stilul articolului. Sincer, nu sunt sigur că ChatGPT nu a ignorat acel punct de îndrumare. În continuare, îi voi spune cum să facă cea mai mare parte a muncii:

În interiorul summarize_article, preluați conținutul paginii web la adresa URL furnizată. Folosind biblioteca Sumy din PHP și orice alte biblioteci necesare, extrageți corpul principal al articolului, ignorând orice reclame sau materiale încorporate și rezumați-l la aproximativ 50 de cuvinte. Asigurați-vă că rezumatul constă din propoziții complete. Puteți trece peste cele 50 de cuvinte pentru a termina ultima propoziție, dacă este necesar.

Acest lucru este foarte asemănător cu modul în care aș instrui un angajat. Aș vrea ca acea persoană să știe că nu se limitează doar la Sumy. Dacă aveau nevoie de un alt instrument, am vrut să-l folosească.

Am specificat, de asemenea, un număr aproximativ de cuvinte pentru a crea limite pentru ceea ce mi-am dorit ca rezumat. O versiune ulterioară a rutinei ar putea lua acel număr ca parametru. Am incheiat apoi spunand ce am vrut ca rezultat:

Odată ce procesarea este completă, codificați summarize_article, astfel încât să returneze rezumatul în text simplu.

Codul rezultat este destul de simplu. ChatGPT a apelat la o altă bibliotecă (Goose) pentru a prelua conținutul articolului. Apoi l-a transmis lui Summy cu o limită de 50 de cuvinte și apoi a returnat rezultatul. Asta este. Dar odată ce elementele de bază sunt scrise, este o simplă chestiune de programare să reveniți și să adăugați ajustări, să personalizați ceea ce este transmis celor două biblioteci și să furnizați rezultatele.imagine2.png

Un punct interesant de remarcat. ChatGPT a creat un exemplu de apel la rutina pe care a scris-o, folosind o adresă URL de după 2021 (când se termină setul de date ChatGPT).

Am verificat acea adresă URL atât pe site-ul Reuters, cât și pe Wayback Machine și nu există. ChatGPT tocmai a inventat.

Întrebări frecvente

ChatGPT înlocuiește programatorii?

Nu acum -- sau, cel puțin -- nu încă. Programe ChatGPT la nivelul unui student talentat de programare din anul I, dar e leneș (ca acel student din primul an). S-ar putea să reducă nevoia de programatori foarte entry-level, dar la nivelul actual, cred că le va ușura viața programatorilor entry-level (și chiar programatorilor cu mai multă experiență) să scrie cod și să caute informații. Cu siguranță economisește timp, dar există puține proiecte de programare pe care le poate face singur -- cel puțin acum. În 2030? Cine ştie.

Cum obțin răspunsuri de codificare în ChatGPT?

Întrebați-o. Ați văzut mai sus cum am folosit un dialog interactiv de discuții pentru a restrânge răspunsurile pe care le doream. Când lucrați cu ChatGPT, nu vă așteptați ca o singură întrebare să vă facă totul în locul dvs. Dar folosiți ChatGPT ca ajutor și resursă și vă va oferi o mulțime de informații foarte utile. Desigur, testați aceste informații -- pentru că, așa cum spune John Schulman, un cofondator al OpenAI, „cea mai mare preocupare a noastră a fost în jurul faptului, deoarece modelului îi place să fabrice lucruri”.

Dacă folosesc ChatGPT pentru a-mi scrie codul, cui îl deține?

După cum se dovedește, încă nu există multă jurisprudență care să răspundă definitiv la această întrebare. SUA, Canada și Regatul Unit necesită ca ceva care este protejat prin drepturi de autor să fi fost creat de mâini umane, astfel încât codul generat de un instrument AI poate să nu fie protejat prin drepturi de autor. Există, de asemenea, probleme de răspundere bazate pe locul de unde provine codul de instruire și modul în care este utilizat codul rezultat. ZDNET a făcut o cercetare profundă pe acest subiect, a vorbit cu experți în drept și a produs următoarele trei articole. Dacă sunteți îngrijorat de această problemă (și dacă utilizați AI pentru a ajuta cu codul, ar trebui să fie), vă recomand să le citiți.

  • Cine deține codul? Dacă AI-ul ChatGPT vă ajută să scrieți aplicația, vă aparține în continuare?
  • Dacă utilizați cod generat de AI, care este expunerea dvs. de răspundere?
  • O întrebare spinoasă: cui deține codul, imaginile și narațiunile generate de AI?

Ce limbaje de programare cunoaște ChatGPT?

Cei mai mulți dintre ei. Am fost foarte deturnat încercând asta. Am testat limbaje moderne comune, precum PHP, Python, Java, Kotlin, Swift, C# și multe altele. Dar apoi l-am pus să scrie cod în limbaje obscure ale epocii întunecate precum COBOL, Fortran, Forth, LISP, ALGOL, RPG (generatorul de programe de raportare, nu jocul de rol) și chiar limbajul de asamblare IBM/360.

Ca cireașă de pe tort, i-am dat acest mesaj:

Scrieți o secvență care să afișeze „Hello, world” în lumini ascii intermitente pe panoul frontal al unui PDP 8/e

PDP 8/e a fost primul meu computer, iar ChatGPT mi-a dat instrucțiuni pentru a comuta într-un program folosind comutatoarele de pe panoul frontal. Am fost impresionat, vesel și chiar atât de ușor speriat.

Care este concluzia? ChatGPT poate fi un instrument foarte util. Doar nu-i atribui superputeri. Inca.

Articole asociate

Vizualizați mai multe >>

Deblocați puterea AI cu HIX.AI!