Što smo naučili puštajući AI agente u produkciju
Platforma AI asistenata mnogo je više od poziva modelu: orkestracija alata, dugoročna memorija i sigurnost koju većina timova podcijeni.
AI u produkciji danas najčešće izgleda ovako: korisnik nešto napiše, model odgovori. Zanimljivo počinje tek kad model smije djelovati — pozvati alat, zapisati nešto u memoriju, odgovoriti glasom i javiti se kasnije.
Na jednoj smo platformi modelu dali petlju s više od 40 alata. Ono što smo iz toga naučili nema veze s pisanjem promptova: agentska petlja nije dodatak koji se uključi, nego sustav koji netko mora voditi.
Što petlja zapravo određuje
O nekoliko odluka ovisi koliko će sve to koštati, koliko brzo raditi i koliko dugo ostati upotrebljivo.
- Prompt caching i extended thinking: prije nego što dotjerujete formulacije, izmjerite koliko vas stoje u latenciji i u novcu
- Reflection pipeline: o njemu ovisi hoće li memorija s vremenom postajati bolja ili tiho trunuti
- Gornja granica broja iteracija: bez nje jedan krivi zaključak modela vrti petlju u prazno, a račun raste
- Eval skup: bez njega radite naslijepo. Skupite stvarne razgovore, na njima ocijenite svaku promjenu i pogoršanje shvatite jednako ozbiljno kao pad testa
- Greške alata: model koji ne razlikuje neuspjeli poziv od praznog rezultata izmislit će odgovor, i to samouvjereno
Latencija nastaje kroz cijelu iteraciju, ne samo u promptu
Jedna iteracija nije jedan zahtjev. U njoj je slaganje prompta, jedan ili više poziva modela, svaki odlazak do alata i slaganje odgovora na kraju. Korisnik čeka sve to zajedno.
Zato gledajte p95, a ne p50 — pamti se ona spora iteracija. Cache najviše vrijedi kad je kontekst velik i stabilan. Extended thinking plaća se milisekundama, a vraća točnošću. Svakom pozivu alata treba timeout, ponovni pokušaj s nasumičnim odmakom i circuit breaker; inače jedan zaglavljeni servis zaustavi sve.
Memorija je pitanje modela podataka
Memoriju smo složili kao graf znanja, uz semantički vektorski dohvat. Nije to hrpa embeddinga.
Razlika se pokaže nakon nekoliko tjedana: graf zna reći kako su dvije činjenice povezane, a sličnost nalazi samo ono što slično zvuči. Memoriju osvježava zakazani posao, a ne prompt.
Memorija u slojevima, ne u jednoj hrpi
Jedan veliki kontekst najskuplji je način da se nešto zaboravi. Memoriju smo zato razdvojili onako kako to radi i računalo — brzi radni dio, sloj s prošlim razgovorima i jeftina arhiva ispod njih — a zapisi se između tih slojeva sele po pravilima, a ne po osjećaju.
- Odvojeni spremnici za sesiju, profil korisnika i dugoročno znanje; svaki zapis nosi vrijeme, izvor i važnost
- Dohvat po značenju: upit se vektorizira, traži po sličnosti i filtrira po metapodacima — ne vraća se sve što je ikad zapisano
- U prompt ulazi samo nekoliko najboljih zapisa; ostalo ostaje vani jer kontekst pun šuma daje lošiji odgovor i sporiju iteraciju
- Zapisi stare: ono što se ne koristi sažima se ili ispada, inače spremnik raste dok ne postane i skup i beskoristan
Sigurnost koju svi zaborave
Čim model može pozivati alate, svaki je alat API koji ste otvorili nekome tko će ga zvati češće nego što ste zamislili.
- Alati stoje kao zaseban servis, iza autentikacije i na standardnom protokolu
- Prompt injection je stvaran napad, ne teorija: sadržaj koji model pročita — dokument, web stranica, odgovor alata — nije uputa i tako se mora tretirati
- Svaki alat dobiva najmanja prava koja mu trebaju i vlastite granice: koliko poziva, koliko podataka, na kojim resursima
- Svaki se poziv zapisuje — taj trag zatreba prvi put kad vas model iznenadi
Ako u planu za agente nema stavke za sigurnost, to još nije plan za produkciju.