Paano gamitin ang ChatGPT para magsulat ng code

image1.pngIsa sa mga mas nakakaintriga na pagtuklas tungkol sa ChatGPT ay nakakasulat ito ng magandang code. Sinubukan ko ito noong Pebrero nang hilingin kong magsulat ng isang WordPress plugin na magagamit ng aking asawa sa kanyang website. Ito ay isang mahusay na trabaho, ngunit ito ay isang napaka-simpleng proyekto.

Paano gamitin ang ChatGPT para magsulat: Mga Resume| Mga formula ng Excel | Mga sanaysay | Mga cover letter

Paano mo magagamit ang ChatGPT para magsulat ng code bilang bahagi ng iyong pang-araw-araw na kasanayan sa coding? Iyan ang ating i-explore dito.

Anong mga uri ng coding ang maaaring gawin ng ChatGPT?

Mayroong dalawang mahalagang katotohanan tungkol sa ChatGPT at coding. Ang una ay maaari itong, sa katunayan, magsulat ng kapaki-pakinabang na code. Ang pangalawa ay maaari itong tuluyang mawala, mahulog sa butas ng kuneho, habulin ang sarili nitong buntot, at makagawa ng ganap na hindi nagagamit na basura.

Nalaman ko ito sa mahirap na paraan. Pagkatapos kong matapos ang WordPress plugin, nagpasya akong tingnan kung gaano kalayo ang mararating ng ChatGPT. Sumulat ako ng napakaingat na prompt para sa isang Mac application, kabilang ang mga detalyadong paglalarawan ng mga elemento ng user interface, mga pakikipag-ugnayan, kung ano ang ibibigay sa mga setting, kung paano gagana ang mga ito, at iba pa. Pagkatapos ay ipinakain ko ito sa ChatGPT.

Tumugon ang ChatGPT ng maraming text at code. Pagkatapos ay huminto ito sa mid-code. Nang hilingin kong ipagpatuloy ito, nagsuka ito ng mas maraming code at text. Hiniling ko na magpatuloy pagkatapos magpatuloy at naglabas ito ng higit pang code. Ngunit... wala sa mga ito ang nagamit . Hindi nito natukoy kung saan dapat pumunta ang code, kung paano bubuuin ang proyekto, at -- nang tiningnan kong mabuti ang ginawang code -- iniwan nito ang mga pangunahing operasyon na hiniling ko, na nag-iiwan sa mga simpleng paglalarawan ng teksto na nagsasabing "napupunta rito ang logic ng programa. "

Pagkatapos ng isang grupo ng mga paulit-ulit na pagsubok, naging malinaw sa akin na kung hihilingin mo sa ChatGPT na maghatid ng kumpletong aplikasyon, ito ay mabibigo. Ang resulta ng obserbasyon na ito ay kung wala kang alam tungkol sa coding at gusto mong bumuo ng isang bagay ang ChatGPT sa iyo, ito ay mabibigo.

Kung saan nagtagumpay ang ChatGPT -- at napakahusay nito -- ay sa pagtulong sa isang taong alam na kung paano mag-code upang bumuo ng mga partikular na gawain at magawa ang mga partikular na gawain. Huwag humingi ng app na tumatakbo sa menu bar. Ngunit kung hihilingin mo sa ChatGPT ang isang routine na maglagay ng menu sa menu bar, at pagkatapos ay i-paste iyon sa iyong proyekto, magiging maayos ito.

Gayundin: Paano gamitin ang ChatGPT upang lumikha ng isang app

Gayundin, tandaan na habang lumilitaw na ang ChatGPT ay may napakalaking dami ng kaalamang tukoy sa domain (at madalas itong mayroon), kulang ito ng karunungan . Dahil dito, maaari itong magsulat ng code, ngunit hindi nito magagawang magsulat ng code na naglalaman ng mga nuances para sa napakaspesipiko o kumplikadong mga problema na nangangailangan ng malalim na karanasan upang maunawaan.

Gamitin ang ChatGPT upang mag-demo ng mga diskarte, magsulat ng maliliit na algorithm, at gumawa ng mga subroutine. Maaari ka ring makakuha ng ChatGPT upang tulungan kang hatiin ang isang mas malaking proyekto sa mga tipak, at pagkatapos ay maaari mo itong hilingin na tulungan kang i-code ang mga tipak na iyon.

Kaya, sa pag-iisip na iyon, tingnan natin ang ilang partikular na hakbang para sa kung paano gamitin ang ChatGPT upang magsulat ng code.

Paano ka matutulungan ng ChatGPT na magsulat ng code

1. Paliitin at patalasin ang iyong kahilingan

Ang unang hakbang na ito ay ang magpasya kung ano ang itatanong mo sa ChatGPT -- ngunit hindi mo pa ito itatanong. Magpasya kung ano ang gusto mong gawin ng iyong function o routine, o kung ano ang gusto mong matutunan na isama sa iyong code. Magpasya sa mga parameter na ipapasa mo sa iyong code at kung ano ang gusto mong ilabas. At pagkatapos ay tingnan kung paano mo ito ilalarawan.

Isipin na nagbabayad ka ng isang tao na programmer para gawin ito. Nagbibigay ka ba sa taong iyon ng sapat na impormasyon para magawa mo ang iyong takdang-aralin? O ikaw ba ay masyadong malabo at ang taong binabayaran mo ay mas malamang na magtanong o magbigay ng isang bagay na ganap na walang kaugnayan sa gusto mo?

Narito ang isang halimbawa. Sabihin nating gusto kong mabuod ang anumang web page. Gusto kong bigyan ito ng isang bagay tulad ng artikulong ito at makakuha ng isang maikling buod na mahusay na isinasaalang-alang at naaangkop. Bilang aking input, tutukuyin ko ang URL ng web page. Bilang aking output, ito ay isang bloke ng teksto na may buod.

2. Gamitin ang ChatGPT upang galugarin ang mga aklatan at mapagkukunan

Sa pagpapatuloy sa halimbawa sa itaas, ang isang napakalumang paraan ng pag-extract ng data ng web page ay ang paghahanap ng teksto sa pagitan ng mga tag ng HTML na talata.

Ngunit sa pagtaas ng mga tool ng AI, mas makatuwirang gumamit ng isang library ng AI upang makagawa ng isang matalinong extract at buod. Isa sa mga lugar na napakahusay ng ChatGPT (at isa rin itong lugar na madali mong ma-verify para maiwasan ang makapangyarihan-ngunit-maling pattern ng pag-uugali) ay ang paghahanap ng mga library at mapagkukunan.

Ang OpenAI (ang gumagawa ng ChatGPT) ay nagbebenta ng access sa API sa GPT-3 at GPT-4 na mga makina na gagawin kung ano mismo ang gusto natin. Ngunit sa kaso ng halimbawang ito, ipagpalagay natin na ayaw nating magbayad ng mga bayarin sa transaksyon.

Kaya tingnan natin ang pakikipag-ugnayan sa ChatGPT upang malaman kung paano gamitin ang naturang tool, nang libre, sa isang proyekto na tumatakbo sa PHP.

Nagsimula ako sa isang prompt na idinisenyo upang makakuha ng impormasyon tungkol sa kung anong mga library ang magbibigay ng functionality na gusto ko. Ang isang library (para sa iyo na nagbabasa kasama na hindi programmer) ay isang katawan ng code na maaaring ma-access ng programmer na gumagawa ng maraming mabigat na pag-angat para sa isang partikular na layunin. Isang malaking bahagi ng modernong programming ang paghahanap at pagpili ng mga tamang aklatan. Kaya ito ay isang magandang panimulang punto.

Sa kasong ito, tinitingnan ko ang mga bloke ng code na isinulat ng ibang mga tao na magbubuod ng teksto. Narito ang aking unang prompt:

Ilarawan ang sampung iba't ibang open source AI library (at ang mga wikang ginagamit nila) na magagamit ko upang makabuo ng isang buod ng mga pangunahing nilalaman ng anumang web page, na binabalewala ang anumang mga ad o naka-embed na materyales.

Ibinigay nito sa akin kung ano mismo ang gusto ko, kabilang ang pagbanggit sa mga handog ng OpenAI. Sa tingin ko, magiging maganda ang OpenAI dito, ngunit para sa hypothetical na proyektong ito, ayaw kong magbadyet para sa mga bayarin sa API. Kaya paliitin ko ang tanong.

Libre ba ang alinman sa mga ito?

Pinipigilan ng ChatGPT ang mga taya nito sa sagot nito. Narito ang sinabi nito: "Oo, lahat ng sampung AI library na ito ay open source at malayang gamitin. Gayunpaman, ang ilan sa mga ito ay maaaring may mga limitasyon sa paggamit o nangangailangan ng bayad para sa pag-access sa mga karagdagang feature o mapagkukunan." Kaya, batay doon, nilinaw ko ang aking query.

Alin sa mga aklatang ito ang walang limitasyon sa paggamit at hindi nangangailangan ng anumang karagdagang pagbabayad o paglilisensya?

Pansinin kung paano ito napakalaking pag-uusap. Hindi ko na kailangang itanong muli ang pinagmulang tanong. Nag-drill down lang ako sa parehong paraan na maaari kong kung mayroon akong isang eksperto sa kamay at naghahanap ng paglilinaw. Sa kasong ito, binigyan ako ng ChatGPT ng walong pagpipilian sa library, ngunit wala sa kanila ang nagbanggit ng PHP na wika na pinaplano kong i-code. Kaya, narito ang susunod na prompt:

Sa 8 aklatan na iyon, maaari ba akong gumamit ng anuman sa PHP?

Ibinalik nito ang tatlong aklatan, ngunit hindi ako sigurado sa ginawa ng bawat isa. Kaya isa pang tanong:

Ano ang pagkakaiba ng Sumy, Gensim, at NLTK?

Hindi pa rin ako sigurado, kaya nilinaw ko ang aking plano sa paggamit at pagkatapos ay nagtanong:

Kung gusto kong gumawa ng mga buod ng mga artikulo ng balita sa web page, aling library ang mas gagana?

Ang sagot na nakuha ko ay malinaw at nangangako: "Ang Sumy ay partikular na idinisenyo para sa pagbubuod ng teksto, na siyang gawain ng paglikha ng buod na kumukuha ng pinakamahalagang impormasyon mula sa isang piraso ng teksto." Kaya, ngayon ay oras na upang makita kung ano ang kasangkot sa paggamit nito sa PHP. Tinanong ko ang aking huling tanong para sa bahaging ito ng proyekto:

Maaari mo bang ipaliwanag kung paano gamitin ang Sumy mula sa PHP?

Huwag mag-atubiling maglaro kasama sa iyong computer at i-paste ang mga senyas na ito sa iyong instance ng ChatGPT. Pansinin na, sa hakbang 1, nagpasya ako kung anong module ng program ang kukunin ko ng tulong. Pagkatapos, sa hakbang na ito, nakipag-usap ako sa ChatGPT para magpasya kung anong library ang gagamitin at kung paano ito isasama sa aking proyekto.

Maaaring hindi iyon mukhang programming, ngunit sinisiguro ko sa iyo na ito ay. Ang programming ay hindi lamang pagpapasabog ng mga linya ng code sa isang pahina. Ang programming ay pag-iisip kung paano pagsasama-samahin ang lahat ng iba't ibang mapagkukunan at system, at kung paano makipag-usap sa lahat ng iba't ibang bahagi ng iyong solusyon. Dito, tinulungan ako ng ChatGPT na gawin ang pagsusuri sa pagsasama.

Siyanga pala, na-curious ako kung makakatulong ang Bard ng Google sa parehong paraan. Hindi talaga makakasulat ng code si Bard, ngunit nagbigay ito ng ilang karagdagang insight sa aspeto ng pagpaplano ng programming sa mga tugon ng ChatGPT. Kaya't huwag mag-atubiling gumamit ng maraming tool upang mag-triangulate sa mga sagot na gusto mo. Narito ang kuwentong iyon: Bard vs. ChatGPT: Matutulungan ka ba ni Bard na mag-code? Mula nang isulat ko ang artikulong iyon, nagdagdag ang Google ng ilang mga kakayahan sa pag-coding kay Bard, ngunit hindi lahat ng ito ay mahusay. Mababasa mo ang tungkol dito: Sinubukan ko ang mga bagong kasanayan sa coding ng Google Bard. Hindi naging maganda.

Ang coding ay susunod.

3. Hilingin sa ChatGPT na magsulat ng halimbawang code

Okay, mag-pause tayo dito. Ang artikulong ito ay pinamagatang "Paano gamitin ang ChatGPT para magsulat ng code." At ito ay! Ngunit talagang hinihiling namin sa ChatGPT na magsulat ng halimbawang code. Teka. Ano?

Gayundin: Ano ang GPT-4? Narito ang lahat ng kailangan mong malaman

Linawin natin. Maliban kung nagsusulat ka ng isang napakaliit na function (tulad ng line sorter/randomizer na isinulat ng ChatGPT para sa aking asawa), hindi maisusulat ng ChatGPT ang iyong huling code. Una, kailangan mong panatilihin ito. Nakakatakot ang ChatGPT sa pagbabago ng nakasulat na code. Grabe, as in, hindi nito ginagawa. Kaya para makakuha ng bagong code, kailangan mong hilingin sa ChatGPT na bumuo ng bago. Gaya ng nakita ko dati, kahit na halos magkapareho ang iyong prompt, maaaring baguhin ng ChatGPT ang ibinibigay nito sa iyo sa mga hindi inaasahang paraan.

Kaya, bottom line: Hindi mapanatili ng ChatGPT ang iyong code, o kahit na i-tweak ito.

Ibig sabihin kailangan mong gawin ito sa iyong sarili. Tulad ng alam natin, ang unang draft ng isang piraso ng code ay bihira ang huling code. Kaya kahit na asahan mong bubuo ang ChatGPT ng pangwakas na code, ito ay talagang isang panimulang punto, isa kung saan kailangan mong dalhin ito hanggang sa pagkumpleto, isama ito sa iyong mas malaking proyekto, subukan ito, pinuhin ito, i-debug ito, at iba pa .

Gayundin: Hiniling ko sa ChatGPT na magsulat ng maikling episode ng Star Trek. Talagang nagtagumpay ito

Ngunit hindi iyon nangangahulugan na ang halimbawang code ay walang halaga. Malayo dito. Tingnan natin ang isang prompt na isinulat ko batay sa proyektong inilarawan ko kanina. Narito ang unang bahagi:

Wite ng PHP function na tinatawag na summarize_article.

Bilang input, ipapasa ang summarize_article ng URL sa isang artikulo sa isang site na nauugnay sa balita tulad ng ZDNET.com o Reuters.com.

Sinasabi ko sa ChatGPT ang programming language na dapat nitong gamitin. Sinasabi ko rin dito ang input ngunit, habang ginagawa ito, nagbibigay ng dalawang site bilang mga sample upang matulungan ang ChatGPT na maunawaan ang istilo ng artikulo. Sa totoo lang, hindi ako sigurado na hindi binalewala ng ChatGPT ang kaunting gabay na iyon. Susunod, sasabihin ko dito kung paano gawin ang karamihan sa gawain:

Sa loob ng summarize_article, kunin ang mga nilalaman ng web page sa ibinigay na URL. Gamit ang library Sumy mula sa loob ng PHP at anumang iba pang mga aklatan na kinakailangan, kunin ang pangunahing bahagi ng artikulo, hindi papansinin ang anumang mga ad o naka-embed na materyales, at ibuod ito sa humigit-kumulang 50 salita. Siguraduhin na ang buod ay binubuo ng mga kumpletong pangungusap. Maaari kang pumunta sa itaas ng 50 salita upang tapusin ang huling pangungusap, kung kinakailangan.

Ito ay halos kapareho sa kung paano ako magtuturo sa isang empleyado. Gusto kong malaman ng taong iyon na hindi lang sila para kay Sumy. Kung kailangan nila ng isa pang tool, gusto kong gamitin nila ito.

Tinukoy ko rin ang tinatayang bilang ng mga salita upang lumikha ng mga hangganan para sa gusto ko bilang isang buod. Maaaring kunin ng mas huling bersyon ng routine ang numerong iyon bilang parameter. Pagkatapos ay tinapos ko sa pagsasabi kung ano ang gusto ko bilang resulta:

Kapag kumpleto na ang pagproseso, code summarize_article para maibalik nito ang buod sa plain text.

Ang resultang code ay medyo simple. Ang ChatGPT ay tumawag sa isa pang library (Goose) upang kunin ang mga nilalaman ng artikulo. Pagkatapos ay ipinasa iyon kay Summy na may limitasyon na 50 salita, at pagkatapos ay ibinalik ang resulta. Ayan yun. Ngunit kapag naisulat na ang mga pangunahing kaalaman, ito ay isang bagay lamang ng programming upang bumalik at magdagdag ng mga pag-aayos, i-customize kung ano ang ipinasa sa dalawang aklatan, at ihatid ang mga resulta.image2.png

Isang kawili-wiling punto ng tala. Gumawa ang ChatGPT ng sample na tawag sa routine na isinulat nito, gamit ang isang URL mula pagkatapos ng 2021 (kapag natapos ang dataset ng ChatGPT).

Sinuri ko ang URL na iyon laban sa parehong site ng Reuters at sa Wayback Machine, at wala ito. Ginawa lang ito ng ChatGPT.

Mga FAQ

Pinapalitan ba ng ChatGPT ang mga programmer?

Hindi ngayon -- o, hindi bababa sa -- hindi pa. Mga programa ng ChatGPT sa antas ng isang mahuhusay na mag-aaral sa unang taon na programming, ngunit ito ay tamad (tulad ng mag-aaral sa unang taon). Maaaring bawasan nito ang pangangailangan para sa napaka-entry-level na mga programmer, ngunit sa kasalukuyang antas nito, sa tingin ko ay gagawing mas madali ang buhay para sa mga entry-level na programmer (at maging ang mga programmer na may higit na karanasan) na magsulat ng code at maghanap ng impormasyon. Ito ay tiyak na isang time-saver, ngunit may ilang mga programming projects na magagawa nito sa sarili nitong -- kahit ngayon. Sa 2030? Sino ang nakakaalam.

Paano ako makakakuha ng mga coding na sagot sa ChatGPT?

Itanong mo na lang. Nakita mo sa itaas kung paano ako gumamit ng isang interactive na dialog ng talakayan upang paliitin ang mga sagot na gusto ko. Kapag nagtatrabaho ka sa ChatGPT, huwag asahan na ang isang tanong ay mahiwagang magagawa ang lahat ng iyong trabaho para sa iyo. Ngunit gamitin ang ChatGPT bilang isang katulong at mapagkukunan, at ito ay magbibigay sa iyo ng maraming napaka-kapaki-pakinabang na impormasyon. Siyempre, subukan ang impormasyong iyon -- dahil, tulad ng sabi ni John Schulman, isang cofounder ng OpenAI, "Ang aming pinakamalaking pag-aalala ay tungkol sa katotohanan, dahil ang modelo ay gustong gumawa ng mga bagay."

Kung gagamitin ko ang ChatGPT para isulat ang aking code, sino ang nagmamay-ari nito?

Sa lumalabas, wala pang maraming case law na tiyak na makakasagot sa tanong na ito. Ang US, Canada, at UK ay nangangailangan ng isang bagay na naka-copyright na ginawa ng mga kamay ng tao, kaya maaaring hindi copyrightable ang code na nabuo ng isang AI tool. Mayroon ding mga isyu sa pananagutan batay sa kung saan nanggaling ang code ng pagsasanay at kung paano ginagamit ang resultang code. Ang ZDNET ay gumawa ng malalim na pagsisid sa paksang ito, nakipag-usap sa mga eksperto sa batas, at ginawa ang sumusunod na tatlong artikulo. Kung nag-aalala ka tungkol sa isyung ito (at kung gumagamit ka ng AI para tumulong sa code, dapat ay ganoon ka), inirerekomenda kong basahin mo sila.

  • Sino ang nagmamay-ari ng code? Kung tumutulong ang AI ng ChatGPT na isulat ang iyong app, pagmamay-ari mo pa rin ba ito?
  • Kung gumagamit ka ng AI-generated code, ano ang iyong pagkakalantad sa pananagutan?
  • Isang mahirap na tanong: Sino ang nagmamay-ari ng code, mga imahe, at mga salaysay na nabuo ng AI?

Anong mga programming language ang alam ng ChatGPT?

Karamihan sa kanila. Na-sidetrack ako sa pagsubok nito. Sinubukan ko ang mga karaniwang modernong wika, tulad ng PHP, Python, Java, Kotlin, Swift, C#, at higit pa. Ngunit pagkatapos ay pinasulat ko ito ng code sa hindi kilalang mga wikang may kadiliman tulad ng COBOL, Fortran, Forth, LISP, ALGOL, RPG (ang generator ng programa ng ulat, hindi ang larong role-playing), at maging ang IBM/360 assembly language.

Bilang icing sa cake, binigyan ko ito ng ganitong prompt:

Sumulat ng isang sequence na nagpapakita ng 'Hello, world' sa ascii na kumikislap na mga ilaw sa front panel ng isang PDP 8/e

Ang PDP 8/e ay ang aking pinakaunang computer, at ang ChatGPT ay talagang nagbigay sa akin ng mga tagubilin para sa pag-toggling sa isang program gamit ang mga switch sa front panel. Ako ay humanga, tuwang-tuwa, at medyo natakot.

Ano ang bottom line? Ang ChatGPT ay maaaring maging isang napaka-kapaki-pakinabang na tool. Huwag lamang ibigay ang mga superpower dito. Pa.

Kaugnay na mga Artikulo

Tingnan Nang Mas Marami >>

I-unlock ang kapangyarihan ng AI gamit ang HIX.AI!