Illustration for the article: Programovanie s AI: 7 pravidiel, aby ste nezblbli

Programovanie s AI: 7 pravidiel, aby ste nezblbli

Ako zadávať prácu AI asistentovi, kontrolovať jeho kód a kedy ho nechať pracovať samostatne. Praktické pravidlá pre juniorov aj seniorov.

Tomáš Renčík4 min read

Stručne: AI vám napíše kód rýchlejšie, ale zodpovednosť za neho ostáva na vás. Zadávajte prácu konkrétne (kde, čo presne, ako to overíte), každý kód si prečítajte, pracujte na samostatných vetvách a nebezpečné kroky — mazanie dát, produkcia, platby — nechajte vždy na schválenie človekom.

Dnes píšem väčšinu kódu spolu s AI. Nie preto, že by som nevedel programovať, ale preto, že jeden človek s dobrým asistentom zvládne prácu malého tímu. Lenže platí to len vtedy, keď máte poriadok. Bez neho vám AI vyrobí rovnako rýchlo aj chaos.

Toto je súhrn toho, čo by som povedal juniorovi v prvý deň, keď mu dám do ruky AI asistenta.

1. AI je kolega, nie automat na odpovede

Najčastejšia chyba: človek napíše „sprav mi prihlasovanie“ a čaká zázrak. Dostane niečo, čo vyzerá dobre, ale nevie, či to funguje, či je to bezpečné a či to sedí s ostatným kódom.

Zadávajte prácu tak, ako by ste ju zadali človeku:

  • Kde – ktorý súbor, ktorá funkcia, ktorá obrazovka.
  • Čo presne – aké správanie chcete a aké nie.
  • Ako to overíte – čo musí po zmene platiť.

Porovnajte:

Oprav prihlasovanie.

a

V server/api/login.post.ts vracia prihlásenie 500, keď e-mail obsahuje veľké písmená. Chcem, aby sa e-mail pred porovnaním zmenil na malé písmená. Po zmene musí prejsť test login.test.ts a pribudnúť test na e-mail s veľkými písmenami.

Druhé zadanie je dlhšie o tri riadky a ušetrí vám hodinu.

2. Nikdy neprijmite kód, ktorý ste nečítali

Znie to samozrejme, ale pri AI to porušuje každý. Kód prišiel rýchlo, vyzerá sebavedomo, testy (ktoré tiež napísala AI) prešli — tak ho pushnete.

Moje pravidlo: kód od AI čítam ako pull request od nového kolegu. Hľadám hlavne:

  • Či nerieši viac, než som chcel (zmenil aj niečo „pri tom“).
  • Či nevymyslel funkciu alebo knižnicu, ktorá neexistuje.
  • Či správne ošetril chyby, prázdne hodnoty a hraničné prípady.
  • Či sa nedotkol bezpečnosti: práva, vstupy od používateľa, SQL.

Ak nerozumiete riadku, spýtajte sa AI, prečo tam je. Ak vám to nevie rozumne vysvetliť, riadok tam nepatrí.

3. Testy a kontroly robia prácu za vás

AI je výborná v tom, že nezabudne spustiť kontrolu — ak ju máte. Preto sa oplatí mať v projekte pár jednoduchých skriptov:

npm run build        # prejde to vôbec?
npm run lint         # štýl a zjavné chyby
npm test             # správanie

A povedať AI: „Po každej zmene spusti tieto tri príkazy a ukáž mi výsledok.“ Nie „myslím, že by to malo fungovať“, ale výstup príkazu. Rozdiel medzi „malo by“ a „funguje“ je presne ten, ktorý vás v piatok večer stojí nervy.

4. Jedna úloha = jedna vetva

Keď AI pracuje na viacerých veciach naraz v jednom priečinku, zmeny sa pomiešajú a neviete, čo patrí k čomu. Preto:

  • každá úloha dostane vlastnú git vetvu,
  • väčšie úlohy dostanú aj vlastný pracovný priečinok (git worktree, o tom píšem v samostatnom článku),
  • do hlavnej vetvy ide len to, čo ste skontrolovali.

Vďaka tomu môžete mať pokojne tri úlohy rozpracované naraz a každú hodiť do koša, ak sa nepodarí.

5. Kontext je drahý — dávajte ho s rozumom

AI pracuje s tým, čo jej dáte. Ak jej dáte celý projekt, zahltí sa a zaplatíte za to (doslova, v tokenoch). Ak jej nedáte nič, bude hádať.

Čo pomáha:

  • Krátky súbor s pravidlami projektu v koreni repozitára: ako sa spúšťa, čo sa nesmie, kde čo je. Nie román — jedna obrazovka.
  • Dokumentácia pri moduloch: čo modul robí, aké má tabuľky, na čo si dať pozor. AI si ju prečíta, keď na modul príde rad.
  • Nová téma = nový rozhovor. Dlhý rozhovor sa pri každej odpovedi posiela znova celý. Keď prejdete na inú vec, začnite odznova.

6. Dôležité rozhodnutia robíte vy

AI vám rada navrhne, že „by bolo dobré“ prepísať polovicu aplikácie. Niekedy má pravdu. Ale či sa to oplatí, kedy a za koľko, rozhodujete vy. To isté platí pre všetko, čo sa nedá vziať späť:

  • mazanie dát,
  • zmeny v produkčnej databáze,
  • nasadenie, platby, prístupy.

Pri týchto veciach nech sa AI vždy opýta. A vy si prečítajte, na čo hovoríte áno.

7. Nechajte AI pracovať samostatne — ale na vodítku

Keď už máte poriadok (vetvy, kontroly, pravidlá), môžete AI dať aj väčšiu úlohu a ísť spať. Ráno nájdete hotovú vetvu, výsledky kontrol a snímky obrazovky. To je obrovská sila.

Podmienka je jedna: nič z toho sa nesmie dostať k zákazníkovi bez vás. Samostatnosť áno, nasadenie bez kontroly nie.

Časté otázky

Môže AI nahradiť programátora? Nie. Urobí z vás rýchlejšieho programátora, ak rozumiete tomu, čo robíte. Rozhodnutia, kontrolu a zodpovednosť za výsledok nechajte na človeku.

Ako zadať AI úlohu, aby výsledok sedel? Rovnako ako kolegovi: v ktorom súbore, aké správanie chcete a ako overíte, že funguje. Čím konkrétnejšie zadanie, tým menej opráv.

Je bezpečné nechať AI pracovať samostatne? Áno, ak má vlastnú vetvu, kontroly a jasné pravidlá, čo nesmie. Nič z jej práce sa však nesmie dostať k zákazníkovi bez vašej kontroly.

Na záver

AI z vás neurobí programátora. Urobí z vás rýchlejšieho programátora — ak už rozumiete tomu, čo robíte. Juniorom preto hovorím: používajte ju, ale každý deň si nechajte aspoň jednu vec, ktorú napíšete sami a úplne jej rozumiete. Tá vás naučí viac než desať vygenerovaných.

Súvisiace články

  • #AI
  • #programovanie
  • #code review
  • #juniori
  • #git

More from the blog