Zaposlenik u Tencentu: „Trideset i nešto mi je godina, ovom rundom sam uz AI zaradio nešto novca, pa ekonomski više nemam neki veliki pritisak. Uz to, karijerni razvoj mi je praktično stigao do plafona" (sa Agent pitanjima za intervju)
Kao što naslov kaže, naišao sam na jednu ovakvu objavu.

Iskreno, zavidim — baš zavidim.
Trideset i nešto godina i nikakav finansijski pritisak — sreća sigurno nije slaba, a ni lična sposobnost nije na pola puta.
Poznajem prilično prijatelja iz velikih kompanija koji su ove dve godine uz AI zaista poleteli. Sa njih sam izvukao nekoliko zaključaka — procenite sami ima li tu dovoljno začina (smeh).
Prvo, visoka bistrina uma: vrlo brzo iskopaju potencijalnu tačku; bilo da prave proizvod ili, najmanje, da sude o jednoj stvari — imaju sopstvenu metodologiju.
Drugo, snažna izvršnost: lično sam mislio da je moja izvršnost već podignuta do samog maksimuma, ali pored nekih prijatelja ja sam samo mali radoholičar — oni su pravi radoholičari.
Treće, ignorišu protivne glasove. U stvarnom životu nas drugi često osporavaju i teško je ostati potpuno neometeno fokusiran, ali da bi se nešto završilo, koncentracija se mora sačuvati — vi me grdite koliko god hoćete, a ja ne vidim, ne čujem i ignorišem vas, zar ni to ne sme?
Da sad pričamo o Tencentu.
Ove godine na Agent stazi zaista izgleda kao da igra sa uključenim čitovima — direktno se pretvorio u „Agent superfabriku", a matrica proizvoda je već prilično kompletna: kancelarijski rad, programiranje, dizajn i upravljanje sistemom praktično su pokriveni u celosti.

WorkBuddy, Marvis, Miora, Xiaowei, Dayuan, Yuanbao — sve su to proizvodi koji se sa pravom svrstavaju među imenovane. Bazni model Hunyuan Hy3 napravio je kvalitativni skok u sposobnosti Agent-a da odrađuje posao.
Ako ste neko ko veruje u trud, veruje u proces, veruje u korak po korak i veruje da u eri AI-ja može zagrabiti svoj deo kolača, onda nadam se da ćete sledeći hardkor sadržaj pažljivo pročitati.

(Tekst je prilično naporan, garantujem da ćete naučiti jako, jako puno. Vežite sigurnosne pojaseve, krećemo!)
content
01. Zašto najteže kod Agent-a nije povezivanje velikog modela?
Stari Vang prelista moju biografiju i odmah upita: „Šta je po vama najteže u izradi Agent-a?"
„Najteže sigurno nije povezivanje velikog modela."
„Jer je povezivanje velikog modela, otvoreno rečeno, samo pozivanje API-ja. Podnete zahtev za API Key, uzmete neki SDK, pustite Agent-a da napiše nekoliko linija koda kojima se zahtev pošalje i odgovor preuzme — i gotovo je."
„Pravo teško je Harness koji dolazi nakon što se veliki model poveže."
Da bi Agent radio u stvarnom okruženju, to znači da mora da rukuje datotekama, izvršava komande, pristupa bazama podataka i poziva servise trećih strana.
„Pet stvari smatram jako važnim."

„Prvo je kontrola prava. Šta Agent sme, a šta ne sme, mora ostati unutar kontrole prava."
„Drugo je orkestracija alata. Što više alata Agent poziva, to su zavisnosti između alata složenije. Koji alati mogu paralelno, koji moraju serijski, kako se vraća unazad pri neuspehu, kako se tretira isteklo vreme — za sve je potreban kompletan mehanizam raspoređivanja."
„Treće je oporavak od grešaka. Model ima halucinacije, alatima istekne vreme, mreža se prekine, proces padne. Produkcijski Agent mora umeti da obradi ove izuzetke."
„Četvrto je upravljanje kontekstom. Prozor konteksta modela je ograničen, a Agent u dugim zadacima stalno gomila istoriju razgovora, rezultate poziva alata i međuproizvode. Kako u ograničenom prozoru zadržati najkritičnije informacije, kada sažeti, a kada direktno odbaciti — to jako utiče na kvalitet isporuke Agent-a."
„Peto je revizijska sledljivost. U poslovnom okruženju sve što Agent uradi mora biti sledljivo. Ko je pokrenuo, koji alat pozvao, koje parametre preneo, kakav je bio rezultat — da se pri problemu može vratiti unazad."
02. Kada WorkBuddy sažima dokument u Tencent Docs, kako se utvrđuje da li zaposleni ima pravo čitanja?
Stari Vang kažiprstom leve ruke podgurne naočare i nastavi: „Koristili ste WorkBuddy? Pretpostavimo da zaposleni traži od WorkBuddy-ja da sažme jedan dokument u Tencent Docs — kako Agent utvrđuje da li taj zaposleni ima pravo čitanja?"
„Suština je samo jedna — Agent ne sme pristupati resursima svojim identitetom, već identitetom zaposlenog."

„Nakon što se zaposleni prijavi preko WeChat-a, dobija korisnički token (User Token) koji predstavlja identitet i prava tog zaposlenog. WorkBuddy mora da sprovede objedinjeno upravljanje identitetom, tako da svi Agent zahtevi nose tu informaciju o identitetu. Kada Agent poziva MCP Server Tencent Docs-a, u zahtevu mora postojati korisnički token."
„Kada MCP Server primi zahtev, uzima korisnički token i vrši proveru u sistemu prava Tencent Docs-a — da li ovaj zaposleni ima pravo čitanja za ovaj dokument. Ako ima, vraća se sadržaj dokumenta. Ako nema, vraća se greška o nedovoljnim pravima, pa Agent kaže zaposlenom 'nemate pravo da pogledate ovaj dokument'."
„Bilo da provera prođe ili ne, ovaj pristup se mora zabeležiti — ko je, kada i koji dokument pokušao da pročita, i kakav je bio rezultat."
03. Kako terminalni Agent postaje Agent na nivou radne površine?
Stari Vang pogleda nadole na PaiCLI projekat u mojoj biografiji i nastavi: „PaiCLI je već pristojan terminalni Agent. Ako bih vas pustio da ga nadogradite do Agent-a na nivou radne površine poput WorkBuddy-ja, kako biste to uradili?"

PaiCLI Agent je već open source na GitHub-u, postoje verzije u Python-u, Go-u, Javi i TypeScript-u: https://github.com/itwanger/PaiCLI-Python
„Prvo je sloj interakcije. PaiCLI je sada čisto tekstualna interakcija — korisnik unosi komande u terminalu, a Agent odgovara tekstom. Agent za radnu površinu zahteva GUI: korisnik klikće, prevlači, bira datoteke, gleda slike. Interakcija prelazi iz samog teksta u tekst plus grafiku, tu je čak i glas."
„Drugo je skup alata. Osnovni alati PaiCLI-ja su namenjeni razvojnim scenarijima — čitanje i pisanje datoteka, izvršavanje komandi, pretraga koda. Agent za radnu površinu treba potpuno drugačiji set sistemskih alata: čitanje i pisanje clipboard-a, komunikacija između aplikacija, operacije file manager-a, pristup kalendaru i pošti, snimak ekrana i OCR."

„Treće je stalno prisustvo u pozadini. PaiCLI se pokreće po potrebi i izlazi kad se posao završi. Agent za radnu površinu mora kao daemon proces stalno stajati u pozadini i u svakom trenutku odgovarati na korisnikov poziv. Ovde se rešaju pitanja upravljanja procesima, kontrole zauzeća resursa i detekcije otkucaja (heartbeat)."
04. Kako dizajnirati kompletan revizijski zapis Agent-a?
„Revizija mora da zabeleži: ko je uradio, šta je uradio, kada je uradio, zašto je uradio i kakav je rezultat."
„PaiCLI je već implementirao jedan revizijski sistem."

Svaki revizijski zapis sadrži ova polja: vremenska oznaka, naziv alata, parametri alata, rezultat izvršavanja (prošao, odbijen ili greška), izvor odobrenja (ručno odobrio korisnik ili automatski dozvolila politika) i trajanje izvršavanja.
„Parametri alata se skraćuju i maskiraju. Ako parametri sadrže osetljive informacije poput Bearer Token-a, API Key-a ili lozinke, pre upisa se podudaranjem regularnih izraza pronalaze i zamenjuju."
„Format skladištenja je JSONL — svaki zapis je zasebna JSON linija i upisuje se dodavanjem. Prednost je visoka brzina upisa i ne postoji opasnost da prekid upisa ošteti datoteku. Logovi se rotiraju po danu, a naziv datoteke nosi datum. Prava nad revizijskim direktorijumom podešavaju se tako da samo trenutni korisnik može čitati i pisati, čime se sprečava menjanje od strane drugih procesa."
05. Kako izbeći ponovljene nuspojave kada Agent više puta poziva isti alat?
„Idempotentnost."

„Svaki poziv alata generiše jedinstveni identifikator, sastavljen od naziva alata i heša ključnih parametara. Pre izvršavanja se proverava zapis izvršavanja; ako je isti idempotentni ključ već uspešno izvršen, direktno se vraća prošli rezultat, bez ponovnog izvršavanja."
„Pisanje datoteka ide prepisivanjem, a ne dodavanjem; pre kreiranja resursa se proverava da li već postoji."
„Ako Agent više krugova zaredom poziva isti alat i prenosi iste parametre, to znači da je model verovatno upao u beskonačnu petlju. PaiCLI ima mehanizam detekcije stagnacije — tri kruga zaredom istog poziva alata okidaju izlaz, čime se izbegava besmisleno ponavljanje."
Kako dizajnirati idempotentni ključ da ne pravi lažne procene?
„Ključno je izabrati prave parametre koji ulaze u heš."

„Ne treba svaki parametar da učestvuje. Kod alata za izvršavanje komandi, sadržaj komande treba da učestuje, ali vremenska oznaka ne. Kod alata za pisanje datoteka, i putanja i sadržaj datoteke treba da učestuju."
„Postoji još pitanje vremenskog prozora. Ako je isti idempotentni ključ izvršen pre 5 minuta, da li novo izvršavanje računamo kao ponavljanje ili kao novi zadatak? Agent može da upita korisnika za nameru."
06. Kako dugi zadaci Agent-a nastavljaju izvršavanje nakon restarta procesa?
„Pomoću checkpoint-a."

PaiCLI ima persistantan modul za upravljanje zadacima, sa SQLite-om kao skladištem zadataka. Svaki zadatak ima mašinu stanja: na čekanju → u izvršavanju → završen ili neuspešan. Trenutno stanje zadatka, ulazni parametri, završeni koraci i međurezultati sve stoje u SQLite-u.
„Pri pokretanju procesa, modul za upravljanje zadacima skenira sve zadatke u stanju 'u izvršavanju' — to su oni koji nisu odvezeni do kraja kada je proces poslednji put izašao — i vraća ih u red izvršavanja da nastave."
Jedan dug zadatak može sadržavati desetine koraka. Sa oporavkom na nivou zadatka, kada proces padne, ceo zadatak kreće ispočetka. Sa checkpoint-ovima na nivou koraka, nakon svakog završenog koraka stanje se upisuje u skladište, pa se pri oporavku nastavlja od poslednjeg uspešnog koraka, a završeni koraci se ne izvršavaju ponovo.
07. Kada se posle neuspešnog poziva modela ili alata može pokušati ponovo?
„Razlikuju se dve kategorije grešaka — one koje se mogu ponovo pokušati i one koje ne mogu."
„Koje se mogu ponovo pokušati: HTTP 429 rate limit, serverske greške 500/502/503/504, mrežni timeout, resetovana konekcija. To su privremeni kvarovi — nakon kratkog vremena novi pokušaj vrlo verovatno prolazi."
„Koje se ne mogu ponovo pokušati: 401 neuspešna autentifikacija, 400 pogrešni parametri, SSL greška, neuspešno parsiranje JSON-a. To su determinističke greške — koliko god puta ponovili, rezultat je uvek isti."

Retry modul PaiCLI-ja implementira kompletan mehanizam. Podrazumevano 3 pokušaja; backoff strategija je eksponencijalni backoff sa jitter-om — osnovno kašnjenje 500 milisekundi, duplanje svaki put, gornja granica 30 sekundi, plus slučajni jitter od ±20 posto.
„Jitter je obavezan. Ako više Agent-a istovremeno naiđe na rate limit i svi sačekaju isto vreme pa pokušaju ponovo, svi zahtevi se sruče u istom trenutku, opet budu limitirani, opet čekaju. Jitter razmakuje vreme ponovnog pokušaja svakog Agent-a i raspršuje vrhunac zahteva."
„Ako server vrati Retry-After, prvenstveno se koristi vreme čekanja koje je naveo server."
Ako je poziv modela streaming (SSE), Agent je već pokazao deo izlaza korisniku, a konekcija tada prekine — može li se pokušati ponovo?
Ne može.
Jer ponovni pokušaj znači da model generiše iznova, pa bi novi izlaz bio nekonzistentan sa već prikazanim delom. PaiCLI-jev pristup je: kada streaming odgovor već ima potrošeni sadržaj, označava se kao onaj koji se ne može ponovo pokušati.
Scenarijska pitanja
08. Kako Agent vrši rutiranje modela između efekta, latencije i troška?
Stari Vang skine naočare, prebriše ih svojom kariranom košuljom, ponovo ih stavi i nastavi: „U WorkBuddy-ju se mogu konfigurisati modeli poput Hunyuan-a i DeepSeek-a. Ako Agent samostalno bira model, kako iskoristiti snagu svakog modela?"

„U dva koraka: prvo klasifikacija zadataka, pa uparivanje modela."
„Jednostavni zadaci — na primer konverzija formata, izdvajanje informacija, sažimanje kratkog teksta — ne zahtevaju jaku sposobnost rezonovanja; dovoljan je brz i jeftin model. Složeni zadaci — generisanje koda, višestepeno rezonovanje, analiza dugih dokumenata — zahtevaju jako rezonovanje, pa ide model veće veličine."
„Za klasifikaciju može poslužiti lagani klasifikator, mogu čak i pravila. Na primer, ako je ulaz kratak, ne sadrži blokove koda ni ključne reči poput 'analiziraj', 'uporedi', 'dizajniraj', 'dubinsko istraživanje' — velikom verovatnoćom je jednostavan zadatak."
„Uparivanje modela znači izgraditi profil sposobnosti za svaki model. Hunyuan Hy3 je jak u razumevanju kineskog jezika i pozivima alata — na SkillsBench-u u Agent scenariju ima 55 poena. DeepSeek V4 je jak u generisanju koda i matematičkom rezonovanju, uz relativno nisku cenu."
Naravno, može se prebacivati i ručno — korisnik komandom bira model, sistem u toku rada kreira novu instancu klijenta, istorija razgovora se zadržava, a strategija upravljanja kontekstom se automatski prilagođava veličini prozora novog modela.
„Ali idealno automatsko rutiranje izgledalo bi ovako."
„Prvo, prednji klasifikator namere. Pre poziva glavnog modela, lagani model brzo ocenjuje tip i težinu zadatka."
„Drugo, dinamičko spuštanje nivoa. Podrazumevano ide model srednje klase; ako kvalitet odgovora ne dostiže standard, automatski se skače na jači model i pokušava ponovo. Obrnuto, kada se detektuje da je zadatak vrlo jednostavan, aktivno se spušta na jeftiniji model."
„Treće, nadgledanje troškova. Potrošnja token-a i trošak poziva modela vode se po korisniku i po sektoru; kada se pređe budžet, automatski se prelazi na model nižih troškova."
Kako je dizajnirana multi-model arhitektura PaiCLI-ja?
Model factory PaiCLI-ja podržava 7 provajdera — GLM, DeepSeek, StepFun, Kimi, FreeLLMAPI, iFlytek Xingchen MaaS i Agnes. Svaki provajder ima zasebnu implementaciju klijenta; pri pokretanju se konekcija pokušava po prioritetu, i ako se podrazumevani provajder ne može dostići, automatski se pada na sledećeg.

„Pri prebacivanju modela treba paziti na različite prozore konteksta modela. GLM-5.2 ima 256K, DeepSeek V4 ima 1M. Posle prebacivanja, prag za okidanje kompresije, broj zadržanih krugova razgovora i veličina blokova rezultata pretrage moraju se automatski prilagoditi."
09. Kako oceniti da li enterprise Agent zaista stvara vrednost?
„Gledaju se četiri dimenzije."

„Prvo je efikasnost. Koliko je vremena zaposlenom trebalo da završi određeni zadatak pre nego što ga Agent preuzme? A koliko posle? Ovo poređenje mora da se zasniva na stvarnim podacima o korišćenju. Na primer, sređivanje zapisnika sa sastanka ranije je ručno trajalo pola sata, a sada Agent završi za nekoliko minuta — to je merljivo povećanje efikasnosti."
„Drugo je kvalitet. Kolika je tačnost zadataka koje Agent završi? Koliko ih zahteva ljudsku korekciju? Ako zapisnik koji Agent sažme svaki put mora da se ispravlja, ušteda u efikasnosti se poništava problemima kvaliteta."
„Treće je stopa usvajanja. Agent je pušten u rad — koliko zaposlenih ga aktivno koristi? Da li nastavljaju da ga koriste nakon prvog puta? Dnevno aktivni korisnici, sedmična zadržanost, učestalost samostalnih poziva — ti podaci pokazuju da li je Agent zaista rešio bolnu tačku."
„Četvrto je ROI (Return on Investment). Trošak poziva modela, trošak MCP Server-a, trošak razvoja i iteracija. Sve to sabrano, prema uštedi radnog vremena koju Agent donosi — isplati li se na kraju."
11. Kako WorkBuddy posle sastanka u Tencent Meeting-u odrađuje ceo tok od zapisnika do raspodele zadataka?
Prsten na domalom prstu starog Vanga lagano okrznu šoljicu čaja, verovatno nesvesno, pa nastavi: „Nakon sastanka u Tencent Meeting-u, WorkBuddy treba da pročita zapisnik sastanka, izvuče odluke i obaveze, upita Tencent Docs radi dopune pozadine, raspodeli zadatke odgovarajućim zaposlenima i pošalje obaveštenje u WeChat Work (WeCom) grupu. Dizajnirajte kompletan Agent sistem."
„To je tipičan sistem vođen događajima uz orkestraciju Agent-a."
„Na kraju sastanka Tencent Meeting emituje jedan Webhook događaj koji sadrži ID sastanka, listu učesnika i trajanje sastanka. Agent orkestrator osluškuje na taj događaj i po prijemu pokreće workflow."
„Agent orkestrator razlaže ceo workflow na pet koraka i po zavisnostima ređa redosled izvršavanja."

„Korak 1: poziva se MCP Server Tencent Meeting-a i dobija kompletan zapis sastanka, uključujući transkript i deljene snimke ekrana."
„Korak 2: zapisnik sastanka se predaje LLM-u da izvuče odluke i obaveze. Svaka obaveza sadrži opis sadržaja, odgovornu osobu i rok. Zahtev je da izlaz bude strukturiran JSON."
„Korak 3: nakon dobijenih obavega traže se srodni materijali za pozadinu u Tencent Docs-u. Na primer, ako obaveza pominje 'ažuriraj Q3 budžetsku tabelu', Agent treba da pronađe link te budžetske tabele i potvrdi da odgovorna osoba ima pravo uređivanja."
„Korak 4: kreira se zadatak i dodeljuje odgovarajućoj odgovornoj osobi. Može se kreirati u WeChat Work-u."
„Korak 5: u WeChat Work grupu povezanu sa sastankom šalje se jedno objedinjeno obaveštenje — sažetak odluka sa sastanka, lista obaveza, odgovorna osoba i rok za svaku obavezu."
„Zatim MCP Server. Svaki eksterni sistem se pakuje kao zaseban MCP Server — za Tencent Meeting, za Tencent Docs, za WeChat Work. Svaki MCP Server se nezavisno instalira i nezavisno autentifikuje, a sa Agent-om komunicira preko MCP protokola."
„Na kraju, otpornost na greške. Dugi tokovi najviše plaše prekide. Nakon svakog koraka upisuje se checkpoint; pri neuspehu se nastavlja od najbližeg checkpoint-a. Neuspešno slanje obaveštenja mora imati ponovni pokušaj. Neuspešno kreiranje zadatka mora moći da se degradira, da informacija svakako stigne."

Kako upisati PaiCLI u biografiju?
Naziv projekta: PaiCLI — AI Agent alatka za komandnu liniju
Ukratko o projektu: terminalni Agent u Javi, ravan po Claude Code-u; podržava tri režima izvršavanja — ReAct, Plan-and-Execute i Multi-Agent Team — sa sposobnostima razgovora u više krugova, pretrage koda, poziva alata i automatskih popravki.
Tehnološki stek: Java 21 + Spring AI + MCP protokol + SQLite + Elasticsearch
Ključne odgovornosti:
- dizajniran i implementiran višeslojni sistem kontrole prava, uključujući korisničko odobrenje, path guard i command guard; sve operacije pisanja i pozivi MCP alata moraju proći proveru politike pre izvršavanja
- izgrađen revizijski sistem logova u JSONL formatu koji beleži vremensku oznaku, parametre, rezultat i izvor odobrenja svakog poziva alata, uz automatsko maskiranje podataka
- implementiran persistantan modul upravljanja zadacima zasnovan na SQLite-u, sa mašinom stanja zadataka i automatskim oporavkom nakon restarta procesa, gde Checkpoint mehanizam obezbeđuje neprekidno izvršavanje dugih zadataka
- dizajnirana strategija ponovnih pokušaja za LLM, sa razlikovanjem grešaka koje se mogu i koje se ne mogu ponovo pokušati, eksponencijalnim backoff-om sa jitter-om i označavanjem streaming odgovora sa potrošenim sadržajem kao neretriable
- implementirana arhitektura model Provider factory-ja, sa prebacivanjem 7 provajdera modela u toku rada i automatskim prilagođavanjem strategije kompresije veličini prozora modela
Kraj
U eri Agent-a, sadržaja koje treba naučiti postalo je više.
Ali iskreno, u osnovi je i dalje ista ona količina stvari; jedino što treba da uradimo je da damo sebi poverenja.
Da damo sebi vremena.
Dok god posedujete osnovno inženjerstvo i sposobnost razmišljanja, ma kako se pitanja menjala, ili ma kako se scenario posla menjao, sve ćete rešavati lako i s lakoćom.
Podbudite sebe, ohrabrite sebe i nastavite da jurite napred!
