Intervjuer se nasmeja: "Tako si jak, zašto onda sam ne isklesaš Claude Code?" Ja hladno odgovorih dve reči: "Samo to!"
Lao Wang je za dve sekunde prelistao moj CV, namestio naočare i pitao: "Vidim da si majstor za Claude Code, kad si tako jak, zašto sam ne isklesaš jedan?"
Zastao sam na trenutak, nasmejao se: "Samo to?"

Narednih 40 minuta sam od najosnovnije Agent petlje sloj po sloj rastavio 12-slojnu arhitekturu. Na kraju je rekao: "Odmah sredite papire za prijem!"
Danas taj razgovor sređujem i delim sa prijateljima koji se spremaju za intervju ili žele dublje da razumeju principe Agenta.
Prvo da objasnim pozadinu. Konkurisao sam za poziciju inženjera za razvoj AI aplikacija, sa zahtevom za iskustvom u razvoju Agenata. U CV-u sam zaista napisao "majstor za Claude Code, duboko razume osnovne principe", nisam ni sanjao da će me Lao Wang tražiti da sam isklesam jedan.
Srećom, ranije sam detaljno proučio open-source projekat learn-claude-code, inače bi bilo nelagodno na licu mesta.

Šta je learn-claude-code?
To je open-source tutorijal koji nas uči kako iz nule da implementiramo Agent nalik Claude Codeu. Osnovna ideja projekta je: The model is the agent. The code is the harness..
Vežite sigurnosne pojaseve, krećemo.
01. Šta je zapravo Agent
Prvo Lao Wangovo pitanje je direktno: "Objasni, koja je razlika između Agenta i običnog četbota?"
Običan četbot radi ulaz-izlaz, pitaš šta hoćeš, odgovara. Agent radi ulaz-razmišljanje-akcija-posmatranje-ponovno razmišljanje, u krug dok se zadatak ne završi.

Ključna razlika je u reči alat.
Agent može da poziva alate. Čitanje fajlova, pisanje koda, izvršavanje komandi, pretraga baze — ovi alati pretvaraju Agenta iz "ume da priča" u "ume da radi".
Na primer. Pitamo četbot "koliko Java fajlova ima u ovom projektu", on kaže "ne znam, možeš sa find komandom". Pitamo Agenta isto, on izvrši find komandu i kaže "našao sam 23 Java fajla".
To je razlika. Agent ne daje samo savet, on direktno rešava problem.
Dodao sam i jedno gledište: vrednost Agenta nije u tome koliko stvari ume, nego u tome što jednu stvar može samostalno da završi. Četbot je "savetnik", daje predlog ali ne odgovara; Agent je "izvršilac", kaže i uradi. Taj skok od "predloga" do "izvršenja" je ključni korak da AI aplikacija prestane da bude igračka i postane alatka.
"To je jasno razdvojeno." Lao Wang klima glavom.
"To je najosnovnija Agent petlja," kažem, "izgleda kao while petlja, ali definiše osnovni oblik Agenta."
client = anthropic.Anthropic()
while True:
user_input = input("You: ")
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": user_input}]
)
print(f"Claude: {response.content[0].text}")Lao Wang nadovezuje: "A koja je razlika između te petlje i običnog četbota?"
"Razlika je u 'stanju'." Objašnjavam. "Običan četbot je bez stanja, svaki zahtev je nezavisan. Agent ima stanje, održava kontekst koji određuje šta će sledeće da radi."
"Na primer korisnik kaže 'ispravi mi onaj fajl od malopre', Agent mora da zna koji je 'onaj fajl od malopre'. Ta informacija se čuva u kontekstu."
Lao Wang razmišlja: "Dakle suština Agenta je mašina stanja?"
"Može tako da se razume, ali je fleksibilnije od mašine stanja. Prelaz stanja mašine stanja je predefinisan, a prelaz stanja Agenta odlučuje sam model. Na osnovu trenutnog stanja i ulaza, model odluuje šta dalje."
02. Kako se alati pozivaju
"Dobro," nastavlja Lao Wang, "pošto je jezgro Agenta alat, kako se alat aktivira?"
Sam model ne zna kako da čita fajl ili izvršava komandu. Zna samo "postoji alat koji čita fajl, postoji alat koji izvršava komandu". Kako se to konkretno implementira, stvar je koda.
tools = [
{
"name": "read_file",
"description": "Čita sadržaj fajla na zadatoj putanji",
"input_schema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Putanja fajla koji se čita"
}
},
"required": ["path"]
}
}
]"Ključna tačka je ovde," nastavljam, "model na osnovu opisa description odlučuje kada da pozove taj alat. Koliko je opis dobro napisan direktno određuje da li će model pravilno koristiti alat."
Lao Wang me prekida: "A kad model pozove alat, kako se rezultat vraća?"

Model daje zahtev za poziv alata, sistem parsira i izvršava, pa rezultat vraća modelu. Model dobije rezultat i odlučuje da li nastavlja da poziva druge alate ili korisniku vraća konačan odgovor.
"Šta ako poziv alata ne uspe? Šta ako je timeout? Šta ako format rezultata nije dobar?" Lao Wang me prekida: "Možeš li konkretno?"
"Dobro. Neuspeh poziva alata se deli na više situacija. Prva je greška u izvršenju alata, na primer fajl ne postoji pri čitanju. U tom slučaju sistem vraća informaciju o grešci modelu, neka model odluči šta dalje. Možda proba drugu putanju, ili možda kaže korisniku da ne može da nađe fajl."
"Druga situacija je timeout alata. Na primer izvršava se komanda koja dugo traje, ne možeš da čekaš u nedogled. Claude Code postavlja timeout; kad istekne, modelu se vrati poruka 'zadatak se izvršava u pozadini', model može da radi druge stvari, a kasnije da proveri rezultat."
"Treća je pogrešan format rezultata. Model možda očekuje JSON, ali alat vrati običan tekst. Tada sistem mora da konvertuje format, ili da originalni rezultat umota u format koji model razume."

"Obrada ovih graničnih slučajeva je često ključ koji razdvara demo od produkcijskog Agenta," kažem.
Lao Wang navodi: "A u dizajnu alata, koje su najbolje prakse?"
"Ima ih nekoliko," kažem. "Prvo, opis alata mora biti konkretan. Ne piši 'čita fajl', piši 'čita sadržaj tekstualnog fajla na zadatoj putanji, podržava UTF-8'. Što je opisi konkretniji, model bolje zna kada da ga koristi."
"Drugo, parametre projektuj razumno. Ne sme biti previše parametara, model se zbuni; ni premalo, funkcionalnost nedostaje. Obično 3 do 5 parametara je dobro. Svaki parametar mora imati jasan opis i definiciju tipa."
"Treće, poruka o grešci mora biti ljubazna. Kad alat ne uspe, vraćena greška mora biti razumljiva modelu, da bi znao šta dalje. Na primer 'fajl ne postoji' je korisnije od 'Error: ENOENT'."
"Četvrto, postoje podrazumevane vrednosti i ograničenja. Na primer parametar putanje fajla može imati podrazumevanu vrednost koja je trenutni direktorijum; parametar stringa može imati ograničenje dužine. Tada model ređe greši pri pozivu."
03. Kako se kompleksan zadatak razlaže
"Sledeće pitanje," kaže Lao Wang, "ako korisnik kaže 'preuredi ovaj projekat', kako Agent to obrađuje?"
Kažem, model ne može po primitanju zadatka da krene odmah, nego prvo mora da napravi plan i razloži veliki zadatak na male korake.
PLAN_SYSTEM_PROMPT = """
Ti si asistent za planiranje zadataka. Primi korisnikov zadatak, prvo napravi plan izvršenja, razloži veliki zadatak na male korake.
Izlazni format:
1. Korak jedan: xxx
2. Korak dva: xxx
"""
def create_plan(task):
response = client.messages.create(
model="claude-sonnet-4-20250514",
system=PLAN_SYSTEM_PROMPT,
messages=[{"role": "user", "content": task}]
)
return parse_plan(response.content[0].text)"Na primer preuredite projekat, model prvo razlaže na: analiziraj strukturu projekta, prepoznaj module koji treba preurediti, napravi plan preuređenja, postepeno izvrši preuređenje."
Lao Wang navodi: "A ako se usred izvršenja otkrije da plan nije dobar?"
"Onda se plan dinamički prilagođava." Kažem. "Lepota Claude Codea je u tome što on ne samo da pravi plan, već i tokom izvršenja prilagođava plan prema stvarnoj situaciji. Nije to hardcovdovana logika, model sam procenjuje."

Lao Wang pita: "Koja je razlika između upravljanja planom i običnog task reda?"
"Razlika je u 'dinamičnosti'." Kažem. "Običan task red je statičan, zadatak jednom ušetan u red se više ne menja. Upravljanje planom je dinamično, model može na osnovu povratne informacije iz izvršenja u svakom trenutku da prilagodi plan."
"Naprimer u trećem koraku model otkrije da rezultati prva dva koraka ne odgovaraju očekivanju, može da preskoči neke korake, ili da ubaci nove, čak i da potpuno iznova napravi plan. Ta fleksibilnost hardkovdovani task red ne može."
"Još jedna tačka," dodajem, "upravljanje planom nije samo razlaganje zadatka, obuhvata i procenu resursa i procenu rizika."
"Na primer preuredite projekat, model pri planiranju treba da proceni koliko svaki korak dugo traje, koje resurse zahteva, koje rizike može da sretne. Tek tako korisnik može da oceni da li je plan izvodiv, da li treba da se prilagodi."
"Claude Code je u tome dobar. U planu označi koji su koraci 'kritična putanja', koji mogu 'paralelno da se izvršavaju', koji nose 'zavisni rizik'. Te informacije pomažu odluci." 
04. Kako više Agenata sarađuje
Lao Wang postaje očigledno zainteresovan: "Ako je zadatak previše kompleksan za jednog Agenta, šta onda?"
"Sub Agent."
class SubAgent:
def __init__(self, name, system_prompt):
self.name = name
self.system_prompt = system_prompt
self.context = [] # nezavisan kontekst
def execute(self, task):
response = client.messages.create(
model="claude-sonnet-4-20250514",
system=self.system_prompt,
messages=self.context + [{"role": "user", "content": task}]
)
self.context.append({"role": "user", "content": task})
self.context.append({"role": "assistant", "content": response.content[0].text})
return response.content[0].text"Podagent ima nezavisan kontekst, po izvršenju rezultat izveštava glavnom Agentu."
"Na primer," kažem, "glavni Agent odgovara za arhitekturu celog projekta, može da napravi tri podagenta: jedan specijalizovan za analizu kvaliteta koda, jedan za pisanje test case-ova, jedan za obradu dokumenata. Tri podagenta paralelno rade, na kraju rezultate skupe glavnom Agentu."
Lao Wangu se zahuktalo: "To pomalo liči na ideju mikroservisne arhitekture?"
"Da!" kažem. "Model saradnje Agenata je sličan mikroservisima. Svaki Agent ima jednu odgovornost, sarađuju preko prosleđivanja poruka. Ali je fleksibilnije, jer se Agent 'razdvaja' i 'spaja' dinamički, a ne statično postavlja."

Lao Wang pita: "Kako se upravlja kontekstom podagenta? Ako više podagenta istovremeno pristupa istom resursu, da li će biti konflikta?"
"Dobro pitanje." Kažem. "Izolacija radnog stabla (worktree isolation) rešava to. Svaki podagent ima nezavisan radni direktorijum, ne mešaju se. Kao Docker kontejneri, svaki Agent radi u svojoj pesku."
"U konkretnoj implementaciji, glavni Agent prilikom kreiranja podagenta dodeljuje mu privremeni radni direktorijum. Sve operacije nad fajlovima podagenta ograničene su na taj direktorijum. Po izvršenju, glavni Agent može da zadrži rezultat ili da obrise privremene fajlove."
"Ovaj dizajn ima više prednosti:" nabrajam. "Prvo, bezbednost, podagent ne može slučajno da obriše fajlove glavnog; drugo, paralelizam, više podagenata može istovremeno da radi, bez brige o konfliktu fajlova; treće, reproduktivnost, svako izvršenje je čista sredina, bez čudnih problema usled zaostataka."
Lao Wang još više: "Ovaj dizajn je sličan ideji kontejnerizacije u CI/CD."
"Da, mnogi inženjerski problemi imaju zajedničko rešenje."
"Još da dodam," kažem, "podagent nije samo podela posla, može se implementirati i kao 'sistem eksperta'."
"Na primer glavni Agent je 'full-stack inženjer', njegovi podagenti mogu biti 'frontend ekspert', 'backend ekspert', 'baza ekspert'. Svaki ekspert ima svoju bazu znanja i najbolje prakse, efikasnije rešava probleme iz svoje oblasti od opšteg Agenta."
"Ovaj model je posebno koristan u kompleksnim projektima. Jedna osoba ne može da poznaje sve tehnološke stekove, ali tim može. Saradnja više Agenata simulira model timskog rada."
Lao Wang pita: "A kako glavni Agent zna koje podagente da napravi?"
"Može se unapred definisati u system prompt-u, ili neka glavni Agent sam proceni. Claude Code radi tako što glavni Agent nakon analize zadatka dinamički napravi potrebne podagente prema tipu zadatka. Po završetku, podagent se uništava i resursi se oslobađaju."
"Još jedan detalj," kažem, "kreiranje i uništavanje podagenta je suštinski i 'upravljanje resursima'. Ako se podagent nakon završetka ne uništi, zauzeće memorije i prostora konteksta je veliko. Zato glavni Agent mora blagovremeno da čisti podagente koji mu više nisu potrebni."
"Claude Code radi tako što podagent po izvršenju vrati rezultat glavnom Agentu, a zatim pređe u 'hibernaciju'. Ako izvesno vreme nema novih zadataka, potpuno se uništi. Ova strategija 'lenjog uništavanja' i obezbeđuje brzinu odziva i izbegava rasipanje resursa."
05. Šta kad alata ima previše
"Kad alata ima mnogo," pita Lao Wang, "da li se kod svakog zahteva svaki alat gura modelu?"
"Naravno da ne, učitava se po potrebi."
Kažem, ne guraju se svi alati modelu, već se prema tipu zadatka dinamički učitavaju relevantne definicije veština.
"Na primer korisnik kaže 'pretraži mi bazu', Agent učita alate za bazu; korisnik kaže 'ispravi mi frontend kod', Agent učita frontend alate."
"Ovo ima dve prednosti," podižem dva prsta, "prvo, smanjuje potrošnju token-a, model ne mora da pregleda gomilu definicija alata koje neće koristiti; drugo, povećava preciznost poziva, što manje alata, to je veća verovatnoća da model izabere pravi."
Lao Wang pita: "Kako se ocenjuje koji alati treba da se učitaju?"
"Postoje razne strategije. Najprostije je poklapanje ključnih reči, korisnik u ulazu pomene 'bazu' pa se učitaju alati za bazu. Pametniji pristup je da model sam oceni, prvo mu se da katalog alata, neka izabere koje da učita."
"Claude Code ide korak više, održava biblioteku veština, gde je svaka veština skup povezanih alata. Na primer veština 'operacije nad bazom' sadrži konektuj, pretraži, ubaci, obriši i druge alate; veština 'operacije nad fajlovima' sadrži čitaj, piši, kopiraj, obriši i sl."
"Korisnik kaže 'pretraži mi podatke', Agent učita veštinu 'operacije nad bazom'; korisnik kaže 'ispravi mi konfiguraciju', Agent učita veštinu 'operacije nad fajlovima'. Tako je granulacija krupnija i upravljanje lakše."

Lao Wang klima glavom: "Ovaj dizajn je vrlo razuman. U realnosti naš alatni fond može imati desetinče ili stotinče alata, gurati sve unutra stvarno nema smisla."
"A još," dodajem, "učitavanje veština može da se kombinuje sa hot reload-om. Na primer korisnik iznenada kaže 'poveži Redis', Agent dinamički učita Redis veštinu, bez restarta."
"Ova sposobnost dinamičkog učitavanja daje Agentu sposobnost da 'uči nove veštine'. Kao ljudi, kad naiđe na nešto što ne ume, prvo uči pa radi."
Lao Wang pita: "Da li veštine mogu da dođu u sukob?"
"Mogu. Na primer veština 'operacije nad fajlovima' i veština 'operacije nad bazom' možda imaju alate vezane za 'čitanje'. Tada treba namespace da ih razdvoji, na primer file.read i db.read."
"Osim toga, redosled učitavanja veština je važan. Neke veštine zavise od drugih, prvo se moraju učitati zavisnosti. Claude Code radi tako što svaka veština deklariše svoje zavisnosti, sistem ih učitava po topološkom sortiranju."
06. Šta kad je kontekst predug
"Još jedno pitanje," kaže Lao Wang, "ako je istorija razgovora preduga i ponestane token-a?"
"Kompresija konteksta."
Kažem, kada je istorija razgovora preduga, ne radi se prostom presekcu, nego izdvajanjem ključnih informacija i zadržavanjem važnog konteksta.
"Kako konkretno?" pita.
"Postoje strategije. Najprostija, zadrži zadnjih N krugova razgovora, odbaci starije. Ali tako gubiš važne informacije. Bolje je da model sam sažima ključne tačke istorije, a zatim zameni originalni razgovor sažetkom."

"Claude Code je pametniji. Prepoznaje koje su informacije 'faktičke', na primer putanje fajlova, isečci koda, konfiguracioni parametri, koje mora zadržati; a koje su 'procesne', na primer postupak pokušaja i greške, međukoraci izvođenja, koje se mogu kompresovati."
Lao Wang razmišlja: "To pomalo liči na ljudski mehanizam pamćenja, važno pamtimo, nevažno zaboravljamo."
"Da, dizajn Agenta često simulira ljudske kognitivne mehanizme."
Lao Wang nadovezuje: "Da li kompresija može da izgubi važne informacije?"
"Može, zato se strategija kompresije mora pažljivo dizajnirati." Kažem. "Jedan pristup je slojevita kompresija. Najnovijih nekoliko krugova razgovora ostaju potpuni, nešto stariji idu u laku kompresiju (zadržavaju ključne informacije), još stariji u tešku kompresiju (samo zaključke)."
"Drugi pristup je uključivanje korisnika. Kad Agent oseti da mora da kompresuje, prvo traži saglasnost korisnika, ili mu prikaže sažetak i traži potvrdu da li da ga zadrži."

"Svrha kompresije je da u ograničenom prozoru konteksta zadrži najvrednije informacije. To nije prosta preseka, nego proces destilacije informacija."
"Još jedna napredna tehnika," kažem, "kompresija konteksta se može kombinovati sa 'pamćenjem'."
"Neke informacije iako u trenutnom razgovoru nisu potrebne, kasnije mogu biti korisne. Na primer korisnik kaže 'voli razmak za uvlačenje', ta informacija se može sačuvati u dugoročno pamćenje, pa se sledeći put pri obradi koda automatski primenjuje."
"Claude Code iako nema eksplicitno dugoročno pamćenje, kroz kompresiju konteksta u stvari implementira 'kratkoročno pamćenje'. Kompresovani sažetak je suština pamćenja."
Lao Wang pita: "Kako se razlikuje dugoročno od kratkoročnog pamćenja?"
"Kratkoročno pamćenje je na nivou sesije, po završetku razgovora se čisti; dugoročno pamćenje je na nivou korisnika, čuva se kroz sesije. Na primer korisnikove navike kodiranja, struktura projekta, česte komande, mogu se sačuvati u dugoročno pamćenje."
"Za implementaciju dugoročnog pamćenja potreban je spoljašnji storage, na primer baza ili fajl. Pri početku svake sesije relevantno dugoročno pamćenje se učita u kontekst; tokom sesije, novo naučene informacije se ažuriraju u dugoročno pamćenje."
07. Kako se zadaci paralelno izvršavaju
"Ako između više zadataka ne postoji zavisnost," pita Lao Wang, "da li se mogu paralelno izvršavati?"
"Zadaci se organizuju kao usmereni aciklički graf (DAG), podržana je paralelna izvršenja."
Čitaj konfiguraciju -> Analiziraj kod -> Generiši izveštaj
| |
v v
Učitaj zavisnosti Proveri pravila"Čitanje konfiguracije i učitavanje zavisnosti mogu paralelno, analiza koda i provera pravila mogu paralelno, ali generisanje izveštaja mora da sačeka da prethodni završe."
"Prednost je efikasnost." Kažem. "Ne moraju svi zadaci redom, neki mogu istovremeno. Posebno kod obrade velikih projekata paralelna izvršenja štede mnogo vremena."
Lao Wang pita: "U implementaciji, kako se ocenjuje međusobna zavisnost zadataka?"
"Model može sam da analizira." Kažem. "Modelu se da lista zadataka, neka ispiše graf zavisnosti. Ili još prostije, korisnik eksplicitno odredi. Claude Code radi tako da model pri izradi plana istovremeno ispiše zavisnosti."

Lao Wang pita: "A ako paralelni zadaci dođu u sukob?"
"Za to su tu pozadinski zadaci i izolacija radnog stabla." Kažem. "Svaki zadatak ima nezavisan radni direktorijum, ne mešaju se. Čak i ako dva zadatka istovremeno pišu fajlove, pišu u različite direktorijume, bez konflikta."
"Po završetku svih paralelnih zadataka glavni Agent odlučuje kako da spoji rezultate. Možda prosta agregacija, možda dalja obrada."
"Još jedna situacija je da iako između zadataka nema direktne zavisnosti, dele neke resurse. Tada je potreban mehanizam brava ili red poruka za koordinaciju."
08. Harness Engineering
Ovde sam stao da popijem vode.
Lao Wang kaže: "Hoću da te pitam nešto više nivoa: šta je suština razvoja Agenata?"
"Dobro pitanje." Kažem. "Harness Engineering."
"Šta to znači?"
"Ranije smo pravili AI aplikacije sa idejom: napraviću workflow, čvor A povežem sa čvorom B, čvor B sa čvorom C, pa neka model na svakom čvoru radi."

"Agent je sam model. Model je već naučio da zaključuje, planira, poziva alate. Tvoj posao nije da planiraš za njega, nego da mu obezbediš dobro okruženje — alate, znanje, dozvole, kontekst."
"Kao da zaposliš veoma sposobnog radnika. Ne moraš mu da kažeš svaki korak, nego da mu opremiš računar, da mu otvoriš sistemske dozvole, da mu spremiš dokumentaciju i podatke, pa da ga pustiš da sam radi."
"Osim toga, Harness Engineering naglašava 'dizajn dobrog okruženja', što zahteva od inženjera duboko razumevanje biznisa. Samo ko razume biznis može da projektuje upotrebljive alate i dobro organizuje bazu znanja."
Lao Wang se nasmeja: "Ovo gledište ti je veoma zanimljivo."
"Da odem dublje," kažem, "suština Harness Engineeringa je 'poverenje u model'."
"Ranije nismo verovali modelu, mislili smo da nije dovoljno pametan, pa smo dizajnirali kompleksne workflow-e da ga 'vodimo'. Sada vidimo da je model već dovoljno pametan, naše je da ga 'pustimo' da sam radi."
"To poverenje nije slepo, nego zasnovano na razumevanju sposobnosti modela. Znaš šta može, šta ne može, pa projektuješ odgovarajuće okruženje da to iskoristi."
"Kao i vođenje tima. Odličan menadžer ne govori radnicima svaki korak, nego postavlja cilj, obezbeđuje resurse, stvara okruženje, pa pušta radnike da samostalno deluju. Harness Engineering je baš to."
09. Kao ubaciti Agenta u projekat
Lao Wang je pogledao sat: "Vreme je pri kraju, poslednje pitanje: da bi ovo primenio u realnom projektu, kako bi?"
"Išao bih u tri koraka."
"Prvi korak, napravi najosnovniju Agent petlju. Nemoj odmah težiti potpunosti, prvo osnovu da proradi."
"Drugi korak, prema potrebama biznisa, postepeno dodaj sposobnosti. Treba čitanje fajlova — dodaj read_file alat; treba izvršavanje komandi — dodaj execute_command. Ne dodaj sve odjednom, svaki dodati sloj validiraj."
"Treći korak, kad kompleksnost biznisa naraste, razmisli o podagentima, grafu zadataka, kompresiji konteksta i drugim naprednim svojstvima."
"Iskreno, kod razvoja Agenta najveći strah je pohlepa za sveobuhvatnošću. Odmah hteti sveobuhvatnog Claude Codea najčešće završi napola. Od jednostavnog početka, postepena iteracija, je pravi pristup."
Lao Wang pita: "U stvarnoj primeni, koja je najveća zamka?"
"Tri zamke." Kažem. "Prva je prekomerni dizajn. Mnogi vide kako je Claude Code moćan i odmah hoće sve odjednom. Kompleksnost koda eksplodira, ne mogu ni sami da održavaju."
"Druga zamka je ignorisanje graničnih slučajeva. Demo radi normalno, u realnoj sredini sve puca. Fajl ne postoji, mrežni timeout, nedovoljne dozvole, sve se mora predvideti."
"Treća zamka je loš dizajn alata. Opis alata je nejasan, model ne zna kad da ga koristi; parametri su loše projektovani, model uvek pogrešno prosledi. Ti detalji jako utiču na iskustvo."

Lao Wang se nasmeja: "Ova metodologija tvoga, iz learn-claude-codea je ili sam si je sažeo?"
"I jedno i drugo." I ja se nasmejah. "Projekat mi je dao okvir, praksa mi je pokazala šta je stvarno korisno."
"Dobro, vrlo dobro, odmah sredite papire za prijem!" Lao Wang je očigledno uzbuđen.
10. Saveti za one koji se spremaju za intervju
Ako se i ti spremavaš za intervjue iz AI-ja, imam nekoliko saveta.
Prvo, ne ostavljaj se samo na nivou "koristio sam". To što si koristio Claude Code, Cursor, Codex samo pokazuje da ne odbijaš nove tehnologije. Pravi plus je kad možeš da objasniš principe ispod.
Drugo, izaberi jedan open-source projekat i detaljno ga prouči. Na GitHubu ima mnogo dobrih Agent projekata, izaberi onaj koji te zanima, pročitaj kod, sam ga pokreni, najbolje i izmeni. Taj proces vredi više od deset blog postova.
Treće, nauči se "da pripovedaš". Intervju nije ispit, razgovor je. Tehničke detalje upakuj u priču sa logikom i uzbuđenjem, to više pokreće interviewera nego suvo pamćenje činjenica.
Na kraju, zadrži radoznalost i entuzijazam za učenje. Oblast AI se menja prebrzo, današnja vruća tehnologija sutra može biti zastarela. Ali osnovni principi i sposobnost rešavanja problema ne zastarevaju nikada.

Ko ume da koristi alat taj je alatom definisan; ko razume principe taj definiše alat.
Ta razlika u AI eri biće beskonačno uvećana.
Razvoj Agenata nije tako mističan kao što se čini. To nije neka duboka crna magija, nego slojevito dodavanje sposobnosti. Od najprostije petlje razgovora: dodaj alate, dodaj planiranje, dodaj podagente, dodaj kompresiju — svaki sloj rešava konkretan problem.
Ovaj postepeni pristup razvoju ne važi samo za Agente, već i za razvoj bilo kog kompleksnog sistema. Nemoj pokušavati da odgrizeš više nego što možeš da sažvaćeš, kreni od jednostavnog, postepeno iteriraj.
Preporuka resursa za učenje:
- Adresa GitHub projekta: https://github.com/shareAI-lab/learn-claude-code
- Projekat ima ugrađenu Web platformu za učenje, u browseru se može iskusiti efekat svakog sloja
- Kompletna kineska dokumentacija, čita se bez prepreka
Predloženi put učenja:
- Prvo pročitaj dokumentaciju, razumi celokupan dizajn 12-slojne arhitekture
- Od s01, sloj po sloj pokreći kod, posle svakog sloja pitaj se "koji problem rešava ovaj sloj"
- Pokušaj da izmeniš kod, na primer promeni model, dodaj novi alat, izmeni prompt
- Na kraju pokušaj sam da implementiraš pojednostavljenu verziju, makar od s01 do s04 je već veliki dobitak
Nadam se da ti ovaj članak pomaže. Na putu tehnologije, sam ideš brže, u društvu dalje.
Za pitanja se vidimo u komentarima, vidimo se u sledećem!
