Codio â Chymorth AI ar gyfer Dechreuwynt: Cychwyn Ymarferol
Dysgu sut y gall rhaglenwyr newydd ddefnyddio offer AI fel Copilot a ChatGPT heb neidio dros y pethau sylfaenol.
Mae cynorthwywyr codio AI fel GitHub Copilot, ChatGPT, a Claude wedi newid sut mae pobl yn ysgrifennu meddalwedd, ond ar gyfer dechreuwynt maent yn rhwyf dwy ochr. O'u defnyddio'n dda, maent yn cyflymu dysgu. O'u defnyddio'n wael, maent yn troi'n dortsh sy'n eich gadael yn analluog i ysgrifennu for-loop heb help. Mae'r canllaw hwn yn ymdrin â sut i gael gwerth go iawn o'r offer hyn tra'n dal i adeiladu sgiliau go iawn.
Dewis offer a deall yr hyn y mae'n ei wneud
Dechreuwynt ag un cynorthwyydd yn lle cymysgu tri. Mae GitHub Copilot yn integreiddio'n uniongyrchol i VS Code ac yn awgrymu cod wrth i chi deipio. Mae ChatGPT a Claude yn gweithio'n well ar gyfer sgwrs yn ôl ac ymlaen: egluro gwall, cynllunio swyddogaeth, neu adolygu darn o god yr ydych eisoes wedi ei ysgrifennu.
Deallwch y mecanwaith: model iaith mawr yw'r rhain yn rhagfynegi tocenau olynol tebygol yn seiliedig ar batrymau mewn data hyfforddi. Nid ydynt yn rhedeg eich cod, nid ydynt yn gwybod eich strwythur ffeil penodol oni bai eich bod yn eu dangos, ac fe fyddant yn hyderus yn cynhyrchu cod sy'n syntactig gywir ond sy'n gwneud y peth anghywir. Trin pob awgrym fel drafft o gydweithiwr cyflym ond weithiau ddi-ofal.
Defnyddiwch ef i egluro, nid dim ond i gynhyrchu
Y camgymeriad mwyaf y mae dechreuwynt yn ei wneud yw gofyn am ddatrysiad gorffenedig a'i ludo heb ei ddarllen. Yn lle hynny, gofynnwch i'r AI egluro cod llinell wrth linell. Os ydych chi mewn picil gyda sgript Python sy'n defnyddio zip() a enumerate() gyda'i gilydd, gofynnwch: "Eglurwch yr hyn y mae zip a enumerate yn ei wneud yma, a pham y byddai rhywun yn eu cyfuno." Byddwch yn cael mini-wers yn lle blwch du.
Pan yn dadbuggio, lludwch y neges gwall union a'r cod perthnasol, nid disgrifiad niwlog fel "nid yw'n gweithio." Cymharwch:
Traceback (most recent call last):
File "app.py", line 12, in <module>
result = calculate_total(items)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Mae'r traceback hwn yn dweud wrth yr AI (a chi) yn union ble i edrych. Llinell 12, cymysgedd math yn ystod adio. Gofynnwch iddo gerdded trwy pam y mae cymysgu int a str yn methu yn Python, a byddwch yn cadw'r wers yn hytrach nag yn trwsio'r un nam yn unig.
Ysgrifennwch y sgerbwd eich hun yn gyntaf
Cyn gofyn am help, ceisiwch ysgrifennu llofnod y swyddogaeth a sylw yn disgrifio yr hyn y dylai pob rhan ei wneud:
def calculate_total(items):
# items is a list of dicts with 'price' and 'quantity'
# return the sum of price * quantity for each item
pass
Yna gofynnwch i'r AI lenwi'r corff, neu'n well, ceisiwch ei ysgrifennu eich hun a gofyn am adolygiad. Mae'r drefn hon yn bwysig. Os gofynnwch yn gyntaf ac ysgrifennwch yn ail, rydych yn golygu meddwl rhywun arall. Os ysgrifennwch yn gyntaf, rydych yn ffurfio eich model meddyliol eich hun, ac mae'r AI yn dod yn wiriad ar eich gwaith yn hytrach nag yn ddisodliad iddo.
Dilyswch popeth, yn enwedig gyda llyfrgelloedd anghyfarwydd
Mae modelau AI yn aml yn hen neu'n syml yn anghywir am APiau llyfrgell, yn enwedig ar gyfer offer sy'n symud yn gyflym. Os yw Copilot yn awgrymu dull pandas neu fersiwn pecyn npm penodol, gwiriwch y ddogfennaeth wirioneddol cyn ei ymddiried. Rhedwch y cod. Argraffwch werthoedd canolradd. Defnyddiwch dadbugwr fel pdb yn Python (import pdb; pdb.set_trace()) neu'r dadbugwr DevTools Chrome ar gyfer JavaScript yn hytrach na dim ond gofyn i'r AI yr hyn sy'n bod yn anghywir yr eilwaith.
Arferiad da: ar ôl i AI gynhyrchu swyddogaeth, ysgrifennwch un neu ddwy achos prawf â llaw.
assert calculate_total([{'price': 10, 'quantity': 2}]) == 20
assert calculate_total([]) == 0
Os yw cod yr AI yn methu eich prawf eich hun, rydych wedi dal rhywbeth na fyddai golwg arno.
Gosod rheolau ar gyfer eich hun
Rhowch gyfyngiadau go iawn i chi eich hun fel na fydd yr offer yn llawddryllio eich sgiliau:
Treuliwch y 15 munud cyntaf ar unrhyw broblem newydd heb AI, dim ond meddwl a sgetsio pseudocod. Peidiwch byth â derbyn awgrym na allwch ei egluro i berson arall. Wrth ddysgu iaith neu fframwaith cwbl newydd, anablwch gwblhau llinell fewnol (mae Copilot yn cael toggle ar gyfer hyn) a defnyddiwch ond help seiliedig ar sgwrs, fel bod yn rhaid i chi deipio cystrawen eich hun nes ei fod yn stico.
Mae'r cyfyngiadau hyn yn teimlo'n araf ar y dechrau. Maent yn talu o fewn ychydig wythnosau oherwydd rydych yn llwyddo i beidio â bod yn ddibynnol ar awgrymiadau ar gyfer pethau y dylech eu gwybod yn oer, fel cymhlethdodau rhestr, dolenni sylfaenol, neu fformadu string.
Adeiladu rhywbeth go iawn i'ch profi eich hun
Dewisiwch brosiect bach gydag amcan clir, rhestr tasgau llinell orchymyn, sgript sy'n ailenwi ffeiliau mewn ffolder yn seiliedig ar eu dyddiad creu, API Flask sylfaenol gyda dau bwynt terfyn. Adeiladwch ef gyda chymorth AI, yna ail-adeiladu fersiwn debyg o ddim ond wythnos yn ddiweddarach heb ef. Mae'r ail ymgais yn datgelu union yr hyn yr ydych wedi ei ddysgu yn erbyn yr hyn yr ydych wedi ei gopïo.
Mae offer AI yn wirioneddol ddefnyddiol ar gyfer dechreuwynt pan ydych yn eu defnyddio i gyflymu dealltwriaeth yn hytrach nag ei neidio. Mae'r rhaglenwyr sy'n elwa fwyaf yn trin y cynorthwyydd fel tiwtoriaid claf sy'n digwydd teipio'n gyflym, nid fel peiriant gwerthu ar gyfer cod gorffenedig.
Os ydych chi eisiau adeiladu'r pethau sylfaenol y mae'r offer hyn yn cymryd yn ganiataol eich bod eisoes yn eu gwybod, gwiriwch draciau Python a Gwyddoniaeth Gyfrifiadurol Korra Studio ar gyfer ymarfer strwythuredig ochr yn ochr â'ch prosiectau â chymorth AI.
Ysgrifennwyd yr erthygl hon gyda chymorth AI, a'i hadolygu a'i chyhoeddi gan Michal Pilch (CISSP), Korra Studio.
Dyma un nodyn o'r gronfa wybodaeth Korra Studio — mae'r platfform yn paru pob pwnc ag 1-i-1 mentora.
Dechrau am ddimarrow_forward