Kuinka käyttää ChatGPT:tä koodin kirjoittamiseen

kuva1.pngYksi kiehtovimmista löydöistä ChatGPT: stä on, että se pystyy kirjoittamaan melko hyvää koodia. Testasin tätä helmikuussa, kun pyysin sitä kirjoittamaan WordPress-laajennuksen, jota vaimoni voisi käyttää verkkosivustollaan. Se teki hyvää työtä, mutta se oli hyvin yksinkertainen projekti.

Kuinka käyttää ChatGPT:tä kirjoittamiseen: Ansioluettelot| Excel-kaavat | Esseet | Saatekirjeet

Kuinka voit käyttää ChatGPT:tä koodin kirjoittamiseen osana päivittäistä koodauskäytäntöäsi? Sitä aiomme tutkia täällä.

Millaisia koodauksia ChatGPT voi tehdä hyvin?

ChatGPT:stä ja koodauksesta on kaksi tärkeää seikkaa. Ensimmäinen on, että se voi itse asiassa kirjoittaa hyödyllistä koodia. Toinen on se, että se voi eksyä täysin, pudota kaninkoloon, jahtaa omaa häntäänsä ja tuottaa täysin käyttökelvotonta roskaa.

Löysin tämän kantapään kautta. Kun sain WordPress-laajennuksen valmiiksi, päätin nähdä, kuinka pitkälle ChatGPT voisi mennä. Kirjoitin erittäin huolellisen kehotteen Mac-sovellukselle, sisältäen yksityiskohtaiset kuvaukset käyttöliittymäelementeistä, vuorovaikutuksista, siitä, mitä asetuksissa tarjotaan, kuinka ne toimisivat ja niin edelleen. Sitten syötin sen ChatGPT:lle.

ChatGPT vastasi teksti- ja kooditulvalla. Sitten se lopetti puolivälin koodin. Kun pyysin sitä jatkamaan, se oksensi vielä enemmän koodia ja tekstiä. Pyysin jatkamista jatkamisen jälkeen ja se poisti yhä enemmän koodia. Mutta... mikään niistä ei ollut käyttökelpoinen . Se ei tunnistanut minne koodin pitäisi mennä, miten projekti rakennetaan, ja -- kun katsoin tarkasti tuotettua koodia -- se jätti pois pyytämäni suuret toiminnot ja jätti yksinkertaiset tekstikuvaukset, joissa todettiin "ohjelman logiikka menee tänne. "

Useiden toistuvien testien jälkeen minulle kävi selväksi, että jos pyydät ChatGPT:tä toimittamaan täydellisen sovelluksen, se epäonnistuu. Tämän havainnon seurauksena on, että jos et tiedä mitään koodauksesta ja haluat ChatGPT:n rakentavan sinulle jotain, se epäonnistuu.

ChatGPT onnistuu – ja tekee sen erittäin hyvin – auttamalla jotakuta, joka jo osaa koodata, rakentamaan tiettyjä rutiineja ja suorittamaan tiettyjä tehtäviä. Älä pyydä sovellusta, joka toimii valikkorivillä. Mutta jos pyydät ChatGPT:tä rutiinin laittamaan valikon valikkoriville ja liittämään sen sitten projektiisi, se menee melko hyvin.

Myös: Kuinka käyttää ChatGPT:tä sovelluksen luomiseen

Muista myös, että vaikka ChatGPT:llä näyttää olevan valtava määrä verkkotunnuskohtaista tietoa (ja niin usein on), siitä puuttuu viisaus . Sellaisenaan se saattaa pystyä kirjoittamaan koodia, mutta se ei pysty kirjoittamaan koodia, joka sisältää vivahteet hyvin erityisiin tai monimutkaisiin ongelmiin, joiden ymmärtäminen vaatii syvällistä kokemusta.

Käytä ChatGPT:tä tekniikoiden esittelyyn, pienten algoritmien kirjoittamiseen ja aliohjelmien tuottamiseen. Voit jopa saada ChatGPT:n auttamaan sinua jakamaan suuremman projektin osiin, ja sitten voit pyytää sitä auttamaan sinua koodaamaan nämä osat.

Tarkastellaanpa tämä mielessä tiettyjä vaiheita ChatGPT:n käyttämiseksi koodin kirjoittamiseen.

Kuinka ChatGPT voi auttaa sinua kirjoittamaan koodia

1. Tarkenna ja tarkenna pyyntöäsi

Tämä ensimmäinen askel on päättää, mitä aiot pyytää ChatGPT:ltä – mutta älä vielä kysy siltä mitään. Päätä, mitä haluat toimintosi tai rutiinisi tekevän tai mitä haluat oppia sisällytettäväksi koodiisi. Päätä parametrit, jotka aiot siirtää koodiisi ja mitä haluat saada ulos. Ja sitten katso kuinka aiot kuvailla sitä.

Kuvittele, että maksat ohjelmoijalle tästä. Annatko tälle henkilölle tarpeeksi tietoa, jotta hän voi työskennellä tehtävässäsi? Vai oletko liian epämääräinen ja maksamasi henkilö todennäköisemmin joko esittää kysymyksiä tai antaa jotain, joka ei liity haluamaasi?

Tässä on esimerkki. Oletetaan, että haluan pystyä tekemään yhteenvedon mistä tahansa verkkosivusta. Haluan syöttää sille jotain tämän artikkelin kaltaista ja saada lyhyen yhteenvedon, joka on hyvin harkittu ja sopiva. Syötteeksi määritän verkkosivun URL-osoitteen. Minun tuloksenani se on tekstilohko, jossa on yhteenveto.

2. Tutustu kirjastoihin ja resursseihin ChatGPT:n avulla

Jatkaen yllä olevaa esimerkkiä, hyvin vanha tapa poimia verkkosivun tietoja oli löytää teksti HTML-kappaletunnisteiden väliltä.

Mutta tekoälytyökalujen lisääntyessä on järkevämpää käyttää tekoälykirjastoa älykkään otteen ja yhteenvedon tekemiseen. Yksi ChatGPT:n loistavista paikoista (ja se on myös alue, jonka voit helposti tarkistaa välttääksesi sen arvovaltaisen mutta väärän käyttäytymismallin) on kirjastojen ja resurssien löytäminen.

OpenAI (ChatGPT:n valmistaja) myy API-käyttöoikeuden GPT-3- ja GPT-4- moottoreille, jotka tekevät juuri sen, mitä haluamme. Mutta tämän esimerkin tapauksessa oletetaan, että emme halua maksaa transaktiomaksuja.

Tarkastellaan siis vuorovaikutusta ChatGPT:n kanssa selvittääksemme, kuinka voit käyttää tällaista työkalua ilmaiseksi PHP:llä toimivan projektin kanssa.

Aloitin kehotteella, jonka tarkoituksena oli saada tietoa siitä, mitkä kirjastot tarjoaisivat haluamani toiminnot. Kirjasto (niille teistä, jotka lukevat mukana, jotka eivät ole ohjelmoijia) on ohjelmoijan käytettävissä oleva koodikappale, joka tekee suuren osan raskastyöstä tiettyyn tarkoitukseen. Suuri osa nykyaikaista ohjelmointia on oikeiden kirjastojen löytäminen ja valinta. Tämä on siis hyvä lähtökohta.

Tässä tapauksessa tarkastelen muiden ihmisten kirjoittamia koodilohkoja, jotka tekevät yhteenvedon tekstistä. Tässä on ensimmäinen kehotukseni:

Kuvaile kymmentä erilaista avoimen lähdekoodin tekoälykirjastoa (ja niiden kanssa toimivia kieliä), joita voin käyttää luomaan yhteenvedon minkä tahansa verkkosivun ydinsisällöstä jättäen huomioimatta mainokset tai upotetut materiaalit.

Tämä antoi minulle juuri sen, mitä halusin, mukaan lukien maininnan OpenAI:n tarjonnasta. Uskon, että OpenAI pärjäisi tässä, mutta tälle hypoteettiselle projektille en halua budjetoida API-maksuja. Joten tiivistän kysymystä.

Onko mikään näistä ilmaisia?

ChatGPT suojasi panoksensa vastauksellaan. Siinä sanotaan näin: "Kyllä, kaikki nämä kymmenen tekoälykirjastoa ovat avoimen lähdekoodin ja ilmaisia käyttää. Joillakin niistä voi kuitenkin olla käyttörajoituksia tai ne vaativat maksun lisäominaisuuksien tai -resurssien käytöstä." Joten sen perusteella selvensin kysymystäni.

Millä näistä kirjastoista ei ole käyttörajoituksia, eivätkä ne vaadi ylimääräisiä maksuja tai lisenssejä?

Huomaa, kuinka paljon tämä on keskustelua. Minun ei tarvitse kysyä alkuperäistä kysymystä uudelleen. Porailen vain samalla tavalla, jos minulla olisi asiantuntija käsillä ja kaipaisin selvennystä. Tässä tapauksessa ChatGPT antoi minulle kahdeksan kirjastovaihtoehtoa, mutta mikään niistä ei maininnut PHP-kieltä, jolla aion koodata. Joten tässä on seuraava kehote:

Voinko käyttää mitä tahansa näistä kahdeksasta kirjastosta PHP:n kanssa?

Se palautti kolme kirjastoa, mutta en ollut varma, mitä kukin teki. Joten toinen kysymys:

Mitä eroa on Sumylla, Gensimillä ja NLTK:lla?

En ollut vieläkään varma, joten selvensin käyttösuunnitelmaani ja kysyin sitten:

Jos haluan luoda tiivistelmiä verkkosivujen uutisartikkeleista, mikä kirjasto toimisi paremmin?

Saamani vastaus oli selkeä ja lupaava: "Sumy on suunniteltu erityisesti tekstin yhteenvetoon, jonka tehtävänä on luoda yhteenveto, joka kaappaa tärkeimmät tiedot tekstistä." Joten nyt oli aika nähdä, mitä sen käyttämiseen PHP:n kanssa liittyy. Esitin viimeisen kysymykseni tästä projektin osasta:

Voitko selittää, kuinka Sumya käytetään PHP:stä?

Voit vapaasti pelata mukana tietokoneellasi ja liittää nämä kehotteet ChatGPT-esiintymääsi. Huomaa, että vaiheessa 1 päätin, mihin ohjelmamoduuliin aion saada apua. Sitten tässä vaiheessa keskustelin ChatGPT:n kanssa päättääkseni, mitä kirjastoa käytän ja miten integroin sen projektiini.

Se ei ehkä vaikuta ohjelmoinnista, mutta voin vakuuttaa, että se on sitä. Ohjelmointi ei ole vain koodirivien räjäyttämistä sivulle. Ohjelmointi on sen selvittämistä, kuinka integroida kaikki erilaiset resurssit ja järjestelmät yhteen ja kuinka keskustella ratkaisusi eri komponenttien kanssa. Täällä ChatGPT auttoi minua tekemään integraatioanalyysin.

Muuten, olin utelias, voisiko Googlen Bard auttaa samalla tavalla. Bard ei itse asiassa osaa kirjoittaa koodia, mutta se antoi lisätietoa ohjelmoinnin suunnittelusta ChatGPT:n vastausten perusteella. Älä siis epäröi käyttää useita työkaluja haluamiesi vastausten kolmiomittaukseen. Tässä on tarina: Bard vs. ChatGPT: Voiko Bard auttaa sinua koodaamaan? Siitä lähtien, kun kirjoitin tämän artikkelin, Google lisäsi Bardiin joitain koodausominaisuuksia, mutta ne eivät ole niin mahtavia. Voit lukea siitä täältä: Testasin Google Bardin uusia koodaustaitoja. Se ei mennyt hyvin.

Koodaus on seuraava.

3. Pyydä ChatGPT:tä kirjoittamaan esimerkkikoodi

Okei, pidetään tauko tässä. Tämän artikkelin otsikko on "ChatGPT:n käyttäminen koodin kirjoittamiseen". Ja tulee! Mutta todella pyydämme ChatGPT:tä kirjoittamaan esimerkkikoodin . Odota. Mitä?

Myös: Mikä on GPT-4? Tässä on kaikki, mitä sinun tarvitsee tietää

Selvitetään. Ellet kirjoita hyvin pientä funktiota (kuten rivilajittelu/satunnaistaja, jonka ChatGPT kirjoitti vaimolleni), ChatGPT ei pysty kirjoittamaan lopullista koodiasi. Ensinnäkin sinun on ylläpidettävä se. ChatGPT on kauhea muokkaamaan jo kirjoitettua koodia. Kamalaa, se ei tee sitä. Joten saadaksesi uuden koodin sinun on pyydettävä ChatGPT:tä luomaan jotain uutta. Kuten huomasin aiemmin, vaikka kehotteesi olisi käytännössä identtinen, ChatGPT voi muuttaa sinulle antamaansa hyvin odottamattomilla tavoilla.

Joten lopputulos: ChatGPT ei voi ylläpitää koodiasi tai edes säätää sitä.

Tämä tarkoittaa, että sinun on tehtävä se itse. Kuten tiedämme, koodinpalan ensimmäinen luonnos on harvoin lopullinen koodi. Joten vaikka odottaisit ChatGPT:n luovan lopullisen koodin, se olisi todella lähtökohta, jossa sinun on vietävä se loppuun, integroitava se isompaan projektiisi, testattava, parannettava, virheenkorjaus ja niin edelleen. .

Lisäksi: Pyysin ChatGPT:tä kirjoittamaan lyhyen Star Trek -jakson. Se itse asiassa onnistui

Mutta se ei tarkoita, että esimerkkikoodi olisi arvoton. Kaukana siitä. Katsotaanpa kehotetta, jonka kirjoitin aiemmin kuvailemani projektin perusteella. Tässä ensimmäinen osa:

Käytä PHP-funktiota nimeltä summarize_article.

Syötteenä summarize_article välitetään URL-osoite artikkeliin, joka on uutissivustolla, kuten ZDNET.com tai Reuters.com.

Kerron ChatGPT:lle ohjelmointikielen, jota sen tulisi käyttää. Kerron sille myös syötteen, mutta samalla tarjoan kaksi sivustoa esimerkkinä, jotka auttavat ChatGPT:tä ymmärtämään artikkelin tyylin. Rehellisesti sanottuna en ole varma, eikö ChatGPT jättänyt huomioimatta tuota ohjetta. Seuraavaksi kerron, kuinka suurin osa työstä tehdään:

Hae summarize_article-kohdasta verkkosivun sisältö annetusta URL-osoitteesta. Pura artikkelin pääosa käyttämällä PHP-kirjaston Sumy-kirjastoa ja muita tarpeellisia kirjastoja jättäen huomioimatta mainokset tai upotetut materiaalit ja tiivistä se noin 50 sanaan. Varmista, että yhteenveto koostuu kokonaisista lauseista. Voit tarvittaessa ylittää 50 sanaa ja lopettaa viimeisen virkkeen.

Tämä on hyvin samankaltaista kuin ohjeistaisin työntekijää. Haluaisin tuon henkilön tietävän, että he eivät rajoittuneet vain Sumyyn. Jos he tarvitsivat toisen työkalun, halusin heidän käyttävän sitä.

Määritin myös likimääräisen sanojen määrän luodakseni rajat sille, mitä halusin yhteenvedoksi. Rutiinin myöhempi versio saattaa ottaa tämän numeron parametrina. Sitten lopetin sanomalla, mitä halusin tuloksena:

Kun käsittely on valmis, koodaa summarize_article, jotta se palauttaa yhteenvedon pelkkänä tekstinä.

Tuloksena oleva koodi on melko yksinkertainen. ChatGPT pyysi toista kirjastoa (Goose) hakemaan artikkelin sisällön. Sitten se välitti sen Summylle 50 sanan rajoituksella ja palautti sitten tuloksen. Se siitä. Mutta kun perusasiat on kirjoitettu, on pelkkä ohjelmointikysymys palata takaisin ja lisätä säätöjä, muokata kahdelle kirjastolle siirrettyä sisältöä ja toimittaa tulokset.image2.png

Yksi mielenkiintoinen huomio. ChatGPT loi esimerkkikutsun kirjoittamalleen rutiinille käyttämällä URL-osoitetta vuoden 2021 jälkeen (kun ChatGPT:n tietojoukko päättyy).

Tarkistin URL-osoitteen sekä Reutersin sivustosta että Wayback Machinesta, mutta sitä ei ole olemassa. ChatGPT keksi juuri sen.

UKK

Korvaako ChatGPT ohjelmoijat?

Ei nyt – tai ainakaan – ei vielä. ChatGPT-ohjelmat lahjakkaan ensimmäisen vuoden ohjelmointiopiskelijan tasolla, mutta se on laiska (kuten tuo ensimmäisen vuoden opiskelija). Se saattaa vähentää erittäin aloitustason ohjelmoijien tarvetta, mutta nykyisellä tasollaan uskon, että se vain helpottaa lähtötason ohjelmoijien (ja jopa enemmän kokeneempien ohjelmoijien) elämää koodin kirjoittamisessa ja tietojen etsimisessä. Se säästää ehdottomasti aikaa, mutta on olemassa muutamia ohjelmointiprojekteja, joita se voi tehdä yksin - ainakin nyt. Vuonna 2030? Kuka tietää.

Kuinka saan koodausvastauksia ChatGPT:ssä?

Kysy vain. Näit yllä, kuinka käytin interaktiivista keskusteludialogia rajatakseni vastauksia, joita haluan. Kun työskentelet ChatGPT:n kanssa, älä odota yhden kysymyksen tekevän taianomaisesti kaiken työsi puolestasi. Mutta käytä ChatGPT:tä apuna ja resurssina, ja se antaa sinulle paljon erittäin hyödyllistä tietoa. Tietenkin testaa näitä tietoja - koska, kuten John Schulman, OpenAI:n perustaja, sanoo: "Suurin huolenaiheemme oli todellisuus, koska malli tykkää valmistaa asioita."

Jos käytän ChatGPT:tä koodini kirjoittamiseen, kuka sen omistaa?

Kuten käy ilmi, ei ole vielä paljon oikeuskäytäntöä, jotta tähän kysymykseen voitaisiin vastata lopullisesti. Yhdysvallat, Kanada ja Yhdistynyt kuningaskunta edellyttävät, että tekijänoikeudella suojatun sisällön on oltava ihmiskäden luomaa, joten tekoälytyökalulla luotu koodi ei välttämättä ole tekijänoikeudella suojattua. Vastuuongelmia liittyy myös sen mukaan, mistä koulutuskoodi on peräisin ja miten tuloksena olevaa koodia käytetään. ZDNET pohdiskeli tätä aihetta syvällisesti, puhui lakiasiantuntijoiden kanssa ja julkaisi seuraavat kolme artikkelia. Jos olet huolissasi tästä ongelmasta (ja jos käytät tekoälyä koodin kanssa, sinun pitäisi olla), suosittelen, että luet ne.

  • Kuka omistaa koodin? Jos ChatGPT:n tekoäly auttaa sovelluksesi kirjoittamisessa, kuuluuko se edelleen sinulle?
  • Jos käytät tekoälyn luomaa koodia, mikä on vastuusi?
  • Vaikea kysymys: Kuka omistaa tekoälyn luoman koodin, kuvat ja kertomukset?

Mitä ohjelmointikieliä ChatGPT osaa?

Useimmat heistä. Menin hyvin sivuraiteille yrittäessäni tätä. Testasin yleisiä moderneja kieliä, kuten PHP, Python, Java, Kotlin, Swift, C# ja paljon muuta. Mutta sitten minun piti kirjoittaa koodia epäselvillä pimeän aikakauden kielillä, kuten COBOL, Fortran, Forth, LISP, ALGOL, RPG (raporttiohjelman generaattori, ei roolipeli) ja jopa IBM/360-kokoonpanokielellä.

Kirsteenä kakun päällä annoin sille tämän kehotuksen:

Kirjoita sekvenssi, jossa PDP 8/e:n etupaneelissa näkyy "Hei, maailma" vilkkuvilla ascii-valoilla.

PDP 8/e oli ensimmäinen tietokoneeni, ja ChatGPT itse asiassa antoi minulle ohjeet ohjelman vaihtamiseen etupaneelin kytkimillä. Olin vaikuttunut, iloinen ja aina hieman peloissani.

Mikä on lopputulos? ChatGPT voi olla erittäin hyödyllinen työkalu. Älä vain anna sille supervoimia. Vielä.

Liittyvät artikkelit

Näytä lisää >>

Avaa tekoälyn voima HIX.AI:lla!