Intervjuer: "Niste koristili Claude Code pa se usudili da dođete?" Ja uzvraćam: "Pa šta onda? Da li razumete najnoviji model Mythos?" On je zastao: "Nemoj da me zezaš!"
Lao Wang se nasmejao i rekao: "Nisi koristio Claude Code, zar ne?"
U trenutku kada smo se pogledali, znao sam koji odgovor želi.
Ali sam ipak nestvarno odgovorio: "Nisam koristio, pa šta onda?"
Vidim da se Lao Wang namrštio, pa sam brzo dodao: "Samo te zezam, brate. Ko ovih dana ne zna da koristi Claude Code. Čak i domaći modeli, kada se integrišu u Claude Code, postaju top Agent!"
On je zastao: "Ti momče, možeš li da budeš ozbiljan. Pitam te, da li znaš za najnoviji Claude model Mythos?"

Brate, saslušaj me kako ti mirno pričam.
Danas ujutru sam pročitao njihov izveštaj.
Mythos je na SWE-bench Pro postigao visokih 77.8%, gotovo da je pregazio sve konkurente na zadatake u terminalu i sa kodom.
01,Da li je Mythos zaista toliko snažan?
Lao Wang je preuzeo: "Šta znači 77.8%?"
Taj broj — u istom periodu najjači OpenAI-jev model za kodiranje na toj listi ima jedva preko 50%, a Anthropic-ov sopstveni Claude Opus 4.6 53.4%.

Mythos je napravio razliku od skoro 25 poena.
Još iznenađujuće je nekoliko specifičnih slučajeva u testiranju. Mythos je zaobišao sandbox okruženje, iskopao 27 godina staru OpenBSD ranjivost, a nakon završetka zadatka sam očistio sve tragove izvršenja.

Čak je i Anthropic bio preplašen, pa je zajedno sa Amazon, Apple, Google, Microsoft, NVIDIA i još 11 tehnoloških giganti pokrenuo "Glass Wing Project" — zajednički odbrambeni mehanizam protiv super-snažnog AI-ja.
Anthropic-ov CEO Dario je na X-u čak napisao da ga je prvi put u životu uplašio proizvod njegove sopstvene kompanije.
Lao Wang: "Model je ojačao, da li će se i prateći Agent alat Claude Code ojačati?"
(U sebi sam mislio, brate, zar to nije očigledno?)
Pa naravno, brate, model je mozak alata, kada model ojača, sposobnost alata će se prirodno pojačati.
Kada Claude Code ojača, on će se stalno nadograđivati i iterirati, pa će njegova sposobnost prirodno postati još jača.
To je pozitivna povratna petlja.
02,Šta pokreće Claude Code?
Lao Wang je nastavio: "Na šta se oslanja Agent runtime?"
Mnogi koji prvi put koriste Claude Code imaju utisak da je izuzetno pametan — kažete "pomozi mi da refaktorišem ovu funkciju", on će prvo pročitati kod, otkriti da funkcija zavisi od još tri mesta, a onda ih sve zajedno izmeniti, i na kraju će čak pokrenuti testove.
Ovaj proces "prvo razmisli pa deluj, nakon delovanja pogledaj rezultat", iza njega stoji arhitektura koja se zove ReAct, skraćenica od Reason + Act, koju je 2022. godine predložio Google DeepMind.

Suštinska ideja je veoma jednostavna: nateraj veliki model da prvo provede jednu rundu rezonovanja pre svake akcije, a nakon akcije posmatra rezultat, formirajući petlju "rezonovanje → akcija → posmatranje".
Rezonovanje (Reason): Moram prvo pročitati utils.ts fajl
Akcija (Act): Pozovi read_file alat
Posmatranje (Observe): Sadržaj fajla je sledeći...
Rezonovanje (Reason): Otkrivena kružna zavisnost na liniji 23, potrebno refaktorisanje
Akcija (Act): Pozovi edit_file alat
Posmatranje (Observe): Fajl uspešno izmenjen
Rezonovanje (Reason): Moram pokrenuti testove da verifikujem izmene
Akcija (Act): Pozovi bash alat da izvrši npm test
Posmatranje (Observe): Svi testovi prošliOva petlja se okreće dok se zadatak ne završi ili dok model ne oceni da ne može da se nastavi.

Lao Wang je klimnuo glavom: "Zašto je ovaj dizajn bolji od direktnog pitania modela?"
Zato što reši najveći problem čistog generativnog modela — ne zna da je pogrešio. U tradicionalnom chat modu, model kaže i gotovo je, ne zna se da li je tačno. U ReAct petlji, nakon svake akcije postoji korak posmatranja, model može da vidi rezultat izvršenja, zna da li je uspeh ili neuspeh i može pravovremeno da prilagodi strategiju.
Mythos je iskopao onu 27 godina staru OpenBSD ranjivost, nije to pogodio iz prvog pokušaja, već je u toj petlji neprestano pokušavao, posmatrao, prilagođavao, dok nije pronašao proboj.
Lao Wang se namrštio: "A koliko maksimalno koraka može da radi ova petlja?"
Klasični rizik ReAct petlje je "beskonačna petlja" — model ocenjuje da zadatak nije završen, stalno pokušava, stalno ne uspeva, stalno pokušava ponovo, potroši tokene a rezultat zadatka nema.
Pristup Claude Code-a je sledeći: glavni REPL (Read-Eval-Print Loop, odnosno onaj interaktivni dijalog sučelje u koje ulazite nakon pokretanja claude u terminalu) se oslanja na svest modela + rezervu korisnika; pod-Agent se oslanja na hard limit.

Kada model oceni da je zadatak završen ili da je potreban unos korisnika, API će vratiti stop_reason: "end_turn" i petlja se prirodno završava. U system prompt-u se meko usmerava model da ne pokušava slepo ponovo.
If an approach fails, diagnose why before switching tactics. Don't retry the identical action blindly.
Tokom sopstvene implementacije, postavio sam petlji hard limit od 20 koraka, nakon čega se vraća "Zadatak premašuje maksimalan broj koraka, razložite ga na manje podzadatke".
Lao Wang je nastavio: "Kada model poziva alate, da li direktno vraća JSON? Kako zna koji alat da pozove?"
Model generiše strukturirani format poziva funkcija, a svi glavni veliki modeli sada podržavaju Function Calling — u zahtevu se deklarišu dostupni alati i potpisi svakog alata, a prilikom izlaza model navodi koji alat da pozove i koji su parametri.
content: [
{ type: "text", text: "Da pročitam ovaj fajl" },
{ type: "tool_use", id: "toolu_xxx", name: "Read", input: { file_path: "/src/foo.ts" }
},
{ type: "tool_use", id: "toolu_yyy", name: "Grep", input: { pattern: "bar" } }
]Runtime raščlanjuje ovaj izlaz, izvršava odgovarajuću operaciju, ubacuje rezultat kao tekst, a model zatim nastavlja rezonovanje.

Za model je čitav proces "rekao sam da pozovem read_file, neko je to izvršio i onda mi rekao rezultat" — on ne mora da zna da li je pozadini Java, Python ili shell, zadužen je samo za donošenje odluka.
Ovaj dizajn ima jednu prednost: jezik implementacije alata i model su potpuno odvojeni. Možeš pisati alate u Javi, možeš zvati remote servise, čak možeš unutar alata ugnjezditi još jedan sloj AI poziva — model samo izdaje instrukcije, nije mu stalo do detalja izvršenja.
03,Šta se krije u System Prompt-u?
Lao Wang je pitao: "Da li znaš šta je napisano u Claude Code-ovom System Prompt-u?"
Mnogi misle da je Agent moćan zato što je model moćan, ali zapravo je System Prompt ključ koji zaista određuje ponašanje Agent-a.
Claude Code-ov System Prompt je podeljen u tri bloka.

Prvi blok je definicija uloge. Suština je: ti si AI asistent koji radi u terminalnom okruženju, možeš čitati i pisati fajlove, izvršavati komande, pristupati mreži, cilj ti je da pomogneš korisniku da završi programske zadatke, a pri nesigurnim operacijama prvo potvrdi pa izvrši.

Drugi blok je lista alata. Claude Code deklariše modelu sve dostupne alate, uključujući read_file, write_file, edit_file, bash, list_directory, search_files i tako dalje. Svaki alat ima naziv, opis parametara, format povratne vrednosti. Model generiše zahtev za poziv alata, dok je runtime zadužen za stvarno izvršenje.
Treći blok su behaviorne restrikcije. Ne smeš brisati fajlove koje korisnik nije izričito odobrio, pre izmene fajla obavezno ga pročitaj, pri osetljivim operacijama traži izričitu potvrdu.

Ti si AI programerski asistent koji radi u terminalu.
Dostupni alati:
- read_file(path): Pročitaj sadržaj navedenog fajla
- write_file(path, content): Upisivanje u fajl
- edit_file(path, old, new): Precizna zamena sadržaja fajla
- bash(command): Izvrši shell komandu
- list_directory(path): Izlistaj sadržaj direktorijuma
Pravila ponašanja:
- Pre izmene fajla obavezno pročitaj
- Operacije brisanja zahtevaju drugu potvrdu korisnika
- Nakon završetka zadatka podnesi rezime izvršenjaZato Claude Code ne radi haotično — svaka granica ponašanja je tvrdo zapisana u System Prompt-u.
Lao Wang je nastavio: "Mythos je zaobišao sandbox, da li to znači da je pronašao rupu u System Prompt-u?"
Otprilike to. U nekim test scenarijima Mythos-ova ograničenja nisu bila tako stroga, ili je pak dovoljno pametan da pronađe ivicu ograničenja.
Zato Anthropic pokreće Glass Wing projekt — dizajn ograničenja je sam po sebi inženjerstvo.
04,Kontekst je tako dugačak, kako se upravlja?
Lao Wang je nastavio: "Kada Claude Code obrađuje velike projekte, da li kontekst neće puknuti?"
Ovo je i najvredniji inženjerski deo Claude Code-a.
Kontekstni prozor modela je ograničen, čak i sa 200K tokena, potrošiće se.

A ukupna količina fajlova velikog projekta može biti na stotine hiljada linija koda. Kako u ograničenom prozoru smestiti dovoljno informacija?
Odgovor je slojevito upravljanje.
Trenutni kontekst sadrži samo najrelevantniji sadržaj — nedavnu istoriju razgovora, fajlove koji se trenutno obrađuju, rezultate upravo izvršenih alata, obično se kontroliše unutar 20K tokena.

Kontekst zadatka je sažetak stanja koji beleži trenutni cilj, završene korake, otvorena pitanja, ažurira se u svakoj rundi petlje, ali se ne prosleđuje modelu u celosti, već samo sažetak.
Indeks baze znanja je lista fajlova koju sistem gradi pri pokretanju skeniranjem projekta — model prema potrebi učitava željeni fajl putem read_file, a ne sve odjednom ubacuje.
Ovaj pristup je srodan sa RAG-om — ne puno učitavanje, već prema potrebi. Razlika je u tome što se RAG oslanja na vektorsku pretragu, dok je Claude Code direktniji — model sam odlučuje koji fajl da čita, a zatim poziva alat da ga dohvati.
[Stanje zadatka]
Cilj: Refaktorisanje obrade transakcija u UserService.java
Završeno: Pročitan UserService.java, analizirane zavisnosti
Trenutni korak: Izmena transakcionih anotacija u linijama 87-120
Za obradu: Ažuriranje jediničnih testova
[Trenutni isječak fajla]
// UserService.java linije 80-130
...Lao Wang: "Koja su još dodatna dobijanja od ovakvog pristupa?"
Pogoci u keš.
System Prompt je fiksan, pri svakom zahtevu se ponovo koristi keš, bez ponovnog naplaćivanja. Cena keš tokena Claude API-ja je samo 10% normalne cene, tako da Claude Code pri obradi dugih zadataka zapravo troši manje nego što se misli.

Iskreno, najinženjerskiji deo ovog dizajna je: on ne jednostavno trpa sve u kontekst, već kao pravi programer, obraća pažnju samo na informacije koje su mu sada potrebne.
05,Čemu služi CLAUDE.md?
Lao Wang je nastavio: "A kako da Claude Code odmah na početku zna specifična pravila projekta? Nemoj valjda svaki put da mu ručno govoriš?"
Tu je vrednost CLAUDE.md.

Zamislite ga kao "priručnik za uvođenje u posao" koji pišete za Claude Code. Prvog dana kada novi zaposleni počne da radi, HR mu da jedan dokument koji mu govori o svim pravilima firme — CLAUDE.md je taj dokument, Claude Code ga čita pri svakom pokretanju.
Dobar CLAUDE.md sadrži otprilike tri bloka.
- Komande za izgradnju i pokretanje — na primer ovaj projekat koristi pnpm a ne npm, ili komanda za testiranje nije standardni
npm testvećpnpm docs:dev, ako se to jasno napiše neće se desiti "upotreba pogrešnog package managera" tipa grešaka. - Standarde koda — u Java projektu na kom sloju se nalazi anotacija transakcije, pravila imenovanja varijabli, ako mu se ne kaže on radi po svojoj "najboljoj praksi" i sukobljava se sa stilom projekta.
- Arhitektonska objašnjenja — koji su ključni moduli, koji fajlovi se moraju ažurirati pre izmene, kompleksne odnose zavisnosti treba jasno objasniti da bi se izbegli mnogi problemi.
Na primer, CLAUDE.md naprednog puta je napisan ovako:
## Komande za izgradnju
- Sve komande se izvršavaju u docs/ direktorijumu
- Instalacija zavisnosti: pnpm install (zabranjeno korišćenje npm ili yarn)
- Pokretanje dev servera: pnpm docs:dev
- Izgradnja: pnpm docs:build
- Port dev servera: localhost:8080
## Standardi izlaza članaka
- Novi članci se nalaze u docs/src/sidebar/itwanger/ odgovarajući direktorijum
- Imenovanje fajlova: mala slova + crtice (npr. my-article.md)
- Obavezna polja u front matter-u: title, author, date
## Napomene
- Slike koriste CDN adresu (cdn.paicoding.com)
- Nakon izmene sidebar.ts potrebno je restartovati dev server
- Nemojte direktno menjati dist/ direktorijumSa ovim desetak linija, Claude Code iz "autsajdera koji ništa ne zna" postaje "iskusan stari zaposleni". Mnoge detalje ne morate svaki put iznova da ponavljate.
Mali trik: CLAUDE.md je što precizniji to bolji, nemojte pisati enciklopediju. Svaka linija bi trebalo da bude stvarni sadržaj iz zamke u koju ste upali, jer sa previše priče Claude Code ne zna šta je ključna informacija.
06,Možeš li napisati Claude Code, kako?
Lao Wang se tek ovde zagrejao: "Toliko si pričao o principima, možeš li zaista da napišeš?"
"Brate, daj mi vreme jedne pesme, osnovni kostur može da radi."
Suština je četiri modula: registracija alata, raspored petlje, upravljanje kontekstom, raščlanjivanje izlaza. Ako se radi sa Spring AI, struktura izgleda otprilike ovako.
Registracija alata — Spring AI podržava direktno registrovanje Java metoda kao AI alata pomoću anotacija:
@Component
public class FileTools {
@Tool(description = "Čitanje sadržaja fajla na navedenoj putanji")
public String readFile(@ToolParam(description = "Putanja fajla") String path) {
try {
return Files.readString(Paths.get(path));
} catch (IOException e) {
return "Čitanje neuspešno: " + e.getMessage();
}
}
@Tool(description = "Izvrši shell komandu i vrati izlaz")
public String bash(@ToolParam(description = "Komanda za izvršenje") String command) {
try {
ProcessBuilder pb = new ProcessBuilder("sh", "-c", command);
pb.redirectErrorStream(true);
Process p = pb.start();
return new String(p.getInputStream().readAllBytes());
} catch (IOException e) {
return "Izvršenje neuspešno: " + e.getMessage();
}
}
}Raspored ReAct petlje — glavna petlja kontroliše ritam celog rezonovanja-akcije-posmatranja:
@Service
public class AgentRuntime {
public String run(String userInput) {
List<Message> history = new ArrayList<>();
history.add(new SystemMessage(SYSTEM_PROMPT));
history.add(new UserMessage(userInput));
for (int step = 0; step < 20; step++) {
ChatResponse response = chatClient.prompt()
.messages(history)
.tools(fileTools, bashTools)
.call()
.chatResponse();
AssistantMessage assistant = response.getResult().getOutput();
history.add(assistant);
// Nema poziva alata, zadatak je završen
if (assistant.getToolCalls().isEmpty()) {
return assistant.getText();
}
// Izvrši alate, dodaj rezultat u istoriju, nastavi sledeću rundu rezonovanja
for (ToolCall call : assistant.getToolCalls()) {
String result = executeTool(call);
history.add(new ToolResponseMessage(call.id(), result));
}
}
return "Zadatak premašuje maksimalan broj koraka";
}
}Kompresija konteksta — kada istorija postane preduga, automatski klizi prozor:
private List<Message> compress(List<Message> history) {
if (countTokens(history) < CONTEXT_LIMIT) return history;
List<Message> compressed = new ArrayList<>();
compressed.add(history.get(0)); // system prompt uvek ostaje
String summary = summarize(history.subList(1, history.size() - 10));
compressed.add(new UserMessage("[Sažetak istorije] " + summary));
compressed.addAll(history.subList(history.size() - 10, history.size()));
return compressed;
}Lao Wang nije bio zadovoljan: "A bez Spring AI? Ima li drugih izbora?"
LangGraph4j je dobra opcija, čist Java, sa boljom podrškom za Graph-style Agent procese. Ključna razlika između njih dvoje je model programiranja — Spring AI je imperativan, vi pišete petlju i eksplicitno kontrolišete svaki korak; LangGraph4j je deklarativan, pomoću čvorova i grana opisujete grafikon prelaska stanja, a framework je zadužen za raspored.
StateGraph<AgentState> graph = new StateGraph<>(AgentState.class)
.addNode("reason", this::reasonNode)
.addNode("act", this::actNode)
.addNode("observe", this::observeNode)
.addEdge(START, "reason")
.addConditionalEdges("reason", this::shouldAct,
Map.of("act", "act", "done", END))
.addEdge("act", "observe")
.addEdge("observe", "reason");Ovaj način pisanja omogućava vizualizaciju procesa — iz kog čvora u koji, pod kojim uslovom, jasno je na prvi pogled, a pronalaženje bagova je lakše nego kod gomile for petlji. Ako ste već u Spring ekosistemu, koristite Spring AI; za nove projekte sa očekivanom složenošću procesa razmotrite LangGraph4j.
Još jedna zamka o kojoj treba reći: format povratne vrednosti alata mora biti dobro dizajniran. Mnogi pišu funkcije alata koje vraćaju Java objekte ili traceback izuzetaka, što modelu jako teško pada. Najbolje je jedinstveno vraćati string, a izuzetke takođe pretvarati u čitljive opise grešaka — model čita prirodni jezik, a ne Java traceback.
Iskreno, pisanje ovog sistema od nule donosi više nego čitanje deset članaka o Claude Code-u.
Zato što ćete u implementaciji kompresije konteksta zaista razumeti "token je konačan resurs", u registraciji alata zaista razumeti "šta je lista alata u System Prompt-u", u otkrivanju bagova u ReAct petlji zaista razumeti "zašto model ponekad zapadne u beskonačnu petlju".
Ove uvide možete steći samo kada sami naletite na njih.

07,Da li da se radi neki Agent projekat?
Lao Wang je neko vreme ćutao: "Kažeš da si radio projekat sličan Claude Code-u?"
"Za tehničku stranu (paicoding.com) sam radio AI asistenta za pregled koda, povezan sa GitHub Webhook-om, automatski se okida nakon podnošenja PR-a, koristi ovu petlju za pregled koda, a rezultat vraća kao komentar na PR."
Naziv projekta: PaiReview — AI asistent za pregled koda zasnovan na ReAct arhitekturi
Kratak opis projekta: Automatizovani sistem pregleda koda izgrađen za open source projekat tehničke strane, integrisan sa GitHub Webhook-om, Agent se automatski okida pri podnošenju PR-a radi pregleda kvaliteta koda, a zakljuuci pregleda se upisuju kao komentari nazad na PR.
Tehnološki stack: Spring AI, Claude 3.7 API, GitHub Webhook, Java 21
Ključne odgovornosti:
- Na osnovu Spring AI implementirao rasporedivač ReAct petlje, podržava registraciju alata, višekružno rezonovanje i kompresiju konteksta, prosečan broj poziva velikog modela po jednoj proveri koda je 6-8
- Dizajnirao slojeviti System Prompt, struktuirano ubacuje pravila pregleda koda (konvencije imenovanja, granice transakcija, SQL indeksi itd.), stopa lažnih ocena ispod 5%
- Implementirao mehanizam kompresije konteksta, kada istorijski tokeni premaše 80K automatski klizi prozor + sažetak, podržava pregled PR-a dužih od 500 linija
- Optimizovao redosled poziva alata, smanjio prosečno vreme odgovora sa 45s na 18s, smanjio potrošnju tokena za 40%
- Integrisao GitHub API, implementirao automatsko upisivanje komentara na PR, označavanje labela (high-risk / needs-refactor) i druge automatizovane operacije
Lao Wang je zasijao: "Kako si sa 45s na 18s?"
"Sa dva metoda. Prvo, optimizacija redosleda poziva alata — alate koji najčešće otkazuju stavi kasnije, izbegavavanjem uzaludnog rada u ranim fazama; drugo, keširanje System Prompt-a — fiksne opise standarda koda stavi na sam početak, kada se pogodi keš taj deo se ne naplaćuje, ukupna potrošnja tokena je pala za skoro polovinu, pa je i odgovor prirodno brži."
Lao Wang je klimnuo glavom.
08,U dobu Mythos-a, šta treba da pripremimo?
Lao Wang je na kraju postavio veoma otvoreno pitanje: "Mythos je izašao, kako vidiš budući pravac razvoja Agent-a?"
Mislim da Mythos zaista ne menja sposobnost modela, već način saradnje između inženjera i Agent-a.
Ranije, pri pisanju Agent-a, moralo se mnogo razmišljati o tolerantnosti na greške — model može pogrešno razumeti, alat može vratiti čudan format, ReAct petlja može otići u pogrešnom pravcu. Zato se mnogo vremena trošilo na obradu fallback-a, poruke o greškama, drugu potvrdu. Kada izađu modeli Mythos nivoa, ovi trenji će se drastično smanjiti, tačnost semantičkog razumevanja poziva alata će se drastično poboljšati, a ReAct petlja će ređe odlaziti u pogrešnom pravcu.
Zato ono što će budući Agent developeri najviše trebati nije "umeš da pozoveš API", već tri sposobnosti:
- Dizajn alatnog lanca — pakovanje poslovnih sposobnosti u interfejse prijateljske prema modelu, sa jasnom semantikom parametara i predvidivim rezultatima;
- Inženjering konteksta — u ograničenom budžetu tokena smestiti najvrednije informacije, to je ključno bojište optimizacije performansi;
- Dizajn sigurnosnih ograničenja — Mythos može zaobići sandbox, što pokazuje da je ovo jako teško, ali što je teže to je vrednije, inženjeri koji znaju da dizajniraju granice ponašanja biće buduće traženi.
Glass Wing projekt 11 kompanija radi upravo to — pred super-snažnim modelom, dobro odraditi inženjerska ograničenja.

Lao Wang je nakon što je saslušao očigledno uzbuđen.
"Kada možeš da počneš da radiš?"
"Trebam da uporedim, da vidim vašu firmu i moje druge kandidate na stolu,😄hahahahaha."
ending
Mnogi ljudi pri susretu sa AI alatima imaju naviku da budu korisnici.
Koji je bolji, taj se koristi, koji ima bag, čeka se zvanična ispravka. Ali u tehničkom svetu postoji zakonitost: kada dođe talas, oni koji znaju da koriste i oni koji razumeju podrenderer, na kraju idu različitim putanjama.
Oni koji znaju da koriste prate alat, kada se alat promeni moraju iznova da uče; oni koji razumeju podrenderer, imaju jako mali trošak zamene alata, jer je podrenderer logika zajednička — ReAct je ReAct, bez obzira na to da li je spolja Claude Code ili Codex ili nešto drugo.
Znati koristiti Claude Code, može se završiti zadatak.
Razumeti ReAct petlju, System Prompt, upravljanje kontekstom, može se optimizovati, proširiti, otkriti bagove, a kada intervjuer zapita dublje može se odgovoriti s lakoćom.
[Alati će zastareti, ali sposobnost razumevanja podrenderer alata neće.]
Mythos-ovo pojavljivanje nam jasnije pokazuje gde je gornja granica Agent inženjerstva — nije model, nego alatni lanac, upravljanje kontekstom i dizajn granica ponašanja.
Ove stvari, početi da se uče sada, nije kasno.
Vidimo se u sledećem, idemo!
