Undanfarin tvö ár höfum ég og teymið mitt hjá Work & Co verið að prófa og smám saman samþætta gervigreindarkóðun verkfæri eins og Copilot, Cursor, Claude og ChatGPT til að hjálpa okkur að senda vefupplifun sem er notuð af fjöldanum. Að vísu hafa ýmis gervigreind tól ratað inn í daglega notkun mína eftir smá tortryggni og nokkur aha augnablik. Með tímanum byrjaði listinn yfir forritin þar sem okkur fannst skynsamlegt að láta gervigreind taka við að vaxa, svo ég ákvað að deila nokkrum hagnýtum notkunartilfellum fyrir gervigreindarverkfæri fyrir það sem ég kalla „ábyrgan verktaki“. Hvað á ég við með ábyrgum verktaki? Við verðum að ganga úr skugga um að við skilum gæðakóða eins og hagsmunaaðilar okkar og viðskiptavinir búast við. Framlög okkar (þ.e. dráttarbeiðnir) ættu ekki að verða byrði á samstarfsfólki okkar sem verður að endurskoða og prófa vinnu okkar. Einnig ef þú vinnur hjá fyrirtæki: Verkfærin sem við notum þurfa að vera samþykkt af vinnuveitanda okkar. Það þarf að meðhöndla viðkvæma þætti eins og öryggi og friðhelgi einkalífsins á réttan hátt: Ekki líma leyndarmál, viðskiptavinagögn (PII) eða sérkóða í verkfæri án samþykkis stefnu. Komdu fram við það eins og kóða frá ókunnugum á internetinu. Alltaf að prófa og sannreyna. Athugið: Þessi grein gerir ráð fyrir mjög grunnþekkingu á AI kóðunarverkfærum eins og Copilot innan VSCode eða Bendill. Ef allt þetta hljómar algerlega nýtt og framandi fyrir þig, geta Github Copilot myndbandsnámskeiðin verið frábær upphafspunktur fyrir þig.
Gagnleg forrit gervigreindarkóðunverkfæra Athugið: Eftirfarandi dæmi munu aðallega einbeita sér að því að vinna í JavaScript sem byggir á vefforritum eins og React, Vue, Svelte eða Angular. Að fá skilning á ókunnugum kóðagrunni Það er ekki óalgengt að vinna á rótgrónum kóðagrunni og að taka þátt í stórum eldri kóðagrunni getur verið ógnvekjandi. Opnaðu einfaldlega verkefnið þitt og gervigreindarfulltrúann þinn (í mínu tilfelli, Copilot Chat í VSCode) og byrjaðu að spyrja spurninga eins og þú myndir spyrja kollega. Almennt finnst mér gaman að tala við hvaða gervigreindarfulltrúa sem er alveg eins og ég myndi gera við náunga. Hér er fágaðra dæmi: „Gefðu mér yfirlit yfir arkitektúr á háu stigi: inngangspunkta, leið, heimild, gagnalag, smíðaverkfæri. Listaðu síðan upp 5 skrár til að lesa í röð. Líttu á útskýringar sem tilgátur og staðfestu með því að hoppa í tilvísaðar skrár.“
Þú getur haldið áfram að spyrja eftirfylgnispurninga eins og "Hvernig virkar leiðin í smáatriðum?" eða „Ræddu mig í gegnum auðkenningarferlið og aðferðir“ og það mun leiða þig í gagnlegar leiðbeiningar til að skína ljósi inn í myrkrið á ókunnugum kóðagrunni. Þrýsta á brotabreytingar þegar uppfærsla á ósjálfstæði Uppfærsla á npm pakka, sérstaklega þegar þeir koma með brotlegum breytingum, getur verið leiðinleg og tímafrek vinna og gert það að verkum að þú villir kemba talsvert magn af afturförum. Ég þurfti nýlega að uppfæra gagnasýnasafnið plotly.js upp eina stóra útgáfu frá útgáfu 2 í 3, og í kjölfarið hætti ásmerkingin í sumum línuritunum að virka. Ég hélt áfram að spyrja ChatGPT: "Ég uppfærði Angular verkefnið mitt sem notar Plotly. Ég uppfærði plotly.js - dist pakkann frá útgáfu 2.35.2 í 3.1.0 - og nú eru merkin á x og y ásnum horfin. Hvað gerðist?"
Umboðsmaðurinn kom strax til baka með lausn (sjá sjálfur hér að neðan). Athugið: Ég staðfesti enn skýringuna gegn opinberu flutningsleiðbeiningunum áður en ég sendi lagfæringuna.
Afrita Refactors á öruggan hátt yfir skrár Vaxandi kóðabasar afhjúpa örugglega tækifæri til að sameina kóða. Til dæmis tekur þú eftir tvíverknaði kóða yfir skrár sem hægt er að draga út í eina aðgerð eða íhlut. Þar af leiðandi ákveður þú að búa til sameiginlegan íhlut sem hægt er að fylgja með í staðinn og framkvæma þá endurnýjun í einni skrá. Nú, í stað þess að framkvæma þessar breytingar handvirkt á skrám sem eftir eru, biður þú umboðsmann þinn um að rúlla út refactor fyrir þig. Umboðsmenn leyfa þér að velja margar skrár sem samhengi. Þegar endurstillingu fyrir eina skrá er lokið, get ég bætt bæði endurgerðum og ósnortnum skrám í samhengi og beðið umboðsmanninn um að útfæra breytingarnar á aðrar skrár eins og þetta: "Afritaðu breytingarnar sem ég gerði í skrá A í skrá B líka". Innleiðing eiginleika í ókunnri tækni Eitt af uppáhalds aha augnablikunum mínum með því að nota gervigreindarkóðun verkfæri var þegar það hjálpaði mér að búa til frekar flókið teiknað hallahreyfi í GLSL, tungumáli sem ég hef verið frekar ókunnugur. Í nýlegu verkefni komu hönnuðirnir okkar upp með hreyfimyndaðan halla sem hleðsluástand á þrívíddarhlut. Mér leist mjög vel á hugmyndina og langaði að skila einhverju einstöku og spennandi til viðskiptavina okkar. Thevandamál: Ég hafði aðeins tvo daga til að innleiða það og GLSL er með nokkuð bratta námsferil. Aftur kom gervigreind tól (í þessu tilfelli, ChatGPT) að góðum notum og ég byrjaði einfaldlega að hvetja það til að búa til sjálfstæða HTML skrá fyrir mig sem sýnir striga og mjög einfaldan hreyfimyndaðan litahalla. Skref eftir skref hvatti ég gervigreindina til að bæta meiri fínleika við það þar til ég komst að ágætis niðurstöðu svo ég gæti byrjað að samþætta skygginguna í raunverulegan kóðagrunn minn. Lokaniðurstaðan: Viðskiptavinir okkar voru mjög ánægðir og við afhentum flókinn eiginleika á stuttum tíma þökk sé gervigreind. Að skrifa próf Mín reynsla er að það er sjaldan nægur tími í verkefni til að skrifa og viðhalda hæfilegri einingar- og samþættingarprófum stöðugt, og þar að auki hafa margir forritarar ekki mjög gaman af því að skrifa próf. Að hvetja gervigreindarhjálpina til að setja upp og skrifa próf fyrir þig er alveg mögulegt og hægt að gera það á stuttum tíma. Auðvitað ættir þú, sem þróunaraðili, samt að ganga úr skugga um að prófin þín skoði mikilvæga hluta forritsins þíns og fylgi skynsamlegum prófunarreglum, en þú getur „útvistað“ ritun prófanna til gervigreindarhjálpar okkar. Dæmi hvetja: "Skrifaðu einingapróf fyrir þessa aðgerð með því að nota Jest. Farðu yfir hamingjuslóð, brúntilvik og bilunarstillingar. Útskýrðu hvers vegna hvert próf er til."
Þú getur jafnvel sent prófunargúrú Kent C. Dodds bestu starfsvenjur sem leiðbeiningar fyrir umboðsmann þinn, eins og hér að neðan:
Innri verkfæri Nokkuð svipað skyggingardæminu sem nefnt var áðan, mér var nýlega falið að greina tvíverknað kóða í kóðagrunni og bera saman fyrir og eftir endurvinnslu. Vissulega ekki léttvægt verkefni ef þú vilt ekki fara þá tímafreku leið að bera saman skrár handvirkt. Með hjálp Copilot bjó ég til handrit sem greindi tvíverknað kóða fyrir mig, raðaði og raðaði úttakinu í töflu og flutti það út í Excel. Svo tók ég þetta skrefinu lengra. Þegar kóða endurnýjun okkar var lokið, bað ég umboðsmanninn um að taka núverandi Excel blað mitt sem grunnlínu, bæta við núverandi stöðu tvíverknað í aðskildum dálkum og reikna delta. Uppfærsla kóða skrifaður fyrir löngu síðan Nýlega kom gamall viðskiptavinur minn í taugarnar á mér, þar sem með tímanum virkuðu nokkrir eiginleikar ekki sem skyldi á vefsíðu hans lengur. Aflinn: Vefsíðan var byggð fyrir tæpum tíu árum og JavaScript og SCSS notuðu frekar gömul samsetningarverkfæri eins og requireJS og uppsetningin krafðist eldri útgáfu af Node.js sem myndi ekki einu sinni keyra á 2025 MacBook minn. Að uppfæra allt byggingarferlið með höndunum hefði tekið mig nokkra daga, svo ég ákvað að biðja gervigreindarfulltrúann: "Geturðu uppfært JS og SCSS byggingarferlið í magan 2025 stafla eins og Vite?" Það gerði það svo sannarlega og eftir um klukkutíma fínpússun með umboðsmanninum lét ég skipta yfir í Vite SCSS og JS byggingu og ég gat einbeitt mér að raunverulegri villuleiðréttingu. Gakktu úr skugga um að þú staðfestir úttakið og samsettar skrár rétt þegar þú gerir slíkar óaðskiljanlegar breytingar á byggingarferlinu þínu. Samantekt og drög Viltu taka saman allar nýlegar kóðabreytingar þínar í einni setningu fyrir skuldbindingarskilaboð, eða hafa langan lista af skuldbindingum og langar að draga þær saman í þremur punktum? Ekkert mál, láttu gervigreindina sjá um það, en vinsamlegast vertu viss um að prófarkalesa það. Dæmi um hvatningu er eins einfalt og að senda öðrum manni skilaboð: "Vinsamlegast draga saman nýlegar breytingar mínar í hnitmiðuðum punktum". Ráð mitt hér væri að nota GPT til að skrifa með varúð, og eins og með kóða, vinsamlegast athugaðu úttakið áður en þú sendir eða sendir inn. Ráðleggingar og bestu starfsvenjur Hvetjandi Einn af ekki svo augljósu kostunum við að nota gervigreind er að því sértækari og sérsniðnari fyrirmæli þín eru, því betri er framleiðslan. Ferlið við að hvetja gervigreindarfulltrúa neyðir okkur til að móta kröfur okkar eins sérstaklega og hægt er áður en við skrifum og kóða. Þess vegna mæli ég eindregið með því að vera eins nákvæmur og mögulegt er með leiðbeiningunum þínum. Ryan Florence, meðhöfundur Remix, stingur upp á einföldu en öflugri leið til að bæta þetta ferli með því að klára upphafshraðann með setningunni: "Áður en við byrjum, hefurðu einhverjar spurningar fyrir mig?"
Á þessum tímapunkti kemur gervigreindin venjulega aftur með gagnlegar spurningar þar sem þú getur skýrt sérstakan ásetning þinn, leiðbeint umboðsmanninum til að veita þér sérsniðnari nálgun fyrir verkefni þitt.
Notaðu útgáfustýringu og vinnðu í meltanlegum klumpur Að nota útgáfustýringu eins og git kemur sér ekki aðeins að góðum notum þegar þú vinnur sem teymi á einum kóðagrunni heldur einnig til að veita þér semeinstakur þátttakandi með stöðuga punkta til að snúa aftur til í neyðartilvikum. Vegna óákveðinnar eðlis þess, getur gervigreind stundum orðið fantur og gert breytingar sem eru einfaldlega ekki gagnlegar fyrir það sem þú ert að reyna að ná og að lokum brotið hlutina óbætanlega. Að skipta vinnunni upp í margar skuldbindingar mun hjálpa þér að búa til stöðuga punkta sem þú getur snúið aftur til ef hlutirnir fara á hliðina. Og liðsfélagar þínir munu þakka þér líka, þar sem þeir munu eiga auðveldara með að endurskoða kóðann þinn þegar honum er skipt upp í merkingarlega vel uppbyggða bita. Skoðaðu vandlega Þetta er meira almennar bestu starfsvenjur, en að mínu mati verður það enn mikilvægara þegar gervigreind verkfæri eru notuð fyrir þróunarvinnu: Vertu fyrsti gagnrýnandi gagnrýnandi kóðans þíns. Gakktu úr skugga um að þú takir þér tíma til að fara yfir breytingarnar þínar línu fyrir línu, alveg eins og þú myndir fara yfir kóða einhvers annars, og sendu aðeins inn verk þitt þegar það hefur staðist þína eigin sjálfsskoðun. "Tvennt er bæði satt hjá mér núna: gervigreind umboðsmenn eru ótrúlegir og gríðarleg framleiðniaukning. Þeir eru líka gríðarlegar slop vélar ef þú slekkur á heilanum og sleppir algjörlega. "- Armin Ronacher í bloggfærslu sinni Agent Psychosis: Erum við að verða geðveikir?
Niðurstaða og mikilvægar hugsanir Að mínu mati geta gervigreindarkóðun verkfæri bætt framleiðni okkar sem þróunaraðila daglega og losað andlega getu fyrir meiri skipulagningu og hugsun á háu stigi. Þeir neyða okkur til að orða æskilega niðurstöðu okkar með nákvæmum smáatriðum. Hvaða gervigreind sem er getur stundum ofskynjað, sem þýðir í grundvallaratriðum að það er í öruggum tón. Svo vinsamlegast vertu viss um að athuga og prófa, sérstaklega þegar þú ert í vafa. Gervigreind er ekki silfurkúla og ég trúi því að afburður og hæfileikinn til að leysa vandamál sem verktaki muni aldrei fara úr tísku. Fyrir forritara sem eru að byrja á ferlinum geta þessi verkfæri verið mjög freistandi að vinna meirihluta vinnunnar fyrir þá. Það sem gæti týnst hér er oft tæmandi og sársaukafull vinna í gegnum villur og mál sem erfitt er að kemba og leysa, einnig kallað „the grind“. Jafnvel sjálfur Cursor AI, Lee Robinson, efast um þetta í einni af færslum sínum:
AI kóðunarverkfæri eru að þróast hratt og ég er spenntur fyrir því sem kemur næst. Ég vona að þér hafi fundist þessi grein og ábendingar hennar gagnlegar og ert spenntur að prófa eitthvað af þessu sjálfur.