🟢 🤝 Agenti Objavljeno: · 3 min čitanja ·

arXiv: Jaki AI agenti koriste metaprogramiranje za svladavanje nepoznatih programskih jezika

Editorial ilustracija: Agenti za programiranje koriste metaprogramiranje za nepoznate jezike

Istraživači su testirali šest naprednih AI agenata na ezoteričnim programskim jezicima. Otkrili su da jaki modeli — poput Claude Opus 4.6 i GPT-5.4 xhigh — ne pišu izravno u ciljnom jeziku, nego generiraju Python programe koji stvaraju kod u tom jeziku. Zabrana ove strategije metaprogramiranja rezultira značajnim padom performansi.

🤖

Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.

Standardni benchmarkovi za evaluaciju AI agenata za kodiranje — poput SWE-Bench Verified — uglavnom testiraju sposobnosti na dobro poznatim programskim jezicima kao što su Python, JavaScript ili C++. Tim istraživača (Aman Sharma, Sushrut Thorat, Paras Chopra) postavio je drugačije pitanje: što se dogodi kada se napredan AI agent suoči s programskim jezicima koje gotovo sigurno nije vidio u treniranju?

Rezultati evaluacije šest suvremenih agenata za kodiranje na ezoteričnim (esoteric) i neuobičajenim programskim jezicima, objavljeni 9. lipnja 2026., otkrivaju iznenađujuću strategiju koja dijeli jake modele od slabih.

Što je točno metaprogramiranje u ovom kontekstu?

U klasičnom smislu, metaprogramiranje označava pisanje programa koji generiraju ili transformiraju druge programe. U kontekstu ovog istraživanja, radi se o specifičnom obrascu koji su istraživači uočili kod jakih modela: Claude Opus 4.6 i GPT-5.4 xhigh ne pišu direktno u ciljnom nepoznatom jeziku. Umjesto toga, pišu Python programe koji generiraju kod u ciljnom jeziku, a zatim lokalno debugiraju te generatore.

Ovo je elegantna adaptacijska strategija: Python je dobro poznat model i ima bogat ekosustav alata, pa ga model koristi kao “radni prostor” (workspace) za eksperimentiranje s logikom ciljnog jezika. Greške u ciljnom sintaksu postaju greške Python generatora, koje model zna dijagnosticirati i popraviti. Umjesto da se suočava s nepoznatim izravno, gradi radno razumijevanje (working model) ciljnog jezika kroz iterativno eksperimentiranje u poznatom okruženju.

Ključni eksperimentalni nalazi

Istraživači su koristili sekvencijalni postav (sequential setup) koji uključuje uređivanje fajlova, lokalno izvođenje koda i ocjenjivanje na skrivenim testovima — realistična simulacija stvarnog razvojnog okruženja. Ključni nalazi:

  • Performansni jaz između jakih i slabih agenata puno je veći na nepoznatim jezicima nego na standardnim benchmarkovima poput SWE-Bench Verified — neuobičajeni jezici mnogo preciznije razlikuju sposobnosti modela
  • Kada je metaprogramiranje eksplicitno zabranjeno, performanse jakih agenata značajno padaju, potvrđujući da je strategija ključna, a ne sporedna
  • Slabi modeli pokušavaju direktno pisati u ciljnom jeziku i konzistentno postižu lošije rezultate
  • Pružanje predložaka pomoćnog koda slabim agentima značajno poboljšava performanse na jezicima poput Brainfuck i Befunge-98

Posebno je zanimljiv nalaz o računalnim resursima: povećanje resursa koristilo je jakim agentima, ali je imalo minimalan učinak na slabe. To sugerira da resursi pojačavaju postojeće strategije, a ne stvaraju nove sposobnosti. Jaki agent koji ima strategiju metaprogramiranja iskorištat će više resursa za sofisticiraniju analizu i iteraciju; slabi agent bez te strategije ne zna kako ih produktivno upotrijebiti.

Metaprogramiranje kao emergentna adaptacijska strategija

Metaprogramiranje u ovom kontekstu nije samo tehnički trik — ono je emergentna adaptacijska strategija (emergent adaptation strategy). Jaki agenti su je razvili bez eksplicitnih uputa: kada se suoče s nepoznatim programskim jezikom, spontano usvajaju posredni pristup koji im omogućuje iskorištavanje poznatog okruženja za razumijevanje nepoznatog.

Ova strategija odražava širi obrazac: korištenje alata, povratnih informacija (feedback) i stanja radnog prostora (workspace state) za izgradnju implicitnog modela okoline. Istraživači opisuju to kao sposobnost konstruiranja i debugiranja strategije koja funkcionira unutar pravila ciljnog jezika — što je fundamentalno drugačija vještina od pukog pamćenja sintakse.

Istraživanje ima praktične implikacije za evaluaciju AI sustava: benchmarkovi koji testiraju samo poznate jezike i okoline možda podcjenjuju pravu razliku između modela. Kada model treba raditi izvan granica svog treninga, pokazuje li pravu adaptabilnost ili samo interpolira između naučenih primjera?

Istraživanje pokriva 43 stranice s 8 figura i nudi detaljan uvid u to kako napredni agenti za kodiranje pristupaju problemima koji izlaze iz distribucije treninga (out-of-distribution). Metaprogramiranje nije slabost niti zaobilaznica — to je pokazatelj sofisticirane adaptacije koji dijeli sposobne agente od onih koji se ne mogu prilagoditi novim programskim okruženjima. U eri sve autonomnijih AI sustava koji trebaju raditi u nepredvidivim okruženjima, ova distinkcija postaje sve važnija za razumijevanje stvarnih granica i mogućnosti suvremenih modela.

Česta pitanja

Što je metaprogramiranje u kontekstu AI agenata za kodiranje?
Metaprogramiranje ovdje znači da jaki AI agenti pišu Python programe koji generiraju kod u ciljnom nepoznatom jeziku i lokalno debugiraju te generatore, umjesto da direktno pišu u nepoznatom jeziku. Strategija je emergentna — modeli su je razvili bez eksplicitnih uputa.
Koji modeli koriste metaprogramiranje i što se dogodi kad je zabranjeno?
Claude Opus 4.6 i GPT-5.4 xhigh prirodno koriste metaprogramiranje na nepoznatim jezicima. Kada je ova strategija eksplicitno zabranjena, performanse ovih jakih modela značajno padaju.
Zašto su slabi agenti lošiji na nepoznatim programskim jezicima?
Slabi agenti pokušavaju direktno pisati u ciljnom jeziku bez razvijanja adaptacijske strategije. Rezultat su konzistentno lošiji rezultati i minimalne koristi od povećanih računalnih resursa — koji pojačavaju postojeće strategije, ali ne stvaraju nove.

📬 AI vijesti u tvoj inbox

Dnevni digest po tvojoj mjeri — biraš teme, izvore i ritam. Odjava jednim klikom.