Početkom septembra 2025. godine pokrenuo sam projekat PaiFlow Agent. Pored istraživanja i kodiranja, gotovo sav slobodan verneme sam provodio na pisanju tutorijala, ali su oni u celosti sazreli tek u februaru 2026.
Da vam pokažem obim tutorijala: ukupno 195344 reči, samo vreme pisanja iznosi punih 1450 sati. Da pišem 24 sata dnevno bez prestanka, trebalo bi mi punih 60 dana (neverovatno).

Kada se doda ranija analiza zahteva, dizajnerske diskusije, izbor tehnologija, postavljanje arhitekture, kao i kasnije testiranje i ispravke bagova, čitav projekat od nule do gotovo trajao je oko šest meseci.
Iskreno, ovaj put sam stvarno istrošen. Prošli put, dok sam pisao tutorijale za PaiSmart RAG, uspeo sam da prehladim se i kašljao sam dva meseca. Ovaj put je malo bolje, nema prehlade, ali podočnjaci su sve izraženiji.
Iskreno, svaki put kada vidim vaš entuzijazam, podstičem sebe da još više prionem, kako bih projekat i tutorijale što pre predao vama, u znak zahvalnosti na podršci i poverenju.

Sada kada projekat izlazi, prilično sam nervozan, kao da moje sopstveno dete predstoji na pregled.

Pogledajte zahteve za inženjere za razvoj Agent aplikacija: razvoj pametnih agenata (Agent), osnovni principi LLM-a, distribuirani sistemi, Prompt, LangGraph, Docker, RAG i tako dalje — PaiFlow sve obuhvata.

To znači da, ako temeljno savladate PaiFlow, na intervjuima za poziciju inženjera za razvoj AI aplikacija ćete biti gotovo nepobedivi.
Uveren sam da će vas ovaj praktični Agent projekat pomoći da se tokom letnje prakse ili jesenjeg zapošljavanja istaknete i dobijete ponude koje prevazilaze vaša očekivanja, baš kao što je ranije uspelo PaiSmart RAG.

Siguran sam i da ćete, nakon što temeljno savladate ovaj projekat, ne samo zasijati na intervjuima, već i na poslu biti veoma vešti i postati tražena roba u AI eri.
01. Zašto PaiFlow?
U septembru 2025. godine iFlytek mi je ponudio da promovišem njihov projekat astron-agent. Kada sam pokušao da ga pokrenem, video sam da se savršeno uklapa sa trenutnim potrebama Agent tržišta.
Pošto su učenici imali jaku potrebu za praktičnim AI projektima i želeli su, nakon PaiSmart RAG, još jedan AI praktični projekat, rodila mi se smela ideja: napraviću svoj!
PaiFlow — u originalnom kineskom zovemo ga i PaiPai radni tok, zvuči prilično prisno, zar ne?
Prisno je upravo ono što želimo da bude. Ovo je platforma na nivou preduzeća za orkestraciju AI Agent radnih tokova, koja korisnicima omogućava da vizuelno orchestruju čvorove velikih modela, čvorove alata i logiku toka. Jednostavno rečeno, to je platforma za vizuelnu orkestraciju toka, slična Dify, Coze i n8n.
Evo tutorijala za intervju — sve su to najpopularnije teme dana, uključujući Agent & Skills, SpringAI, LangGraph4J, pitanja o velikim modelima i AI, SSE, Docker, mikroservise i tako dalje. Trenutno su sva dovršena, punih 200 pitanja, koja pokrivaju sve aspekte razvoja AI aplikacija.

U prvoj fazi uglavnom isporučujemo sledeći radni tok: korisnik unese temu, veliki model je pretvori u tekst u stilu podkasta, a zatim TTS pretvara u audio sadržaj. Ima četiri čvora: unos → LLM → ultra-realistična audio sinteza → izlaz (uz podršku za paralelno izvršavanje čvorova).

U drugoj fazi ćemo na toj osnovi implementirati složeniju orkestraciju toka (OCR prepoznavanje, grananje koda, RAG baza znanja, Agent pametno odlučivanje, MCP i tako dalje — kod je već implementiran, čim se prva faza isporuči počećemo da ažuriramo tutorijale).

Do sada smo ukupno razvili sedam praktičnih projekata. PaiSmart RAG i PaiFlow Agent su dva najtipičnija AI scenarija sprovođenja u praksi — ko god prati ta dva projekta, može se spremati za sjajne nastupe na letnjoj praksi i jesenjem zapošljavanju!
PaiAgent je svojevrsna Vibe Coding verzija PaiFlow-a, namenjena kolegama iz netehničkih pozicija, kao laganiji praktični Agent projekat.
Tu su i tri back-end projekta: tech-Faction (Spring Boot + React, projekat sa razdvojenim front-endom i back-endom), mikroservis PmHub i uvodni programerski projekat.

Kao i jedan projekat izrade sopstvenog točka — MYDB. Pored toga, ove godine planiramo da objavimo još najmanje tri AI praktična projekta:
- PaiAgent — da reši zabune u Vibe Coding-u.
- Pai biografija — da reši bolne tačke pri pisanju biografija, sa elegantnim rasporedom i detaljnim, obilnim šablonima.
- Pai za kampijsko zapošljavanje — sa fokusom na MCP + SpringAI + LangGraph4J, za rešavanje poteškoća u pronalaženju informacija o zapošljavanju.
Kod za sva tri projekta je uglavnom završen, ostalo je samo pisanje tutorijala.
02. Razvojni put PaiFlow-a
Jednom kada sam počeo, prošlo je šest meseci, a težina je daleko prevazišla moja očekivanja.
Arhitektura celog projekta se može podeliti u četiri sloja: predstavljački front-end sloj, kontrolni sloj konzole, sloj izvršenja radnog toka i sloj osnovne infrastrukture.

Front-end je implementiran u React + TypeScript i zadužen je za interakciju između korisnika i back-enda. Korisnik može da orchestrira radne tokove, konfiguriše parametre čvorova, izvršava radne tokove, pregleda status i logove.
Back-end koristi mikroservisnu arhitekturu. Hub je zadužen za upravljanje poslom i kontrolu sistema, uključujući autentifikaciju korisnika, jedinstveno upravljanje velikim modelima i dodacima, održavanje metapodataka toka, kao i raspored izvršenja radnih tokova. Hub možete zamisliti kao moždanu koru PaiFlow-a.
Sve što je vezano za izvršenje Hub prosleđuje namenskom motoru za radne tokove.
Motor radnih tokova je naj jezgro i najsloženiji deo PaiFlow-a, sa verzijom i u Pythonu i u Javi. Glavno mu je zaduženje: analiza i validacija DSL-a, raspored i kontrola redosleda čvorova, upravljanje kontekstom i parametrima, topološka analiza lanaca, kao i promena stanja i slanje događaja tokom izvršenja.

Kada pokrenete Python verziju motora radnih tokova, hub automatski šalje zahtev za izvršenje na servise workflow, aitools i link u modulu core; kada pokrenete Java verziju, hub automatski šalje zahtev u modul core-workflow-java i čeka povratnu vrednost.
Hub ne mari ko konačno izvršava radni tok — zadužen je samo za raspored i rutiranje. Stvarna sposobnost izvršenja se može zamenjivati, razvijati, pa čak i paralelno postojati.
Zašto Python + Java dvostruki motor?
Ovo pitanje mnogi postavljaju — zašto dva motora, zar to ne povećava složenost?
U suštini, postoje dva glavna razloga:
Prvo, deo učenika je hitno želeo Python verziju praktičnog projekta (s obzirom na to da već imamo projekte u Javi i Go-u). Pošto postoji takva potreba, moramo je ispuniti.
Drugo, Python verzija brzo validira MVP (Minimum Viable Product, minimalno održiv proizvod), dok je Java verzija zadužena za primenu u produkcionom okruženju. Obe verzije mogu jedna drugoj poslužiti kao uzor i nadoknaditi svoje nedostatke.
Python verzija motora radnih tokova izgrađena je na okviru FastAPI i koristi asinhroni programerski model. Zavisnosti uključuju Uvicorn, Pydantic, SQLAlchemy i druge.

Java verzija motora radnih tokova izgrađena je na JDK 21 + Spring Boot 3.5 + SpringAI 1.1 + LangGraph4J i koristi model paralelnih niti. Sloj za perzistenciju je MyBatis-Plus 3.5, HTTP klijent je Okhttp 4.12, a JSON serijalizacija i deserijalizacija su Fastjson2 2.0.

Port za ulaz u Python verziju i port za ulaz u Java verziju smo izjednačili, oba su 7880. Prednost je u tome što nije potrebno namenski menjati konfiguraciju da bi se prebacili na drugu verziju i pokrenuli poziv radnog toka — hub mikroservis nadole to ni ne primećuje, što je prijateljski za početnike.

Pripremili smo vam i put učenja.

03. Koje su tehničke osobine PaiFlow-a?
Ovaj put PaiFlow zaista koristi mnogo tehnologija. Da izdvojim ključne tačke:
Nove osobine JDK 21 + Spring Boot 3.5
PaiFlow koristi Java 21 i Spring Boot 3.5 za refactorizaciju motora radnih tokova, pa je usput iskoristio mehanizam virtuelnih niti iz Project Loom da zameni tradicionalne bazene niti, radi paralelnog izvršenja čvorova.
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
executor.submit(() -> executeNode(node, variablePool, callback));
}Ranije, prilikom obrade 100 paralelnih čvorova, bilo je potrebno kreirati 100 sistemskih niti — memorijski trošak je bio veliki, a trebalo je i ručno štelovati parametre bazena niti. Nakon prelaska na virtuelne niti, pomoću Executors.newVirtualThreadPerTaskExecutor() može se izgraditi izvršilac, a logika svakog čvora se bezbolno montira na laku nit, pri čemu ukupna zauzetost memorije pada sa 500 MB na 50 MB.
Sloj struktura podataka je takođe optimizovan: mnoge DTO strukture su izmenjene u Record tip uveden u Javi 14, što kod čini sažetijim i semantički jasnijim, a uklanja i zavisnost od Lombok-a.
Spring AI + LangGraph4J
Naš projekat je prvobitno koristio Python FastAPI sa LangChain za implementaciju motora radnih tokova, ali smo kasnije, s obzirom na potrebe aplikacija na nivou preduzeća, izgradili novu verziju sa Spring AI.
Prednosti Spring AI-a su očigledne:
① Spring AI pruža jedinstveni apstraktni sloj za više modela — preko interfejsa ChatClient i ChatModel mogu se neprimetno prebacivati DeepSeek, OpenAI, Qwen i drugi veliki modeli.
② SpringAI, na osnovu Flux strujnog procesiranja iz Reactor-a, omogućio nam je stvarno asinhrono reagovanje, značajno smanjujući kašnjenje prvog znaka, što korisniku daje veoma glatko iskustvo.
③ Snažno tipizirani ChatResponse i Message omogućavaju nam da uhvatimo greške već u vreme kompilacije, što je posebno umirujuće pri refactorisanju.
LangGraph4J je Java implementacija LangGraph-a, to je okvir za orkestraciju za izgradnju stanjem-pogonjenih, petljastih, višekoračnih LLM aplikacija. Oba su okviri koje danas JD izričito zahteva.

Mehanizam jezgra motora radnih tokova
Na motoru radnih tokova PaiFlow-a, naš pristup je „DSL-pogonjen + odvajanje izvršilaca čvorova + izolacija bazena promenljivih".
Sistem prvo analizira definiciju DSL-a, pretvara je u objekat radnog toka u memoriji i izgrađuje lance zavisnosti između svih čvorova.
Na nivou izvršenja, pomoću obrasca strategije prosleđujemo čvorove različitim izvršiocima. Izvršioci imaju zajedničku osnovnu klasu AbstractNodeExecutor, koja obuhvata sve zajedničke sposobnosti, poput kontrole isteka i mehanizma ponovnog pokušaja.

Što se tiče bazena promenljivih, on je ključna komponenta komunikacije između tokova. Napravili smo VariablePool, u koji se upisuju ulazi i izlazi svih čvorova prilikom izvršenja.

Sa stanovišta obrazaca dizajna, NodeExecutor koristi obrazac strategije + obrazac fabrike + obrazac lanca odgovornosti.
SSE realno slanje
U interakcijskom lancu celog motora radnih tokova implementirali smo mehanizam realnog slanja zasnovan na SSE, koji stanje izvršenja čvorova i sadržaj koji LLM generiše sinhronizuje front-end-u u prvom trenutku.

Najveći problem poziva velikih modela je sporost. Korisnik klikne na dugme i čeka 10 sekundi da dobije rezultat. PaiFlow-ovo rešenje je strujna obrada celog lanca: svaki primljeni token se odmah prosledi front-end-u:
// Povratni poziv prilikom izvršenja LLM čvora
LlmResVo llmOutput = modelServiceClient.chatCompletion(req, chatResponse -> {
// Svaki primljeni token se odmah prosledi front-end-u
nodeState.callback().onNodeProcess(
0,
node.getId(),
chatResponse.getResult().getOutput().getText(),
chatResponse.getResult().getOutput().getMetadata().get("reasoningContent")
);
});Pomoću ovog mehanizma, korisnik na front-end-u gotovo da „istovremeno radi i gleda rezultate", što daje veoma glatko iskustvo.
Docker kontejnerska primena
Čitav projekat koristi višefaznu izgradnju za optimizaciju veličine Docker slike. Prva faza, na osnovu slike maven:3.9-eclipse-temurin-21, vrši izgradnju i izvršava mvn clean package -DskipTests radi kompilacije i pakovanja; zatim prelazi u drugu fazu, okruženje za izvršavanje, na osnovu lake slike eclipse-temurin:21-jre, u koju se samo kopira kompajlirani jar paket, čime se drastično smanjuje veličina konačne slike, na oko 200 MB.

Na nivou orkestracije servisa koristi se Docker Compose za upravljanje i pokretanje celog sistema, uključujući ukupno 9 servisa: console-hub, core-workflow, postgres, mysql, redis, minio, nginx i druge.
Distribuirano praćenje
Što se tiče distribuiranog praćenja, pomoću OpenTelemetry smo instrumentirali čitav Workflow motor, obuhvativši početak i kraj radnog toka, kao i fazu izvršenja svakog čvora.

Kada se u izvršenju radnog toka pojavi usko grlo u performansama, mogu se na osnovu Trace ID-a tačno rekonstruisati trajanja pojedinačnih čvorova i brzo locirati problem.
04. Vrednost PaiFlow-a za zapošljavanje
Tehničke tačke su rečene, sada vas sigurno više zanima šta ovaj projekat može da znači na biografiji.
Da sumiram, tehničke tačke koje PaiFlow obuhvata:
- Dizajn arhitekture: mikroservisna arhitektura, dizajn motora radnih tokova, DSL-pogonjen dizajn
- Motor radnih tokova: DAG topološko sortiranje, raspored čvorova, upravljanje bazenom promenljivih, mašina stanja
- Docker kontejner: višefazna izgradnja, Docker Compose orkestracija, provera zdravlja
- Servis dodataka: MCP protokol, sistem registracije alata, JSON Schema
- Redis & MinIO & MySQL: distribuirani keš, skladište objekata, relacionalna baza podataka
- Mikroservisi: podela servisa, API mrežni prolaz, otkrivanje servisa, balansiranje opterećenja
- Agent & Skills: integracija LLM-a, Tool Calling, Prompt inženjering, višekoračni dijalog
- Obrasci dizajna: obrazac strategije, obrazac fabrike, obrazac lanca odgovornosti
- SSE: slanje sa strane servera, realna komunikacija, strujni izlaz
- Paralelno programiranje: virtuelne niti, asinhrono programiranje, bazen niti
- SpringAI: jedinstvena apstrakcija za više modela, strujna obrada, strukturirani izlaz
- Veliki modeli i Prompt: Prompt šabloni, upravljanje kontekstom, RAG
- LangGraph4J: Agent orkestracija, graf stanja, orkestracija radnih tokova
Pogledajte deo sadržaja koji se PaiFlow-om upisuje na biografiju — sve su to veštine u velikoj potražnji u AI eri, pa nema sumnje da ćete biti moćni.

Citiram gosta I Huija: PaiFlow obuhvata mnogo toga, i po dubini i po širini — obrasci dizajna, strukture podataka, arhitektonske misli, inženjerske sposobnosti, AI tehnološki stek — sve je obuhvaćeno, svaka tačka se može dugo i duboko razgovarati.

I ovaj projekat, bez obzira na to da li intervjuer ima iskustva sa AI-jem, može da pokrije mnogo pitanja.
Toplo preporučujem onima koji žele da se izazovu — ako temeljno savladate naše tutorijale i izvorni kod, bićete gotovo nepobedivi, bilo da je reč o promeni posla ili o jesenjem, prolećnom, svakodnevnom ili letnjem stažu.
05. Sadržaj isporuke projekta PaiFlow
Da sumiram šta ćete dobiti sa PaiFlow projektom:
Detaljni tutorijal od preko 200 hiljada reči
Od pozadine projekta → rastavljanje arhitekture → dizajn motora radnih tokova → analiza izvornog koda → praktičan projekat → strategija za biografiju → strategija za intervju — sve ćemo temeljno obraditi.
Tutorijal obuhvata:
- Dizajn arhitekture projekta
- Implementacija jezgra motora radnih tokova
- Detaljno objašnjenje Python verzije motora radnih tokova
- Detaljno objašnjenje Java verzije motora radnih tokova
- Implementacija vizuelne orkestracije na front-end-u
- Docker kontejnerska primena
- Distribuirano praćenje i nadzor
- Smernice za pisanje biografije
- Priprema za pitanja na intervjuu
Kompletan izvorni kod
Pruža se kompletan izvorni kod i za Python i za Java verziju — kod je uredan, komentari detaljni, može se direktno pokrenuti i učiti.

Smernice za pisanje biografije
Pripremili smo 100 načina pisanja biografije, prema standardima velikih kompanija, sa sumiranim tehničkim teškoćama i svetlim tačkama. Tako da zaista možete nakon učenja projekta odmah da ga upišete u biografiju i brzo pripremite intervju — sve u jednom!

Priprema za pitanja na intervjuu
Već smo sumirali preko 200 pitanja za intervju vezanih za projekat. Kad dobro savladate ova pitanja, možete ih odmah nositi na intervju, a kasnije ćemo na osnovu stvarnih povratnih informacija sa intervjua i dalje povećavati broj pitanja.

Servis za odgovaranje na pitanja
Učenje prati i namenska grupa za komunikaciju o projektu, gde Erge uglavnom odgovara na sva pitanja. Pored odgovaranja u grupi, pomažem vam i da rekapitulirate i raščistite svaki problem na koji naiđete na intervjuu, dok ga temeljno ne savladate.

06. Za koga je PaiFlow?
Prikladna grupa:
- Za kolege sa osnovama Java/Python back-end-a, koji žele da nadograde AI Agent projekat radnih tokova — za stažiranje, studentsko ili apsolventsko zapošljavanje
- Za one čije radno iskustvo nema projekte iz AI aplikativnog razvoja, a žele da integrišu takav projekat
- Za one koji žele da uđu u AI inženjering/pametni aplikativni razvoj i da povećaju iskustvo u razvoju AI aplikacija
- Za one koje zanima razvoj aplikacija na velikim modelima i koji žele da kombinuju iskustvo na projektu sa učenjem razvoja takvih aplikacija
Neprikladna grupa:
- Nije za one koji nikada nisu pokrenuli programerski projekat i ne znaju da koriste Google/AI pretragu za rešavanje problema sa okruženjem
- Nije za one koji vole samo da gledaju videozapise i nemaju naviku čitanja dokumentacije, sa slabom sposobnošću samostalnog učenja
- Nije za potpune početnike u razvoju — potrebno je da imate bar osnove Java/Python back-end razvoja (dovoljno je da razumete malo razvoja interfejsa)
- Nije za one koji vole da im se znanje stavlja direktno u usta
Način učenja
PaiFlow projekat je uglavnom zasnovan na učenju iz dokumentacije. Pruža se izvorni kod, ali nema video nastave, niti ručno vođenih videozapisa za izradu projekta, pa je potrebna izvesna sposobnost samostalnog učenja iz dokumentacije.

Videozapisi su prikladni samo za upoznavanje, a naš cilj je da vam pomognemo da nađete posao i dobijete ponudu — posebno kod PaiFlow-a, koji je sam po sebi težak i zahteva izvesnu sposobnost samostalnog učenja, čitanje dokumentacije i izvornog koda, kao i debagovanje, da bi se projekat zaista temeljno savladao.
PaiFlow tutorijal se ovog puta nalazi na platformi tech-Faction — svi koji su prethodno na toj platformi vezali svoj broj člana mogu da otključaju i pregledaju sadržaj.
PaiFlow tutorijal: https://paicoding.com/column/13/1

07. Završna reč
Po mom mišljenju, vrednost PaiFlow-a za vas nije samo u tome da dobijete ponudu koja vam se sviđa, već i u tome da vas rano uvede u misaoni prostor višeg inženjera.
Dakle, ako me pitate u čemu je PaiFlow zaista moćan, reći ću: ne samo da vam može osigurati stopostotno zapošljavanje, već i da će vas sa velikom verovatnoćom izvući iz buke pri filtriranju biografija. Jer AI scenariji sprovođenja u praksi su: s jedne strane RAG (to smo implementirali u PaiSmart-u), a s druge strane Agent orkestracija radnih tokova.

Zajedno se potrudimo i u AI eri osvojimo ponudu koju želimo!

Tehnologija je u svakom trenutku osnov preživljavanja nas programera. Ako pažljivo prođete kroz izvorni kod i tutorijale PaiFlow-a, verujem da će se vaše programerske osnove značajno poboljšati.
Lajkuj i prati
