Jedna izmena, nijedna od onih trista.
Kad hoćeš da promeniš jednu stvar u projektu koji je napravio AI agent, najveći strah je da će usput promeniti još trista. Recept ima tri koraka: suzi izmenu i pusti ga da samo pročita, proveri da je razumeo, pa tek onda reci kako želiš da izgleda i šta ne sme da dira.
Šta odnosiš iz ove epizode
- CLAUDE.md je karton kod lekara. Agent iz njega zna ko si, ali ne zna šta te danas boli.
- Pre svake izmene reci gde je, pusti ga da pročita sve što to dotiče i zabrani mu da bilo šta menja.
- Ne opisuj šta hoćeš dok ne vidiš da je razumeo kako stvari sada rade.
- Uz to šta hoćeš, uvek napiši i šta ne sme da dira.
- Izmenu na kraju testiraš uživo, kao korisnik, ne samo na primerima koje ti agent pokaže.
Kako da izmeniš projekat napravljen sa AI agentom, a da ne pokvariš ostalo?
U tri koraka, i nijedan ne preskačeš.
Prvi korak: suziš. Kažeš agentu na koji deo se izmena odnosi, tražiš da pročita sve fajlove koji taj deo dodiruju i da ti objasni kako sada radi, i zabraniš mu da bilo šta menja. Drugi korak: proveriš da je razumeo. Pročitaš njegovo objašnjenje i vidiš da li je obuhvatio sve što treba. Treći korak: tek onda kažeš kako želiš da izgleda, i u istoj poruci napišeš šta ne sme da dira. Na primeru iz ove epizode, kviz je slao rezultat kao ogoljen tekst u telu maila, a trebalo je da stiže kao PDF izveštaj. Posle ova tri koraka promenilo se tačno to. Pitanja, logika i izgled kviza ostali su isti. Jedna izmena, nijedna od onih trista kojih sam se plašio.
Šta Claude Code zna o projektu kad ga otvoriš?
Zna sve što piše u CLAUDE.md, a to je kao karton kod lekara.
Kad u terminalu uđeš u folder projekta sa cd i pokreneš claude, alat automatski učita CLAUDE.md. Komandom /context možeš da vidiš šta je sve učitao. U tom fajlu je sačuvano sve što je dogovoreno kad je projekat pravljen: kakav je ovo projekat, šta radi i koja pravila ne smeju da se prekrše. Kod kviza piše da je to kviz od četiri pitanja i koja su pravila. Zamisli da dođeš kod lekara. On otvori karton i odmah zna ko si i šta si imao ranije. Ono što iz kartona ne može da sazna je šta te boli danas. To mu ti kažeš. Isto je sa agentom. Ako CLAUDE.md postoji, ne moraš svaki put da objašnjavaš ceo projekat ispočetka. Moraš samo da kažeš šta se danas menja. Kako nastaje CLAUDE.md objasnio sam u epizodi o instalaciji.
Zašto agentu prvo kažeš da samo pročita i ništa ne menja?
Zato što izmena retko živi na jednom mestu, a ti to obično ne znaš.
Poruka koju sam mu poslao je bila otprilike ovakva: izmena se odnosi na rezultat kviza i na mail koji se šalje posle kviza. Pročitaj sve fajlove koji dodiruju te delove i objasni mi kako to sada radi. Ništa ne menjaj. U njoj su tri stvari. Prva je gde je izmena, da agent ne traži po celom projektu. Druga je da pročita i sve što taj deo dodiruje, jer se često desi da promeniš jedno mesto i misliš da je to to, a postoje još tri mesta koja koriste istu informaciju. Treća je kočnica. Bez rečenice „ništa ne menjaj” agent ima tendenciju da odmah krene da radi, jer mu je zadatak da isporuči nešto. Ovako prvo dobiješ mapu terena, a tek onda odlučuješ šta se na njoj menja.
Kako proveriš da je agent razumeo šta menjaš?
Pročitaš njegovo objašnjenje i proveriš da li je obuhvatio ceo deo, ne da li razumeš svaki detalj.
Kod mene je izlistao sve fajlove koji učestvuju u rezultatu i mailu: gde se računa rezultat, kako je napravljen ekran sa rezultatom, preko čega se šalje mail. Dobar deo toga su tehničke stvari koje ne moraš da razumeš. Ono što proveravaš je obim. Da li je pomenuo i ekran rezultata i mail? Da li mu je nešto promaklo što ti znaš da postoji? Zanimljivo je bilo i šta je napisao na kraju. Rekao je da pripremamo izmenu rezultata i maila, da je objasnio kako sada rade bez ikakve izmene koda, i da je sledeći korak da mu ja kažem šta tačno treba da se promeni, pa da planiramo. Dakle, stao je tačno tamo gde je trebalo. To je znak da je kočnica radila i da je spreman za treći korak.
Kako opisati izmenu da agent uradi tačno ono što hoćeš?
Opišeš kako treba da izgleda kad je gotovo, deo po deo, i napišeš šta ne sme da dira.
Za PDF izveštaj sam napisao ovako. U mailu i dalje stoji ko je popunio kviz, za koji proces i moja pozdravna poruka. Izveštaj ide u prilogu. U centru izveštaja je rezultat kviza i preporuka, kreni ili ne još. Ispod toga svako pitanje pojedinačno, odgovor na njega i objašnjenje šta taj odgovor znači. Na kraju sledeći koraci i poziv da potraži moju pomoć, sa linkom koji otvara mail. Za izgled sam mu rekao da koristi iste dizajn tokene kao kviz i sajt, dakle iste boje i fontove, da ne izmišlja novi stil. I poslednje, šta ne dira: pitanja, logika i izgled kviza ostaju isti. To je negative prompting. Nije dovoljno reći šta da radi. Moraš da kažeš i šta ne sme.
Šta kad rezultat nije baš kako si hteo?
Tražiš još jednu malu izmenu, istim putem, umesto da sve vraćaš ispočetka.
Kad je završio, agent mi je dao tri primera PDF-a, za sva tri moguća rezultata: kreni, kreni uz napomenu i ne još. Uzeo je boje sa sajta, gore ima proces, ko je popunio i datum, ispod su odgovori sa objašnjenjem, a na kraju sledeći koraci i poziv da potraži pomoć. To je bilo to što sam tražio. Ali kad sam ih pregledao, video sam da se oznake kod pitanja, prolazi, prolazi uz napomenu i pada, teško razlikuju. Zato sam tražio još jednu sitnicu: pada da bude crveno, prolazi zeleno, a prolazi uz napomenu žuto. Posle toga je izveštaj „ne još” odmah imao smisla. Ovo je normalan tok. Retko kad prvi pokušaj bude tačno ono što imaš u glavi, i to nije problem dok su ispravke male i jasne.
Kako proveriš da izmena radi uživo?
Prođeš ceo put kao korisnik, od prvog pitanja do maila u sandučetu.
Primeri koje ti agent pokaže su korisni, ali to su primeri. Pravi test je da otvoriš kviz, odgovoriš na pitanja, ostaviš svoj mail i vidiš šta stvarno stigne. Ja sam namerno birao odgovore koji padaju, da vidim najgori slučaj: zavisi se pojavi tri puta, svako bi proces radio na svoj način. Na ekranu je stiglo „Ne još. Ovaj proces nije dobar za početak.” U sandučetu je stigao mail sa mojim imenom, procesom i pozdravom, a u prilogu PDF sa rezultatom, obojenim oznakama i pozivom na kraju. Tek tada je izmena gotova. Ovo je isti princip kao u prethodnoj epizodi: kod je gotov kad agent kaže da je završio, a proizvod kad ga ti prođeš od početka do kraja.
Često postavljana pitanja
Šta je komanda /context?
Komanda u Claude Code-u koja pokazuje šta je agent učitao kao kontekst, uključujući CLAUDE.md.
Da li moram da razumem tehničko objašnjenje koje agent da u drugom koraku?
Ne. Proveravaš da li je obuhvatio sve delove koje izmena dodiruje, ne kako su napisani.
Zašto ne opisati izmenu odmah u prvoj poruci?
Zato što prvo želiš da vidiš da je pronašao sva mesta koja izmena dotiče. Ako odmah opišeš izmenu, on odmah i menja.
Šta je negative prompting?
Deo uputstva u kom kažeš šta agent ne sme da dira. U ovoj epizodi: pitanja, logika i izgled kviza.
Kako da dobijem PDF izveštaj za svoj proces?
Prođi kviz i ostavi mail. Izveštaj stiže u prilogu.
Transkript
Kratka horor priča
Kratka horor priča. Napravio si nešto sa AI agentom, radi, i hoćeš da promeniš jednu jedinu stvar, ali se plašiš da će ti promeniti još trista.
Ovaj kviz sad ima četiri pitanja. Trenutno radi na sajtu, ali rezultat stiže kao ogoljen tekst u body-ju maila. Blah.
Ja sam Mirko. Ne pišem kod rukom, pišem specifikacije. Ovaj kviz je napravljen da vam kaže da li je vaš proces spreman za automatizaciju, a ja ću ga danas menjati i pokazaću vam kako da, dok menjamo postojeći projekat, ne puknu stvari koje već rade.
Terminal, sva programerska magija
Okej, šta ćemo prvo da uradimo? Ulazimo u folder u kom se nalazi projekat. cd, change directory, kviz-ep03, tako se zove moj folder. Kad uđemo u folder, što ćete videti po ovom nastavku ovde, ukucamo claude, i to je komanda koja otvara Claude Code u našem specifičnom projektu. To je sva programerska magija.
CLAUDE.md, karton kod lekara
E sad, da bi ova izmena bila bezbolna. Čim otvorite Claude Code, ono što Claude sam uradi, sad ću vam pokazati sa /context. Evo ga. On učita nešto što se zove CLAUDE.md.
Ovo zamislite kao da dođete kod doktora, i CLAUDE.md je vaš karton. On ga otvori i automatski zna ko ste, šta ste i tako dalje. Ono što ne zna je bukvalno šta vas boli danas.
Sad ću vam baš kratko pokazati, da vam ne bude apstraktno. Evo, u našem folderu kviz-ep03 se nalazi taj CLAUDE.md fajl, i u njemu u suštini piše šta je ovo, dakle kakav je ovo projekat. To je kviz od četiri pitanja. I koja su pravila koja ne smeju da se krše.
Sve ono što smo napravili inicijalno, kad smo pravili projekat, on sačuva tu kao kontekst. U suštini, ovo je vaš karton. Sad je red na vas da kažete doktoru šta vas boli.
Korak 1: suzi i neka pročita, ništa ne menja
Okej. Sad kad znamo da ima taj master kontekst, moramo da mu kažemo na šta se ova izmena odnosi i da se upozna sa fajlovima i stvarima koje ona dotiče. Pisaćemo bukvalno ovako: izmena se odnosi na rezultat kviza i na email koji se šalje nakon kviza. Pročitaj sve fajlove koji dodiruju te delove i objasni mi kako to sada radi. Ništa ne menjaj.
E sad, šta sam ja uradio? Rekao sam mu gde je izmena, u kom delu. Onda sam mu rekao da pročita taj deo i sve delove koji ga dodiruju, jer nekad promenite na jednom mestu i mislite, aha, to je to, a ono ima još tri mesta koja koriste tu istu informaciju. I poslednja stvar je kočnica, koja kaže ne menjaj ništa.
Korak 2: proveri da je razumeo
Okej, izbacio je. Kaže, svi fajlovi koji učestvuju u tome. Pored onog CLAUDE.md-a, koji je master kontekst da razume ceo projekat, mi smo mu sad rekli: e, a za ovaj konkretan deo proizvoda koji smo napravili, skapiraj šta on sve dodiruje i pokriva. I on je to i uradio. Čak kaže kako se računa rezultat i u kom se fajlu to nalazi, ima detaljno objašnjenje ekrana rezultata, taj fajl za sebe, komponentu, kako se šalje, API rutu.
Da sad ne nabrajam, ovo su super tehničke stvari, nije bitno. Šta smo mi sad uradili? Učitao je master kontekst, dakle imali smo karton kod lekara. To smo uradili. Sledeći korak je bio vaša žalba lekaru. Vi ste rekli: e, nešto me ovde lakat. I sledeće što treba da uradimo, a tu analogija sa lekarom nije baš dobra, je da mu kažemo: e, ja bih voleo da lakat normalno radi, a ne da mi nešto krcka.
Mislim, lekar zna kako normalno funkcioniše lakat, tako da ovde metafora i nije najbolja, ali razumete šta hoću da kažem.
Korak 3: kaži kako želiš da izgleda
Super, i interesantna stvar. Pogledajte šta kaže recap: „Pripremamo izmenu rezultata kviza i maila posle kviza. Objasnio sam kako sada rade, bez ikakvih izmena koda. Sledeće, ti mi kažeš šta tačno treba da se promeni, pa planiramo izmenu.” Aha. Sve smo mu dali od konteksta. Elem, želim da sada izgleda ovako.
PDF izveštaj
Umesto teksta u body-ju maila, želim da imamo PDF izveštaj. U emailu će i dalje stajati informacije ko je popunio, za koji proces, i pozdravna poruka Mirka koja kaže: „Hvala što ste koristili naš kviz. Za sva pitanja stojim na raspolaganju.”
E sad, PDF izveštaj treba da sadrži sledeće stvari. Centralna komponenta je rezultat kviza i preporuka, go ili no go. Nakon toga svako pitanje pojedinačno, odgovor na to pitanje i objašnjenje šta taj odgovor zapravo znači. Na kraju su neophodni sledeći koraci i, naravno, CTA, potraži pomoć od Mirka, koji vodi na mailto: mirko@mileva.io.
Vizuelni identitet PDF-a. Za vizuelni identitet PDF-a koristi dizajn tokene koje smo koristili na samom kvizu i sajtu mirkoradeka.com.
Sad bitna stvar, šta ne diraš. Pitanja, logika i izgled kviza ostaju isti. Negative prompting. Mnogo je bitno da mu kažeš: ovo radi, ali ovo ne diraj. Dobro.
I Claude je završio. Kaže, rezultat se sad šalje kao PDF u prilogu maila. Telo maila ima samo ko je popunio kviz, proces i tvoj pozdrav. Pitanja, logika i izgled kviza su ostali isti. Tako da on sad ovde daje siže šta je urađeno, i dao mi je primere za sva tri moguća rezultata: kreni, kreni uz napomenu, ili ovaj proces još nije spreman.
I sad ću da vam pokažem kako izgledaju. Ovaj je kreni. Kao što vidite, uzeo je boje. Gore ima koji je proces, ko ga je popunio i kog datuma. I onda idu odgovori, i kao što smo rekli, ispod savet, odnosno komentar. Dobro. I na kraju ima sledeći koraci i potraži pomoć od Mirka. Odlično.
Da vidimo za ne još. Dobro. Pada, prolazi uz napomenu, pada, pada. „Reši razloge zbog kojih proces pada.” Odlično.
Ima i kreni uz napomenu. „Zeleno svetlo, ali pre nego što kreneš, pogledaj ovo.” „Proveri da li imaš neki proces koji radiš češće. Takav je bolji za početak.” „Proces treba zategnuti.” Tako da je to manje više to što smo hteli.
Druga izmena: crveno, žuto, zeleno
Ono što bih ja možda voleo: ovo prolazi, prolazi uz napomenu i pada, da obojimo nešto crveno, žuto, zeleno. Sad ću to i da mu kažem.
Da li možeš kod svakog pitanja…
Ja nekad stvarno umrem od smeha sam sebi koliko sam fin sa ovim AI-jem, ali sam iz fazona, ako nekad poludi, nek se seti da sam ga lepo pitao da li može da radi stvari.
…kada imamo rezultat pada, prolazi i prolazi uz napomenu, da staviš boje. Za pada koristi crvenu boju, za prolazi zelenu, a za prolazi uz napomenu žutu.
E, kaže: „Oznake kod svakog pitanja su sada obojene”, bla, bla, bla. „Novi primeri su na istom mestu. Najbolje se vide u not-yet.pdf.” Ne još. Aha. Pada, prolazi uz napomenu, prolazi, pada. E, sad već ovo ima smisla.
Test uživo
E sad da vidimo da li radi. Idemo kviz. Moj proces, test. Dalje. Svaki dan ga radim. Zavisi se pojavi tri puta. Ja ili kolega. Svako bi ga radio na svoj način.
Evo sad moj mail. Slažem se. Pošalji. Kaže mi: „Ne još. Ovaj proces nije dobar za početak.”
Da vidimo da li je stigao mail. Opa! Tvoj izveštaj. Kviz je popunio Mirko Radeka. Hvala što si koristio naš kviz, za sva pitanja stojim na raspolaganju. Tvoj izveštaj je u prilogu kao PDF, i šablon po kom sam napravio kviz. Super.
Evo izveštaja. Moj proces. Ne još. Tvoji odgovori: prolazi, pada. Potraži pomoć od Mirka, evo maila. Tadaaa!
Recept u tri koraka
Kao što vidite, jedna izmena je tu, nijedna od onih trista. Šta smo uradili? On je već imao kontekst, odnosno naš karton. Mi smo dodatno suzili tako što smo mu rekli koji deo ćemo menjati, i tek kad smo videli da je razumeo, dali smo mu šta želimo da izmeni i kako želimo da to izgleda.
Ako vam se sviđa sadržaj, pretplatite se, delite, ostavljajte komentare, a ja ću nastaviti sa snimanjem. Pozdrav.
