Tijekom posljednje dvije godine moj tim u Work & Co i ja testirali smo i postupno integrirali alate za kodiranje AI-jem kao što su Copilot, Cursor, Claude i ChatGPT kako bismo nam pomogli u isporuci web iskustava koja koriste mase. Doduše, nakon nekog početnog skepticizma i nekoliko aha trenutaka, razni AI alati našli su svoj put u moju svakodnevnu upotrebu. S vremenom je popis aplikacija za koje smo smatrali da ima smisla dopustiti da AI preuzme kontrolu počeo rasti, pa sam odlučio podijeliti neke praktične slučajeve upotrebe AI alata za ono što ja nazivam "odgovornim programerom". Što mislim pod odgovornim programerom? Moramo biti sigurni da isporučujemo kvalitetan kod kakav očekuju naši dionici i klijenti. Naši doprinosi (tj. zahtjevi za povlačenjem) ne bi trebali postati teret za naše kolege koji će morati pregledavati i testirati naš rad. Također, u slučaju da radite za tvrtku: Alati koje koristimo moraju biti odobreni od strane našeg poslodavca. Osjetljivim aspektima poput sigurnosti i privatnosti potrebno je postupati ispravno: nemojte lijepiti tajne, korisničke podatke (PII) ili vlasnički kod u alate bez odobrenja pravila. Tretirajte ga kao kod neznanca na internetu. Uvijek testirajte i provjerite. Napomena: Ovaj članak pretpostavlja vrlo osnovno poznavanje AI alata za kodiranje kao što je Copilot unutar VSCodea ili Cursora. Ako vam sve ovo zvuči potpuno novo i nepoznato, Github Copilot video tutoriali mogu biti fantastična polazna točka za vas.

Korisne primjene AI alata za kodiranje Napomena: Sljedeći primjeri uglavnom će se fokusirati na rad u web aplikacijama koje se temelje na JavaScriptu kao što su React, Vue, Svelte ili Angular. Stjecanje razumijevanja nepoznate baze koda Nije neuobičajeno raditi na uspostavljenim bazama kodova, a pridruživanje velikoj naslijeđenoj bazi kodova može biti zastrašujuće. Jednostavno otvorite svoj projekt i svog AI agenta (u mom slučaju Copilot Chat u VSCodeu) i počnite postavljati pitanja baš kao što biste postavili kolegi. Općenito, volim razgovarati s bilo kojim agentom umjetne inteligencije kao što bih razgovarao s drugim čovjekom. Evo detaljnijeg primjera upita: "Dajte mi pregled arhitekture na visokoj razini: ulazne točke, usmjeravanje, autentifikacija, podatkovni sloj, alati za izgradnju. Zatim navedite 5 datoteka za čitanje redom. Tretirajte objašnjenja kao hipoteze i potvrdite skakanjem na referentne datoteke."

Možete nastaviti postavljati dodatna pitanja poput "Kako usmjeravanje funkcionira u detaljima?" ili "Razmotrite me kroz postupak i metode provjere autentičnosti" i to će vas odvesti do korisnih uputa za bacanje svjetla u mrak nepoznate baze kodova. Trijaža prijelomnih promjena prilikom nadogradnje ovisnosti Ažuriranje npm paketa, posebno kada dolaze s kritičnim promjenama, može biti naporan i dugotrajan posao, a zbog kojeg ćete morati ispravljati popriličnu količinu regresija. Nedavno sam morao nadograditi biblioteku za vizualizaciju podataka plotly.js jednu glavnu verziju izdanja s verzije 2 na verziju 3, i kao rezultat toga, označavanje osi u nekim grafikonima prestalo je raditi. Nastavio sam pitati ChatGPT: "Ažurirao sam svoj Angular projekt koji koristi Plotly. Ažurirao sam plotly.js — dist paket s verzije 2.35.2 na 3.1.0 — i sada su oznake na x i y osi nestale. Što se dogodilo?"

Agent se odmah vratio s rješenjem (pogledajte sami u nastavku). Napomena: Svejedno sam provjerio objašnjenje u odnosu na službeni vodič za migraciju prije slanja popravka.

Sigurno repliciranje refaktora među datotekama Rastuće baze kodova sasvim sigurno otkrivaju prilike za konsolidaciju koda. Na primjer, primijetili ste dupliranje koda u datotekama koje se mogu izdvojiti u jednu funkciju ili komponentu. Kao rezultat toga, odlučili ste stvoriti zajedničku komponentu koja se može uključiti umjesto nje i izvesti taj refaktor u jednoj datoteci. Sada, umjesto da ručno izvršite te promjene na vašim preostalim datotekama, tražite od svog agenta da uvede refaktor za vas. Agenti vam omogućuju odabir više datoteka kao konteksta. Nakon što je refaktor za jednu datoteku gotov, mogu dodati i refaktorirane i nedirnute datoteke u kontekst i potaknuti agenta da uvede promjene u druge datoteke ovako: "Repliciraj promjene koje sam napravio u datoteci A i u datoteku B". Implementacija značajki u nepoznatim tehnologijama Jedan od mojih najdražih aha-trenutaka korištenjem AI alata za kodiranje bio je kada mi je pomogao stvoriti prilično složenu animiranu gradijentnu animaciju u GLSL-u, jeziku koji mi je bio prilično nepoznat. Na nedavnom projektu naši su dizajneri osmislili animirani gradijent kao stanje učitavanja na 3D objektu. Stvarno mi se svidio koncept i želio sam isporučiti nešto jedinstveno i uzbudljivo našim klijentima. Theproblem: imao sam samo dva dana da ga implementiram, a GLSL ima prilično strmu krivulju učenja. Ponovno mi je dobro došao AI alat (u ovom slučaju ChatGPT) i počeo sam ga jednostavno poticati da za mene stvori samostalnu HTML datoteku koja renderira platno i vrlo jednostavan animirani gradijent boja. Korak za korakom, potaknuo sam AI da mu doda više finesa dok nisam došao do pristojnog rezultata kako bih mogao početi integrirati shader u svoju stvarnu bazu kodova. Krajnji rezultat: Naši su klijenti bili super zadovoljni, a mi smo isporučili složenu značajku u kratkom vremenu zahvaljujući AI. Pisanje testova Po mom iskustvu, na projektima rijetko ima dovoljno vremena za kontinuirano pisanje i održavanje odgovarajućeg paketa jediničnih i integracijskih testova, a povrh toga, mnogi programeri baš i ne uživaju u zadatku pisanja testova. Posve je moguće potaknuti svog AI pomagača da postavi i napiše testove za vas i može se obaviti u kratkom vremenu. Naravno, vi, kao razvojni programer, i dalje biste trebali biti sigurni da vaši testovi zapravo gledaju na kritične dijelove vaše aplikacije i slijede razumna načela testiranja, ali pisanje testova možete "outsourcati" našem AI pomagaču. Primjer upita: "Napišite jedinične testove za ovu funkciju koristeći Jest. Pokrijte sretan put, rubne slučajeve i načine neuspjeha. Objasnite zašto svaki test postoji."

Možete čak proslijediti najbolje prakse testiranja gurua testiranja Kenta C. Doddsa kao smjernice svom agentu, kao u nastavku:

Unutarnji alati Donekle slično ranije spomenutom primjeru shadera, nedavno sam dobio zadatak analizirati dupliciranje koda u bazi koda i usporediti prije i poslije refaktora. Zasigurno nije trivijalan zadatak ako ne želite ići dugotrajnim putem ručnog uspoređivanja datoteka. Uz pomoć Copilota izradio sam skriptu koja je za mene analizirala dupliranje koda, posložila i poredala izlaz u tablicu i izvezla ga u Excel. Zatim sam otišao korak dalje. Kad je naš refaktor koda bio gotov, zatražio sam od agenta da uzme moju postojeću Excel tablicu kao osnovnu liniju, doda trenutno stanje dupliciranja u zasebnim stupcima i izračuna delta. Ažuriranje koda napisanog prije mnogo vremena Nedavno mi se javio moj stari klijent jer s vremenom nekoliko značajki više nije ispravno radilo na njegovoj web stranici. Kvaka: web-mjesto je napravljeno prije gotovo deset godina, a JavaScript i SCSS koristili su prilično stare alate za kompajliranje kao što je requireJS, a za postavljanje je bila potrebna starija verzija Node.js koja se čak nije mogla pokrenuti na mom MacBooku iz 2025. Ručno ažuriranje cijelog procesa izgradnje trebalo bi mi danima, pa sam odlučio upitati AI agenta: "Možete li ažurirati JS i SCSS proces izgradnje na lean 2025 stack kao Vite?" Sigurno jest, a nakon otprilike sat vremena usavršavanja s agentom, moja SCSS i JS verzija su se prebacile na Vite i mogao sam se usredotočiti na stvarno ispravljanje pogrešaka. Samo se pobrinite da ispravno potvrdite izlaz i kompajlirane datoteke kada radite takve integralne promjene u svom procesu izgradnje. Sažimanje i izrada nacrta Želite li sažeti sve svoje nedavne promjene koda u jednoj rečenici za poruku o uvrštavanju ili imate dugačak popis obveza i želite ih sažeti u tri točke? Nema problema, neka se umjetna inteligencija pobrine za to, ali svakako ga lektorirajte. Primjer upita jednostavan je kao slanje poruke drugom čovjeku: "Molim vas, sažmite moje nedavne promjene u sažetim točkama". Moj bi savjet bio da oprezno koristite GPT za pisanje, a kao i kod koda, provjerite izlaz prije slanja ili podnošenja. Preporuke i najbolji primjeri iz prakse Poticanje Jedna od ne tako očitih prednosti korištenja umjetne inteligencije je ta da što su vaši upiti specifičniji i prilagođeniji, to je rezultat bolji. Proces upućivanja AI agentu tjera nas da formuliramo svoje zahtjeve što je moguće preciznije prije nego što pišemo i kodiramo. Zbog toga, kao opće pravilo, toplo preporučujem da budete što je moguće precizniji s vašim upitima. Ryan Florence, koautor Remixa, predlaže jednostavan, ali moćan način da poboljšate ovaj proces tako da svoj početni upit završite rečenicom: "Prije nego što počnemo, imate li pitanja za mene?"

U ovoj se točki AI obično vraća s korisnim pitanjima u kojima možete razjasniti svoju specifičnu namjeru, usmjeravajući agenta da vam pruži prilagođeniji pristup za vaš zadatak.

Koristite kontrolu verzija i radite u probavljivim komadima Korištenje kontrole verzija kao što je git ne samo da je korisno kada surađujete kao tim na jednoj bazi koda, već vam također pruža kaopojedinačni suradnik sa stabilnim točkama na koje se možete vratiti u slučaju nužde. Zbog svoje nedeterminističke prirode, umjetna inteligencija ponekad može pogriješiti i napraviti promjene koje jednostavno nisu od pomoći za ono što pokušavate postići i na kraju nepopravljivo pokvariti stvari. Podijelite svoj posao na više obveza pomoći će vam stvoriti stabilne točke na koje se možete vratiti u slučaju da stvari krenu po strani. I vaši suradnici će vam također biti zahvalni jer će lakše pregledati vaš kod kada je podijeljen u semantički dobro strukturirane dijelove. Pregledajte temeljito Ovo je više opća najbolja praksa, ali po mom mišljenju, postaje još važnije kada koristite AI alate za rad na razvoju: Budite prvi kritički recenzent svog koda. Obavezno odvojite malo vremena da pregledate svoje izmjene redak po redak, baš kao što biste pregledali tuđi kod, i pošaljite svoj rad tek nakon što prođe vaš vlastiti pregled. "Dvije stvari su mi trenutačno istinite: AI agenti su nevjerojatni i ogromno povećavaju produktivnost. Oni su također ogromni strojevi za đubre ako isključite svoj mozak i potpuno ga prepustite."— Armin Ronacher u svom postu na blogu Psihoza agenta: Postajemo li ludi?

Zaključak i kritičke misli Po mom mišljenju, alati za kodiranje umjetne inteligencije mogu poboljšati našu produktivnost kao programera na dnevnoj bazi i osloboditi mentalne sposobnosti za više planiranja i razmišljanja na visokoj razini. Prisiljavaju nas da artikuliramo željeni ishod s pedantnim detaljima. Svaki AI može ponekad halucinirati, što u osnovi znači da laže samouvjerenim tonom. Stoga svakako provjerite i testirajte, osobito ako ste u nedoumici. AI nije srebrni metak i vjerujem da izvrsnost i sposobnost rješavanja problema kao programera nikada neće izaći iz mode. Za programere koji tek počinju svoju karijeru ovi alati mogu biti vrlo primamljivi da obave većinu posla umjesto njih. Ono što se ovdje može izgubiti je često iscrpljujući i bolan rad s greškama i problemima koje je teško otkloniti i riješiti, tzv. "mrvljenje". Čak i Lee Robinson iz Cursor AI-ja to dovodi u pitanje u jednom od svojih postova:

AI alati za kodiranje razvijaju se velikom brzinom i uzbuđen sam zbog onoga što će uslijediti. Nadam se da su vam ovaj članak i njegovi savjeti bili od pomoći i da ste uzbuđeni isprobati neke od njih sami.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free