PaiCLI ruta učenja: Napravi Java verziju Claude Codea od nule
U planetu jedan prijatelj me je pitao: „Erge, ž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žete da naučite iz ovog projekta
- U kom redosledu da učite da bude najlakše
- Do kog nivoa da učite da možete da idete na intervju.
Prvo stavim zaključak: ako pratite 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 vaša 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 vas.
01, Prvo pokrenite PaiCLI
Ovo je najvažniji, i ujedno najviše dostignuće. Pre nego što analizirate bilo koji red koda, morate prvo da PaiCLI pokrenete 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čete izvorni kod projekta, trenutno hostujemo na gitcode.
Link za prijavu: https://paicoding.com/ai-agent-projects-guide

Ako ste se ranije prijavio za PaiSmart RAG, PaiAgent, PaiFlow, Tehnički odeljenje, PmHub i druge projekte, trebao bi da vidite istu organizaciju.
Drugi korak, otvorite 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 unesite 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ćete π 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ć posedujete pojednostavljenu verziju Claude Code.

Nakon pokretanja ne žuri da gledate kod, prvo koristi.
Prva stvar, neka ti kreira projekat. Direktno unesite „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, probajte 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 proigrate, ReAct petlju, Plan-and-Execute, poziv alata već imate stvarno osećaj.
Ako želite da pokrenete i RAG pretragu koda, treba lokalno da instalirate Ollama i povučete embedding model, ovaj RAG pretraga koda tutorial je vrlo jasno napisan, ne zahteva da odmah savladate.
02, Piši PaiCLI u životopis
Projekat je pokrenut, drugi korak nije odmah da zurite u izvorni kod, nego prvo otvorite svoj životopis.
Preporučujem vam da koristite 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 vaš i HR duše, da li ćete dobiti poziv na intervju zavisi od ovog koraka.
Takođe je ulaz u razgovor sa intervjuerom, šta ste napisali u životopisu, intervjuer to pita, ti i treba da učite fokus. Prvo odredi šta da pišete u životopisu, učenje ima cilj.
Nemoj odmah pokušavati da savladate ceo projekat, još manje misli da ga od nule do jedan prepisujete još jednom. Još jednom naglašavam, stvarnom radu uopšte nema ovakav scenario, vi uđete u tim preuzimate sistem koji već radi.
Koji moduli PaiCLI se mogu napisati u životopis?

Možete 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 vaše 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šete, osiguraj da možete dalje da je razvijete.
Intervjuer neće kopati po onome što ste napisali.
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 ste napisali u životopisu vratite i duboko analizirate odgovarajući izvorni kod, i pripremite 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 ste 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 fokusirate na MCP integraciju i DevTools MCP ovaj tutorial, izvorni kod se koncentriše u com.paicli.mcp modul.
Morate biti u mogućnosti da jasno kažete 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đete pogodnog AI asistenta da učite zajedno. Claude Code, Qoder, Codex, PaiCLI svi mogu.
Ali korišćenje AI asistenta ima jednu ključnu tehniku: kad locirate ključnu klasu ili metod, nemojte samo tražiti „sažetak“. Pravilni stav je da postavite konkretnija pitanja.
Na primer za ReAct, možete ovako pitati:
- Molim te da objasnite 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 vaše razumevanje izvornog koda nije tako temeljno, nema veze, dok god možete jasno da sredimo i izrazite pitanja za intervju, već ste vrlli jak.
Zapamti jednu stvar: glavni cilj intervjua nije da dokažete intervjueru da se sećate svakog detalja, nego da možete da se sa njim vratite 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ćite:
- 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žete da kombinujete PaiCLI implementaciju da izrazite vaše razumevanje, intervjuer će sjati.
Uz „da li model izvršava kod“ evo primera kako da razgovarate: 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 proverite da li zaista razumete: nakon što pročitate implementaciju jednog metoda, obrišite glavnu logiku metoda, zatim ručno implementirate jednom, vidite vi možete li da napišete.
Ako možete da napišete, znači da ste zaista razumeo. Nemoj biti samo teorija bez prakse. Naravno, verujem da možete implementirati.
04, Ručno debug
Samo gledanjem ne možete naučiti da plivate, morate ručno da vežbate.
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 stanete 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 poznajete, treba pokušati da malo promenite ovaj projekat.
Najjednostavnije, promeni tekst. Npr. promeni startni ekran, ili promeni jednu liniju poruke koja se vraća korisniku, ponovo kompajliraj i pokrenite, gleda da li vaša izmena stupila na snagu.
Ovaj korak izgleda jednostavno, ali je prošao „promeni kod → kompajliraj → pokreni → verifikuj“ ovaj najosnovniji proces.
Još dalje, dodajte malu funkciju. Npr. dodajte PaiCLI-u jedan novi ugrađeni alat.
Najvrednije je popraviti bug. Ovaj projekat ako ozbiljno pokrenete, naićićete na bug, ovo je sasvim normalno, svaki stvarni projekat ima bug. Možete locirati jedan bug, razumeti zašto se desio, i popraviti ga, jednom kroz ovaj kompletan proces, vaša 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, pokrenite projekat, postavi prekidnu tačku, popravi bug, dodajte funkciju, sigurno ćete imati mnogo koristi.
05, Sredi u svoju bazu znanja
Ako imate više zahteva prema sebi, morate imati izlaz i akumulaciju.
Učenje, ulaz i izlaz su dva potpuno druga nivoa. Vi ste razumeli, debug-ovao, to je ulaz; možete to drugom reći, napisati članak, srediti u svoje beleške, to je prava unutrašnjost. Možete 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šite članke o rupama. Vi ste u procesu pokretanja PaiCLI, debug PaiCLI sigurno ste naletili 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 vaša rešenja, to je članak o vrednom iskustvu. Ne potcenjuj ovakav članak, pomažu kasnijim ljudima vrlo mnogo, vama je takođe jedan pregled.
Drugo, sredi svoju bazu pitanja za intervju. Pitanja koja ste zaista sreo u intervjuu, grupiši po modulima, sredi u bazu znanja koja pripada samo vama.
Treće, crtaj dijagrame. ReAct, Plan DAG planiranje, MCP komunikacioni tok, Multi-Agent saradnju, vašim razumevanjem nacrtaj dijagrame.

Ovaj korak još ima jednu skrivenu prednost: kad te u intervjuu pitanje ne možete odmah da odgovorite, ne pani, zabeleži, idi nazad da dopunite. Nakon dopune, upiši u svoju bazu znanja. Ovako cirkulite nekoliko krugova, otkrićete da vaše 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 pokrenite,
zatim kopirajte životopis,
zatim oko životopisa kopaj izvorni kod, uči pitanja za intervju, zatim ručno debug, popravi bug, dodajte funkciju, na kraju rupu koju ste nalepili sredi u svoju bazu znanja.
Ovaj set metoda, primenjujete 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 vratite Autor-ju da javite dobru vest, srce.
