Intervjuer te pita: „Kako je realizovana kratkoročna memorija Agent-a?" Ako odgovoriš „pa model sam pamti, zar ne, sve iz context window-a zna", onda ti preostaje samo da se vratiš kući i čekaš obaveštenje.
Zašto?
Zato što je LLM bez stanja. Pri svakom API pozivu on ne pamti šta si rekao u prethodnoj rečenici. Ti misliš da je „zapamtio", a zapravo Agent potajno ponovo šalje celu istoriju razgovora.

Danas za 3 minuta ćemo razjasniti princip realizacije Agent-ove kratkoročne memorije.
Ovo pitanje na intervjuu proverava tri nivoa: prvo, da li razumeš osnovni princip kratkoročne memorije; drugo, da li ti je jasna fizička ograničenost context window-a; treće, kako postupaš kad prozor više ne bude dovoljan.
Dobro, sad ti dajem odgovor za maksimalan broj poena, nauči ga napamet.
Prvo, razjasnimo šta je zapravo kratkoročna memorija.
Odgovor u jednoj reči — messages niz.
LLM je bez stanja, svaki poziv kreće iz početka. Ono što zovemo „pamćenjem" postoji zato što Agent održava messages niz, u kome se po redu čuva svaka runda razgovora. U nizu postoje četiri uloge: system je sistemsko uputstvo, user je korisnički unos, assistant je odgovor modela, a tool je rezultat poziva alata.
Pri svakom pozivu API-ja aplikacija ceo niz šalje modelu u celosti. Tek kad model pročita sve poruke, „zna" šta si pre toga rekao.
Da pojasnimo primerom. Model je kandidat kome se pre svakog ispita briše pamćenje, a Agent je pomoćnik koji mu ponovo pretipa sve prethodne odgovore. Model „pamti tvoje ime" ne zato što ima memoriju, nego zato što poruka u kojoj si rekao ime i dalje stoji u messages nizu i svaki put se ponovo šalje.
Drugo, veličina context window-a određuje najveći kapacitet kratkoročne memorije.
Što je niz duži, token-a je više. Ali context window ima gornju granicu — DeepSeek V4 je 1M token-a. Zvuči mnogo, ali dugački razgovori i složeni zadaci će ga popuniti brže nego što misliš.
Tu je i problem: Lost in the Middle. Istraživanja pokazuju da je pažnja LLM-a prema kontekstu raspoređena po U-obliku — početak i kraj su visoko na pažnji, a sredina lako biva zanemarena. Misliš da kad je informacija „u prozoru" onda je sve rešeno, a model je možda uopšte i ne primećuje.
Treće, šta kad prozor više ne bude dovoljan? Tri strategije.
Prva, klizni prozor. Zadrži samo poslednjih N rundi razgovora, a rane odbaci. MessageWindowChatMemory iz Spring AI-a radi baš tako — podrazumevano zadržava 20 poruka i odbacuje po rundama: jedan UserMessage plus sve kasnije assistant odgovore i tool pozive računa kao jednu rundu, ali neće preseći razgovor na pola. Nula troškova, ali rane informacije nestaju bez traga.
Druga, kompresija sažetkom. Upotrebi LLM da rane razgovore sabere u jedan sažetak, koji zamenjuje originalne poruke. Upravo to radi Claude Code — kad kontekst dostigne 83% kapaciteta, automatski se okine i pretvara prethodne razgovore u devetodelni strukturirani sažetak koji pokriva ključne informacije kao što su glavni zadatak, tehnički kontekst i izmene fajlova. Token se uštedi, semantika ostaje. Cena je gubitak detalja — kao kad se fotografija visoke rezolucije sabije u umanjeni prikaz, lako postane mutna.
Treća, hibridna strategija. Stare poruke se sabiju u sažetak, a sveže poruke zadrže original. ConversationSummaryBufferMemory iz LangChain-a radi upravo to — za daleke događaje pamti suštinu, za bliske čuva originalne reči. U produkciji je to najkorišćeniji pristup.
Ako intervjuer pita: „Kako odabrati između tri strategije?"
Reci mu — zavisi od scenarija. Kratak razgovor, do deset rundi, klizni prozor je dovoljan. Dug razgovor, na desetine rundi, izaberi hibridnu strategiju koja istovremeno pokriva globalnu semantiku i sveže detalje. Još jedan aspekt: Agent orijentisan na zadatke brine samo o trenutnoj instrukciji i rezultatima poslednjih nekoliko koraka, rani kontekst nije bitan, pa je klizni prozor dovoljan. Konverzacioni Agent mora da razume korisničke preference i istorijske namere, pa je globalna semantika ključna — moraš sažetkom pokriti rane informacije.
Na kraju, jedna izreka za sve vas — model je bez stanja, memorija ide preko niza; kad prozor ne može da stane, kompresija je izlaz.
Da li si savladao ovo pitanje? Za još izvorno rastavljenih Agent intervju pitanja, lajkuj i prati
