PaiCLI ruta učenja: Napravi Java verziju Claude Codea od nule
U planetu jedan prijatelj me je pitao: „Autor, želim da učim PaiCLI, odakle da krenem? Koliko otprilike treba da učim da mogu da idem na intervju?“
Zato danas ću od početka do kraja da sredim PaiCLI rutu učenja. Nakon čitanja treba da ti bude jasno tri stvari:
- Šta možeš da naučiš iz ovog projekta
- U kom redosledu da učiš da bude najlakše
- Do kog nivoa da učiš da možeš da ideš na intervju.
Prvo stavim zaključak: ako pratiš ovu metodu, početnik za jedan dan može da pokrene projekat i napiše životopis, jedne dve nedelje može da savlada module koji su napisani u životopisu.

Mnogi prijatelji prva reakcija na učenje projekta je da traže video, od prve epizode do poslednje, posle gledanja osećaju da su razumeli, ugase video i ništa se ne seća.
To nije tvoja krivica, video format sam po sebi nije pogodan za duboko učenje inženjerskog projekta. Gledanje videa je pogodno samo za uvod, ne može da poveže izvorni kod, tutorial, pitanja za intervju.
Savetujem vam da naviknete da čitate dokumentaciju, izvorni kod, komentare i moći da rukujete, ova navika će vam pomoći da u budućnosti uđete u tim i preuzmete tuđe kodove, pomoći će vam više nego što možete da zamislite. U stvarnom radnom okruženju niko neće snimati video za tebe.
01, Prvo pokreni PaiCLI
Ovo je najvažniji, i ujedno najviše dostignuće. Pre nego što analiziraš bilo koji red koda, moraš prvo da PaiCLI pokreneš na svom računaru.
PaiCLI je Agent alat komandne linije napisan čisto u Javi, referencirao je Claude Code i Qoder CLI, interakcija je vrlo prijateljska.
Prvi korak je da povučeš izvorni kod projekta, trenutno hostujemo na gitcode.
Link za prijavu: https://paicoding.com/ai-agent-projects-guide

Ako si se ranije prijavio za PaiSmart RAG, PaiAgent, PaiFlow, Tehnički odeljenje, PmHub i druge projekte, trebao bi da vidiš istu organizaciju.
Drugi korak, otvori projekat pomoću IntelliJ IDEA.

JDK koristimo Java 17, prilično stabilna verzija.
Treći korak, konfiguriši API Key modela.
Kopiraj .env.example u projekat u .env, zatim unesi svoj Key.
cp .env.example .env
# Edituj .env, unesi svoj GLM_API_KEYPaiCLI podržava mnogo modela, GLM, DeepSeek, StepYueXing, Kimi, iFlyXingChen MaaS svi mogu, bilo koji može.
Četvrti korak je kompilacija. Prvo generiši jar paket koji se može ručno verifikovati.
mvn clean packagePeti korak je izvršenje.
java -jar target/paicli-1.0-SNAPSHOT.jarNakon pokretanja videćeš π temu u boji na početnom ekranu, na dnu postoji statusna linija, prikazuje trenutni model, koliko MCP je povezano, koliko alata, trenutno je ReAct ili Plan mod. U ovom trenutku već poseduješ pojednostavljenu verziju Claude Code.

Nakon pokretanja ne žuri da gledaš kod, prvo koristi.
Prva stvar, neka ti kreira projekat. Direktno unesi „kreiraj Java projekat myapp“, gleda kako poziva alate, kako posmatra ReAct.
Druga stvar, uđi u Plan mod. Unesi /plan zatim mu daj višekorakni zadatak, npr. „kreiraj demo projekat, zatim pročitaj pom.xml, na kraju verifikuj strukturu projekta“.
Treća stvar, probaj mrežu. Neka „pretraži šta je Marko Marković“, posmatra kad odluči da pozove web_search, kad odgovori direktno.

Nakon što ove tri stvari proigraš, ReAct petlju, Plan-and-Execute, poziv alata već imaš stvarno osećaj.
Ako želiš da pokreneš i RAG pretragu koda, treba lokalno da instaliraš Ollama i povučeš embedding model, ovaj RAG pretraga koda tutorial je vrlo jasno napisan, ne zahteva da odmah savladaš.
02, Piši PaiCLI u životopis
Projekat je pokrenut, drugi korak nije odmah da zuriš u izvorni kod, nego prvo otvoriš svoj životopis.
Preporučujem ti da koristiš PaiResume: https://github.com/itwanger/PaiResume
Ovo je vrlo korisno, može inteligentno jedna strana, može AI korekcija, životopis format sam sam pažljivo polirao, mislim da na tržištu nema boljeg alata od ovog.
Životopis je prvi korak tvoj i HR duše, da li ćeš dobiti poziv na intervju zavisi od ovog koraka.
Takođe je ulaz u razgovor sa intervjuerom, šta si napisao u životopisu, intervjuer to pita, ti i treba da učiš fokus. Prvo odredi šta da pišeš u životopisu, učenje ima cilj.
Nemoj odmah pokušavati da savladaš ceo projekat, još manje misli da ga od nule do jedan prepisuješ još jednom. Još jednom naglašavam, stvarnom radu uopšte nema ovakav scenario, ti uđeš u tim preuzimaš sistem koji već radi.
Koji moduli PaiCLI se mogu napisati u životopis?

Možeš direktno kopirati iz slučaja: https://paicoding.com/paicli-resume-write
Ne stidi se.
Rastao sam ti po redu od laganog do teškog.
- ReAct petlja + Function Calling Agent jezgro, ovo je najosnovnije, skoro svaka Agent pozicija će pitati;
- Plan-and-Execute plus DAG planiranje zadataka, odražava tvoje razumevanje kompleksnih dekompozicija zadataka;
- Tro-slojni Memory plus kontekst inženjering, kompresija dugih razgovora i Token budžet su glavne teškoće LLM aplikacije;
- RAG pretraga koda plus AST relacioni graf, ovaj deo je snažno povezan sa vektorskom pretragom, semantičkom pretragom;
- Kompletna implementacija MCP protokola, ovo je apsolutna vruća tačka nakon 2025. godine;
Ovaj korak u pisanju životopisa ima jednu malu pamet: svaku liniju koju napišeš, osiguraj da možeš dalje da je razviješ.
Intervjuer neće kopati po onome što si napisao.
03, Duboki uvid u izvorni kod, uz tu i nauči pitanja za intervju
Životopis je napisan, treći korak je da se za svaku liniju koju si napisao u životopisu vratiš i duboko analiziraš odgovarajući izvorni kod, i pripremiš povezana pitanja za intervju.
Obrati pažnju, „fokusirano na životopis“ duboka analiza, ne čitanje celog izvornog koda od početka do kraja.
Daj konkretan primer. Pretpostavimo da si u životopisu napisao MCP:
Implementirati MCP protokol, podržati stdio podproces i Streamable HTTP dve vrste server-a, ugrađeno registrovano više od 60 često korišćenih spoljnih alata, npr. Chrome Devtools MCP.
Tada bi trebalo da se fokusiraš na MCP integraciju i DevTools MCP ovaj tutorial, izvorni kod se koncentriše u com.paicli.mcp modul.
Moraš biti u mogućnosti da jasno kažeš nekoliko stvari:
- Kako MCP JSON-RPC komunikacija prima i šalje
- U čemu je razlika između stdio servera i udaljenog HTTP servera
- Kako se alati automatski registruju sa uniformnim prefiksom
- Zašto se schema parametara mora očistiti jednom pre nego se šalje modelu

U ovom koraku posebno preporučujem da nađeš pogodnog AI asistenta da učiš zajedno. Claude Code, Qoder, Codex, PaiCLI svi mogu.
Ali korišćenje AI asistenta ima jednu ključnu tehniku: kad lociraš ključnu klasu ili metod, nemoj samo tražiti „sažetak“. Pravilni stav je da postaviš konkretnija pitanja.
Na primer za ReAct, možeš ovako pitati:
- Molim te da objasniš kako glavna petlja klase Agent implementira tri koraka „misli-idi-vidi“, koji su uslovi izlaska iz petlje?
- Kada LLM u istom krugu vrati više poziva alata, kako PaiCLI paralelno izvršava i garantuje redosled rezultata?
- Molim te nacrtaj kompletnu sekvencijalnu dijagram od korisničkog unosa jedne rečenice, do Agent poziva alat, do izlaza konačnog rezultata.

Sledeće je glavni deo ovog koraka: pitanja za intervju.
Ako tvoje razumevanje izvornog koda nije tako temeljno, nema veze, dok god možeš jasno da sredimo i izraziš pitanja za intervju, već si vrlo jak.
Zapamti jednu stvar: glavni cilj intervjua nije da dokažeš intervjueru da se sećaš svakog detalja, nego da možeš da se sa njim vratiš na ovu temu, ima šta i ima šta.
Gustina pitanja za intervju oko Agent-a u PaiCLI je vrlo visoka, nasumice izvuci nekoliko da osećiš:
- Razlika i primenljivi scenariji ReAct i Plan-and-Execute
- Koja su suština Function Calling
- Da li model izvršava kod
- Šta ako se kontekstni prozor napuni
- Zašto raditi prompt cache
- Šta problem MCP rešava
- Kako se dele odgovornosti planer, izvršilac, pregledač u MultiAgent
Ako možeš da kombinuješ PaiCLI implementaciju da izraziš tvoje razumevanje, intervjuer će sjati.
Uz „da li model izvršava kod“ evo primera kako da razgovaraš: https://paicoding.com/tool-call-hitl
Standardan odgovor je model sam po sebi ne izvršava nijedan kod, on u Function Casting vraća samo struktuiranu nameru poziva, govori Agent koji funkciju da pozove, koje parametre da prosledi, pravo izvršenje je PaiCLI sopstveni sloj alata, nakon izvršenja rezultat se vraća modelu.

Ovde još delim jednu glupu metodu koju sam nekoliko puta proverio, specijalno da proveriš da li zaista razumeš: nakon što pročitaš implementaciju jednog metoda, obrišiš glavnu logiku metoda, zatim ručno implementiraš jednom, vidiš ti možeš li da napišeš.
Ako možeš da napišeš, znači da si zaista razumeo. Nemoj biti samo teorija bez prakse. Naravno, verujem da možeš implementirati.
04, Ručno debug
Samo gledanjem ne možeš naučiti da plivaš, moraš ručno da vežbaš.
Mnogi prijatelji mogu da recituju osmo odgođeno, ali kad napišu ne znaju odakle da krenu, koren je u tome da nikada zaista nisu postavili prekidnu tačku u ovom projektu, nisu pokrenuli debug jednom.
Prvo, postavi prekidne tačke. Izaberi ulazne tačke vezane za životopis, npr. u Agent glavnoj petlji svakom krugu gde se model poziva, gde registry alata distribuira poziv alata, gde MCP klijent inicira handshake. Zatim daj PaiCLI jednostavan zadatak, program stane na prekidnoj tački, red po red gleda kako ide.
Drugo, promeniljive. Kad staneš na prekidnoj tački, fokusiraj se na promene nekoliko ključnih promenljivih: koje alate je ovaj krug model vratio, koliko poruka se sada skupilo u kontekstu, koliko Token budžeta preostaje, šta se vrátil nakon izvršenja alata.
Treće, menjaj ga. Kad glavni tok dobro poznaješ, treba pokušati da malo promeniš ovaj projekat.
Najjednostavnije, promeni tekst. Npr. promeni startni ekran, ili promeni jednu liniju poruke koja se vraća korisniku, ponovo kompajliraj i pokreni, gleda da li tvoja izmena stupila na snagu.
Ovaj korak izgleda jednostavno, ali je prošao „promeni kod → kompajliraj → pokreni → verifikuj“ ovaj najosnovniji proces.
Još dalje, dodaj malu funkciju. Npr. dodaj PaiCLI-u jedan novi ugrađeni alat.
Najvrednije je popraviti bug. Ovaj projekat ako ozbiljno pokreneš, naićićeš na bug, ovo je sasvim normalno, svaki stvarni projekat ima bug. Možeš locirati jedan bug, razumeti zašto se desio, i popraviti ga, jednom kroz ovaj kompletan proces, tvoja inženjerska sposobnost će imati pravi skok.
Test ne smije zaboraviti.
PaiCLI je ostavio nekoliko test profilâ, svakodnevna regresija koristi mvn test -Pquick da preskoči spore testove, veće izmene zatim mvn test -DskipTests=false pokrene puni.
# Brza regresija
mvn test -PquickNemoj zaboraviti, potpuno se posveti, ne plutaj po površini. Ne oklevaj više šta „hoću od nule do jedan red po red da prepišem“, nakon rada stvarno nema ovakav scenario. Stojalo pošteno po mom govoru, pokreni projekat, postavi prekidnu tačku, popravi bug, dodaj funkciju, sigurno ćeš imati mnogo koristi.
05, Sredi u svoju bazu znanja
Ako imaš više zahteva prema sebi, moraš imati izlaz i akumulaciju.
Učenje, ulaz i izlaz su dva potpuno druga nivoa. Ti si razumeo, debug-ovao, to je ulaz; možeš to drugom reći, napisati članak, srediti u svoje beleške, to je prava unutrašnjost. Možeš jasno reći, to je pravo razumevanje.

Kao ja, samo zvanični nalog je objavio 1800+ originalnih članaka, ova količina u tehnološkim zvaničnim nalogima apsolutno je jedinstvena.
Konkretno kako akumulirati? Dajem ti nekoliko pravaca.
Prvo, napiši članke o rupama. Ti si u procesu pokretanja PaiCLI, debug PaiCLI sigurno si si naletio na rupe — neka zavisnost se ne može instalirati, Ollama nije podesio dobro, MCP server se ne može pokrenuti, Key određenog modela nije u dobrom formatu. Zapiši ove rupe i tvoja rešenja, to je članak o vrednom iskustvu. Ne potcenjuj ovakav članak, pomažu kasnijim ljudima vrlo mnogo, tebi je takođe jedan pregled.
Drugo, sredi svoju bazu pitanja za intervju. Pitanja koja si zaista sreo u intervjuu, grupiši po modulima, sredi u bazu znanja koja pripada samo tebi.
Treće, crtaj dijagrame. ReAct, Plan DAG planiranje, MCP komunikacioni tok, Multi-Agent saradnju, tvojim razumevanjem nacrtaj dijagrame.

Ovaj korak još ima jednu skrivenu prednost: kad te u intervjuu pitanje ne možeš odmah da odgovoriš, ne pani, zabeleži, idi nazad da dopuniš. Nakon dopune, upiši u svoju bazu znanja. Ovako cirkuliš nekoliko krugova, otkrićeš da tvoje razumevanje Agent ovih stvari je daleko premašilo konkurente.
ending
Konačno želim reći, ovaj metod učenja, u stvari nije samo primenjiv na PaiCLI.
Prvo pokreni,
zatim kopiraj životopis,
zatim oko životopisa kopaj izvorni kod, uči pitanja za intervju, zatim ručno debug, popravi bug, dodaj funkciju, na kraju rupu koju si si nalepio sredi u svoju bazu znanja.
Ovaj set metoda, primenjuješ na bilo koji projekat i uspeva.

Učenje, najstrašnije nije teško, nego nemati smer nadanja.
Nadam se da svi mogu kroz PaiCLI ovaj projekat da otvore jedan veliki paket.
Ne zaboravi da se vratiš Autor-ju da javiš dobru vest, srce.
