Uvod: Agent Kakvog Svi Žele, Bez Preterivanja
Problem sa agentima za kodiranje je što većina njih pokušava da bude vaš šef, vaš kopilot i vaš terapeut—a onda zaboravi da jednostavno napiše kôd. Scenario je sledeći: dodajte desetak vektorskih baza podataka, pospite malo orkestracijske magije, ubacite pregledač, i proglasite to gotovim. Dobro izgleda u demonstraciji. Ali se raspadne čim ga zamolite da popravi nestabilan integracioni test u 16:52 u petak.
Izgradnja laganog agenta za kodiranje sa Claude 4.5 je—iznenađenje—zapravo jednostavna ako prestanete da jurite san o univerzalnom softverskom batleru i samo napravite alat koji čita kôd, planira, uređuje, pokreće i ponavlja. Bez propovedi o “AI koji zamenjuje programere.” Bez Rube Goldbergovih cevovoda. Samo čvrsta petlja koja dobro radi očigledne stvari.
Ovo je vodič o tome kako to postići bez uvlačenja celog odeljenja za AI operacije. Koristićemo Claude 4.5 za mozak, sistem datoteka i shell za ruke, i malu memoriju za kratkoročni fokus. To je to. Lagano znači da ga možete razumeti u jednom sedenju, pokrenuti lokalno i verovati mu jer je svaki korak proverljiv. Što je, ako ste koristili bilo šta u ovom prostoru u poslednje vreme, skoro subverzivno.
Zašto Claude 4.5 Radi za Minimalnog Agenta
Claude 4.5 ima temperament koji zapravo želite za kôd: pažljiv sa praćenjem instrukcija, iznenađujuće dobar u čitanju diff-ova, i nije previše željan da halucinira okvire koje niste tražili. Model je kompetentan u postupnom rezonovanju bez zahtevanja celog novog prompta. Ta kombinacija—rezonovanje plus uzdržanost—čini ga idealnim za petlju agenta za kodiranje:
- Posmatraj: Čitaj trenutne datoteke, logove grešaka i testove.
- Planiraj: Predloži konkretne izmene sa obrazloženjem.
- Deluj: Zakrpi datoteke, pokreni komande.
- Razmisli: Proceni izlaz, ponovi ili zaustavi.
Možete ovo pričvrstiti na bilo koji repo i dobiti vrednost za popodne. Trik je u tome da se oduprete želji da ga pretvorite u “AI platformu.” Ako agenta držite laganim, Claude 4.5 obavlja teške poslove bez da vam smeta.
Lagana Arhitektura: Pet Delova, Bez Drame
Evo celog steka koji vam je potreban:
- Osnovna petlja: Jedan proces koji poziva Claude 4.5 i tumači njegove poruke o korišćenju alata.
- Alati: Mali skup—read_file, write_file, list_dir, run_tests (ili run_cmd), search_code.
- Konstruktor konteksta: Sastavi kratak, usmeren prompt sa metapodacima repoa i nedavnim diff-ovima.
- Kratkoročna memorija: Prozor sa pokretnim razgovorom plus eksplicitna beležnica za plan i ograničenja.
- Zaštitne ograde: Token, vremenska i ograničenja pisanja datoteka; režim probnog rada; i snimci za vraćanje unazad.
To je to. Možete ga pokrenuti bez glave u terminalu ili ga umotati u minimalni UI ako morate. Razlog zašto ovo radi je dosadan: svaka akcija je posmatrana i proverljiva. Agent predlaže promenu, pokazuje diff, pokreće testove, čita izlaz i ili nastavlja ili se zaustavlja. Nema misterioznog mesa u sredini.
Kako Izgraditi Agenta (Bez Gubitka Smera)
Korak 1: Definišite Ugovor—Prompt i Alati
Vaš agent je dobar koliko i njegov ugovor sa modelom. Neka sistemski prompt bude kratak, strog i neumoljivo praktičan.
Sistemski prompt, destilovan:
- Vi ste agent za kodiranje. Vaš posao je da napravite male, ispravne promene u repou kako biste zadovoljili korisnički zadatak.
- Razmišljajte naglas u skrivenoj beležnici; izložite samo planove i diff-ove korisniku.
- Preferirajte minimalne diff-ove, radne testove i inkrementalni napredak.
- Kada niste sigurni, predložite eksperiment i pokrenite ga.
- Nikada ne izmišljajte datoteke ili komande—navedite i pročitajte pre nego što uredite.
Šema alata (nemojte previše razmišljati o tome):
- read_file(path, offset?, length?)
- write_file(path, content, create_if_missing=false)
- run_cmd(command, timeout=60, cwd=repo_root)
- search_code(query, path=repo_root, max_results=50)
Opcione pogodnosti: git_diff i git_revert(sha) ako želite vraćanje unazad bez ruku. Možete preskočiti vektorsku bazu podataka; većina korisnih zadataka zavisi od šačice datoteka u radnoj memoriji plus brzog pretraživanja.
Korak 2: Neka Kontekst Bude Lean
Punjenje konteksta je cargo kult dizajna agenta. Nemojte bacati ceo svoj monorepo u prompt. Umesto toga:
- Rezime repoa: Jedan pasus sa digestom README-a; ulazne tačke; komanda za pokretanje testa.
- Aktivne datoteke: Samo datoteke koje agent planira da dodirne—čitajte ih u delovima po potrebi.
- Zadatak: Korisnički cilj, jasno formulisan: “Popravi neuspešan test FooTest.test_bar u tests/foo_test.py.”
- Ograničenja: Ograničenja vremena izvršavanja, lista dozvoljenih pisanja datoteka, pravila stila i očekivanja semantičkog verziranja ako je primenjivo.
- Nedavna istorija: Poslednja dva diff-a i njihovi rezultati testa. Ništa drugo.
Claude 4.5 je savršeno sposoban da dohvati više konteksta kada mu je potreban putem search_code i read_file. Dajte mu mapu, a ne teritoriju.
Korak 3: Petlja (Posmatraj → Planiraj → Deluj → Razmisli)
- Posmatraj: Počnite sa navođenjem direktorijuma, čitanjem neuspešnog testa, kôda koji se testira i loga grešaka. Zamolite Claude-a da sumira simptome neuspeha u dve ili tri tačke.
- Planiraj: Neka Claude predloži plan sa:
- Datotekama za inspekciju ili uređivanje
- Minimalnim diff-ovima za pokušaj
- Komandom za testiranje za validaciju
- Deluj: Primenite predloženi diff putem write_file. Pokažite diff doslovno. Pokrenite testove.
- Razmisli: Vratite stdout/stderr nazad. Pitajte Claude-a: nastavi, vrati se, ili zaustavi? Ako se plan promeni, zahtevajte opravdanje u jednoj rečenici koja se odnosi na stvarni izlaz.
- Izlaz: Zaustavite se kada testovi prođu, ili nakon N iteracija, šta god da dođe prvo.
Ovo je proslavljeno programiranje u paru gde zapravo održavate iskrenost uparivanja.
Korak 4: Zaštitne Ograde Koje Vam Spasavaju Vikend
- Lista dozvoljenih pisanja: Dozvolite pisanje samo unutar src/, lib/, ili eksplicitno odobrenih putanja.
- Ograničenje veličine diff-a: Ograničite izmene na 200–500 linija po koraku. Ako je veće, podelite na pod-korake.
- Lista dozvoljenih komandi: pokretači testova, linteri i nekoliko dev skripti. Zabranite mrežu. Želite reproduktivnost, a ne divlji zapad curl-a.
- Tajmaut i ponovni pokušaji: Kratki tajmauti, jedan ponovni pokušaj maksimum—beskrajne petlje ponovnog pokretanja su tamo gde agenti umiru.
- Režim probnog rada: Odštampajte predložene diff-ove, ali nemojte pisati. Odlično za pregled kôda.
Claude 4.5 će se pridržavati pravila ako ih učinite eksplicitnim. Ako ne, nemojte se iznenaditi kada pokuša da “pomogne” reorganizacijom celog vašeg repoa kako bi se uskladio sa nekim blog postom iz 2017.
Korak 5: Memorija Koja Je Zapravo Korisna
Kratkoročna memorija rešava 80% problema. Zadržite:
- Beležnicu za trenutnu hipotezu i plan.
- Listu datoteka dodirnutih u ovoj sesiji.
- Poslednja dva izlaza komande.
To je dovoljno da Claude 4.5 razumno rezonuje. Dugoročna memorija—logovi zadataka, ugrađivanja—može biti korisna za ponavljajuće baze kôda, ali je tretirajte kao opcioni šećer. Ako vaš agent ne može da popravi test bez 500MB vektorskog indeksa, to nije agent—to je zavisnost.
Minimalni Nacrt Implementacije
U pseudokodnim terminima, možete implementirati ovog agenta u nekoliko stotina linija:
- initialize: učitaj metapodatke repoa, ograničenja i model klijenta
- observe: pročitaj neuspešne testove, datoteke, logove
- plan = model.propose_plan(context)
- while not done and steps < MAX:
- diff = model.propose_patch(plan)
- out = run_cmd(plan.test_cmd)
- reflect = model.evaluate(out)
- if reflect == pass: done = true
- else if reflect == rollback: git_revert(last_commit)
- else: plan = model.revise_plan(out)
Primetićete delove koji nedostaju: nema agenata koji upravljaju agentima, nema “delegata,” nema odvojenog “modela planera” i “modela izvršioca.” Claude 4.5 može da obavi oba posla dobro ako ga ne sabotirate sa Rube Goldbergovim aparatom.
Promptovanje Koje Se Ne Trudi Previše
Loši promptovi pokušavaju da budu pametni. Dobri promptovi su dosadni i specifični. Evo zdravog kostura za vaš osnovni blok instrukcija:
- Cilj: Navedite tačan zadatak kodiranja i kriterijume uspeha.
- Kontekst: Struktura projekta, ulazne tačke i komanda za testiranje.
- Ograničenja: Lista dozvoljenih pisanja, ograničenje veličine diff-a, bez mreže.
- Preferencije stila: Verzija jezika, formatiranje, pravila lintera.
- Proces: Posmatraj → Planiraj → Deluj → Razmisli; prikaži diff-ove; pokreni testove; ponavljaj do N koraka; zaustavi se kada testovi prođu.
Claude 4.5, sa ovom strukturom, neće trebati scenario igranja uloga od 100 linija. Jednostavno radi.
Praktičan Primer: Popravite Neuspešan Test
Recimo da test ne uspeva u tests/time_test.py zato što parse_time("09:00") vraća 5400 umesto 32400. Petlja agenta bi trebalo da izgleda ovako:
- Posmatraj: Pročitaj time.py i time_test.py; pokreni pytest -k parse_time.
- Planiraj: Hipoteza—matematička greška sekundi vs minuta; predloži uređivanje parse_time; dodaj unit edge case.
- Deluj: Zakrpi parse_time, dodaj test za sate sa vodećom nulom; pokreni testove.
- Razmisli: Ako testovi i dalje ne uspevaju, pročitaj grešku, podesi matematiku ili regex, ponovo pokreni.
Minimalna uspešna zakrpa može biti promena od dve linije. To je poenta. Male izmene, brzi ciklusi, stvarni napredak.
Gde Lagani Pobeđuje Sudoperu
- Latencija: Jedan model, jedna petlja, nema orkestracijskog opterećenja.
- Transparentnost: Svaki korak je proverljiv. Možete ga diff-ovati, možete ga vratiti, možete ga ponovo pokrenuti.
- Kontrola: Zaštitne ograde drže štetu lokalnom. Agent ne može da luta u vašu infrastrukturu.
- Trošak: Manje poziva, manje konteksta, predvidljivi tokeni.
- UX: Razumete ga. Vaši saigrači ga razumeju. Vaša buduća verzija vas neće mrzeti.
I kompromisi:
- Širina: Lagani agent za kodiranje neće refaktorisati vaš monorepo sa pet jezika u jednom prolazu. Niti bi trebalo.
- Inicijativa: Neće izmisliti višenedeljne mape puta. Vi mu dajete zadatke.
- Stanje: Bez velikog sloja memorije, po dizajnu zaboravlja daleku istoriju. To je funkcija dok ne postane greška.
Idealna Pozicija Claude 4.5 za Agente za Kodiranje
Claude 4.5 briljira u:
- Čitanju i rezonovanju o diff-ovima i logovima.
- Proizvodnji koherentnih, minimalnih promena kôda.
- Praćenju ograničenja i eksplicitnosti u vezi sa neizvesnošću.
Manje je sjajan u:
- Pogađanju ponašanja API-ja koje ne može da pročita.
- Teškoj alatnoj koreografiji (nije potrebna ovde).
- Dugim refaktorima sa više datoteka bez ljudskog vođenja koraka.
Ta poslednja tačka je važna. Najbolji način da se dobiju snažni rezultati nije da se agent učini većim—već da se zadatak učini manjim. Koristite svoj mozak za određivanje opsega, a Claude 4.5 za izvršenje unutar tog opsega.
Reč o IDE Integraciji
Oduprite se želji da ovo ispečete direktno u IDE okno sa pedeset prekidača. Petlja zasnovana na terminalu sa običnim tekstualnim diff-ovima je lakša za poverenje i otklanjanje grešaka. Ako želite editor šećer, neka bude glup:
- Komande za pokretanje/zaustavljanje petlje.
- Prikaži diff-ove u podeljenom prikazu.
- Prompt za odobrenje za pisanje (opciono, ali mudro).
Možete se integrisati kasnije. Prvo, neka radi.
Sider.AI, Korišćen Štedljivo, Zapravo Pomaže Ako želite pragmatično okruženje za pokretanje ove vrste petlje bez ponovnog izmišljanja skele, Sider.AISider zapravo radi—barem kada ga koristite za ono za šta je dobar. Održava razgovor i diff-ove urednim, omogućava vam da pokrećete komande i ne forsira vam neki grandiozni “autonomni okvir agenta.” Trik je da zadržite svoja pravila: kratki promptovi, čvrste petlje, vidljivi diff-ovi. Sider.AISider se sklanja s puta, što je ređe nego što bi trebalo da bude. Uobičajene Zamke (i Kako Izbeći Da Izgledate Glupo)
- Pretrpani kontekst: Ako vaš prompt zvuči kao pismo zahteva za otkup, radite to pogrešno. Dohvatite datoteke na zahtev.
- Preuranjeno refaktorisanje: Agent predlaže reorganizaciju modula? Neka prvo prođe testove. Refaktorišite kasnije.
- Halucinirane datoteke: Zahtevajte list_dir i read_file pre bilo kakvog write_file na novu putanju.
- Beskonačne petlje ponovnog pokretanja: Ograničite korake. Zahtevajte opravdanje za svaku novu hipotezu.
- Jedan veliki diff: Podelite promene. Manji diff-ovi brže ne uspevaju i lakše ih je razumeti.
Sigurnost Bez Paranoje
- Lokalno izvršavanje: Pokrenite u sandboks direktorijumu. Bez mreže po default-u.
- Izolacija zavisnosti: Koristite lokalni venv ili kontejner. Zakačite verzije.
- Tajne: Agenti ih ne trebaju. Ako komanda zahteva token, zaustavite se i pitajte.
- Revizija: Sačuvajte svaki plan, diff i komandu u logu.
Kako Znati Da Radi
- Smanjuje se vreme vođenja: Ispravke grešaka koje su trajale sat vremena sada traju deset minuta.
- Manje grešaka pri upisivanju: Diff-ovi postaju manji, testovi postaju zeleniji.
- Verujete mu: Prestajete da lebdite iznad svake akcije jer vas nije opeklo.
- Saigrači ga koriste: Definicija uspeha je da ga drugi usvoje bez sastanka.
Pažljivo Skaliranje
Ako zaista morate da skalirate, uradite to sa disciplinom:
- Paralelni pod-zadaci, ne paralelni mozgovi: Podelite posao, pokrenite više laganih petlji u odvojenim direktorijumima i spojite kada je zeleno.
- Epizodna memorija, ne deponija mozga: Sačuvajte uspešne zakrpe i mapiranja simptoma na popravke. Preuzmite hirurški.
- Periodični “veći” prolazi: Rezervišite sesiju vođenu od strane ljudi za refaktore; agent pomaže, ne vodi.
Minimalna Referentna Implementacija (Nacrt)
Python-ish pseudokôd za pokretanje:
- def init(self, repo_root, model):
- self.history = [] # poslednja dva diff-a i izlazi testa
- "repo": summarize_repo(self.root),
- "constraints": {"write_whitelist": ["src/", "tests/"], "max_diff_lines": 300, "no_network": True},
- "history": self.history[-2:],
- plan = self.model("propose_plan", self.context(task))
- diff = self.model("propose_patch", {"plan": plan})
- out = run_cmd(plan.test_cmd)
- eval = self.model("evaluate", {"output": out, "plan": plan})
- self.history.append({"diff": diff, "out": tail(out)})
Završetak Veličine Čoveka
Industrija stalno obećava autonomne agente za programere. Ono što nam zapravo treba je iskren pomoćnik koji čita, planira, uređuje, pokreće i zaustavlja. Claude 4.5 je dobar u tome, pod uslovom da ga ne zakopate ispod okvira koji uglavnom postoje da bi opravdali sami sebe. Lagano nije kompromis—to je poenta. Izgradite petlju, dodajte zaštitne ograde i pustite da alat radi onu jednu stvar koju su alati uvek radili kada ih držite jednostavnim: učinite posao manjim.
Zaključak: Dosadna Prečica Koja Pobeđuje
Evo vaše kontrolne liste za laganog agenta za kodiranje sa Claude 4.5:
- Jedna petlja, jedan model, mali alati.
- Čvrst kontekst: zadatak, nekoliko datoteka, poslednji izlazi.
- Minimalni diff-ovi, česti testovi, tvrdi poklopci.
- Lokalno, sandboks izvršavanje; bez mreže.
- Opcioni editor šećer; nikada nije potreban.
Ako zažmurite, izgleda sumnjivo kao dobar softverski inženjering, samo brže. I to je poenta. Najpametnija stvar koju možete da uradite ovde nije da jurite “autonomiju”—već da kodifikujete disciplinu. Što manje tražite od agenta, više dobijate.
FAQ
P1: Kako da počnem da gradim laganog agenta za kodiranje sa Claude 4.5?
Definišite mali skup alata (čitaj, piši, pretražuj, pokreni), napišite strogi sistemski prompt i implementirajte petlju Posmatraj → Planiraj → Deluj → Razmisli. Održavajte kontekst malim i hranite stvarne logove i diff-ove—Claude 4.5 najbolje radi kada je zadatak uzak, a povratne informacije konkretne.
P2: Da li mi je potrebna vektorska baza podataka ili sloj memorije za Claude 4.5 agenta za kodiranje?
Ne. Za većinu zadataka, kratkoročna memorija plus search_code je dovoljna. Dodajte dugoročnu memoriju samo ako više puta posećujete istu repo i možete dokazati da štedi tokene bez da agenta učini glupljim.
P3: Koje su zaštitne ograde bitne za Claude 4.5 agenta za kodiranje?
Lista dozvoljenih putanja za pisanje, ograničite veličine diff-ova, ograničite komande i logujte svaku akciju. Ova jednostavna ograničenja drže agenta predvidljivim i čine vraćanje dosadnim—na dobar način.
P4: Može li lagani agent da podnese refaktore sa više datoteka?
Da, ako podelite posao na male korake i držite petlju čvrstom. Claude 4.5 može da upravlja refaktorima, ali vi vodite opseg; inače ćete dobiti jedan veliki, krhki diff koji nećete želeti da pregledate.
P5: Gde se Sider.AI uklapa sa Claude 4.5 agentom za kodiranje?
Sider.AI je koristan kao uredan radni prostor: razgovori, diff-ovi i komande na jednom mestu, bez forsiranja teškog okvira agenta. Koristite ga da pokrenete svoju petlju, a ne da je ponovo izmislite.