Veštine agenata: Priručnik za inženjering veštačke inteligencije
Ovaj tekst predstavlja platformu O’Reilly i tekst Addyja Osmanija o projektu Agent Skills, koji služi kao okvir za unapređenje rada veštačke inteligencije u programiranju. Autor objašnjava da AI agenti često preskaču ključne inženjerske korake, poput pisanja specifikacija i testova, težeći najkraćem putu do rešenja. Agent Skills uvodi strukturirane tokove rada i principe preuzete iz Guglove prakse kako bi primorao modele da se ponašaju kao iskusni inženjeri. Ključni elementi obuhvataju tabele protiv racionalizacije grešaka, obaveznu verifikaciju koda i progresivno deljenje informacija radi očuvanja konteksta. Pored tehničkih uputstava, tekst nudi i širi pregled kurseva i veština dostupnih na O’Reilly platformi, od oblaka do mekih veština. Suština izvora je u transformaciji AI agenata iz brzopletih asistenata u disciplinovane profesionalce koji isporučuju pouzdan softver.
Podrazumevano ponašanje svakog AI agenta za kodiranje je da krene najkraćim putem do "obavljenog" posla. Zatražite funkciju i on je napiše. On ne pita da li imate specifikaciju, ne piše test pre implementacije, niti razmišlja o tome kako će taj kod izgledati kolegi na reviziji. On generiše kod, proglašava pobedu i ide dalje.
Ovo je isti onaj model neuspeha koji svaki senior inženjer uči da izbegne tokom karijere. Posao seniora se zapravo krije u onome što se ne vidi u kodu (diff-u): u definisanju pretpostavki, pisanju specifikacija, razbijanju posla na male, pregledne celine i ostavljanju dokaza da je rezultat tačan. Bez ove "skela" strukture (scaffolding), AI agenti su samo ekstremno brzi juniori koji vam u tri ujutru isporučuju tempiranu bombu tehničkog duga.
Lekcija 1: Workflow umesto eseja (Proces iznad proze)
AI agenti ignorišu dugačke priručnike, ali prate jasne kontrolne tačke. Postoji ključna razlika između dokumentacije koja je samo tekst ("esej") i onoga što Addy Osmani definiše kao "Skill" (veština) – što je zapravo radni proces, a ne literatura.
Zašto agenti ne reaguju na eseje:
- Eseji su pasivni: Ako agentu date 2.000 reči o najboljim praksama, on će generisati tekst koji "zvuči" ispravno, ali će preskočiti korake u praksi.
- Workflows su aktivni: Radni proces zahteva sekvencu koraka i jasne izlazne kriterijume koje agent mora da ispuni pre nego što pređe na sledeću fazu.
"Ako postavite workflow (napiši test koji pada, pokreni ga, uveri se da ne prolazi, napiši minimalni kod, proveri prolaz), agent ima šta da radi, a vi imate šta da verifikujete." — Addy Osmani
Lekcija 2: Tabele protiv racionalizacije (Prepoznajte laži koje AI izgovara)
Veliki jezički modeli (LLM) su majstori racionalizacije. To je urođena mana: njihov nagradni signal je usmeren na "task complete" (završetak zadatka), a ne na kvalitet samog procesa. Zato će agent uvek ponuditi uverljiv razlog zašto baš taj zadatak ne zahteva test. Da bismo to sprečili, koristimo "Anti-rationalization tables" – unapred napisane odgovore na laži koje agent još nije ni izgovorio.
| Izgovor agenta (ili umornog inženjera) | Odgovor (Rebuttal) |
| "Zadatak je previše jednostavan za specifikaciju." | Kriterijumi prihvatanja i dalje važe. Pet linija koda je u redu, nula linija specifikacije nije. |
| "Napisaću testove kasnije." | "Kasnije" je nepostojeća reč u inženjerstvu. Prvo napiši test koji ne prolazi. |
| "Testovi prolaze, šalji dalje (ship it)." | Prolazni testovi su dokaz, ali ne i dokaz ispravnosti. Da li si proverio runtime ponašanje i user-visible behavior? |
Inženjersko propadanje ne nastaje namernim lošim radom, već prihvatanjem ovih "razumnih" opravdanja za preskakanje discipline.
Lekcija 3: Verifikacija kao jedini izlazni kriterijum
U svetu AI inženjeringa, "čini se da radi" je rečenica koja vodi u incident. Svaka veština koju agent primenjuje mora se završiti konkretnim dokazom. Korišćenje komandi poput /test ili /review unutar alata kao što je Claude Code mora postati standard, a ne opcija.
Dokaz (evidence) za agenta mora biti opipljiv:
- Zeleni testovi:
inline coderezultat pokretanja testne svite. - Čisti build logovi: Nula warninga i nula grešaka pri kompajliranju.
- Runtime trace: Konkretan log koji potvrđuje da se kod u izvršavanju ponaša prema specifikaciji.
Bez jasnog dokaza, zadatak nije završen. Agent je samo generator; potreban vam je odvojen, deterministički signal da je taj generator uradio posao kako treba.
Lekcija 4: Disciplina dometa (Scope Discipline)
Jedna od najvećih opasnosti je AI refaktorisanje gde agent odluči da popravi ceo fajl ili "modernizuje" susedne sisteme dok radi na jednostavnom bug-u. To rezultira ogromnim Pull Requestovima (PR) koje ljudski recenzent ne može efikasno da pregleda. Google-ova praksa je jasna: blokiraju se veliki PR-ovi koji rade previše stvari odjednom.
Uvedite ovih pet nepregovaračkih pravila, jer su "skrivene pogrešne pretpostavke najčešći uzrok neuspeha":
- Dodiruj samo ono što ti je traženo: Ne refaktoriši okolni kod bez eksplicitne komande.
- Pitaj kada su zahtevi konfliktni: Nikada ne pogađaj nameru korisnika. Isterajte svaku nejasnoću na čistinu pre koda.
- Površinske pretpostavke pre bildovanja: Razjasni scope pre nego što napišeš prvu liniju.
- Odgovori (Push back) kada je opravdano: Agent nije "yes-machine"; mora da odbije loš dizajn.
- Biraj dosadna i očigledna rešenja: Genijalnost u kodu je skupa za održavanje.
Lekcija 5: Google DNA u vašem promptu
Modeli su "pročitali" sve o inženjerskoj kulturi tokom treninga, ali te principe ne primenjuju u 3 ujutru dok vam pišu API, osim ako to nije deo njihovog radnog procesa (Skill-a). Morate ih primorati da koriste decenije Google-ove prakse:
- Hyrum’s Law: Svako vidljivo (observable) ponašanje vašeg API-ja će pre ili kasnije postati nešto od čega neko zavisi. Ako to promeniš, srušićeš nečiji sistem. Dizajniraj imajući to u vidu.
- Beyoncé Rule: "If you liked it, you should have put a test on it." Infrastrukturne promene same po sebi ne hvataju bagove; to rade isključivo testovi.
- Chesterton’s Fence: Nikada ne uklanjaj deo koda ili "ogradu" dok u potpunosti ne razumeš zašto je tu prvobitno postavljena.
- DAMP umesto DRY u testovima: Test kod treba da se čita kao jasna specifikacija, čak i ako to zahteva ponavljanje koda. Previše apstrakcije u testovima je antipattern.
Zaključak: Inženjerstvo nije samo kodiranje
AI agenti postaju seniori tek kada im nametnemo seniorsku skelu. Bez toga, oni su samo generatori koda koji povećavaju vaš tehnički dug brzinom kojom vi ne možete da ga otplatite. Projekat Addy-ja Osmani-ja, "Agent Skills", koji je već prikupio 27.000 zvezdica na GitHubu, nije samo popularan repo – to je novi standard za rad sa veštačkom inteligencijom.
Inženjerska disciplina nije teret, već osiguranje vašeg sistema. Na kraju, postavite sebi ključno pitanje: Da li vi upravljate svojim AI agentom, ili on upravlja vašim tehničkim dugom?
Ove principe – od anti-racionalizacije do stroge verifikacije – možete primeniti na svoje timove već sutra, bez instaliranja ijednog novog alata. Počnite tako što ćete zapisati "laži" koje vaš tim najčešće izgovara petkom popodne i uparite ih sa čvrstim inženjerskim odgovorima. Disciplina počinje procesom, a ne kodom.
Izvor: oreilly.com
Komentari
Nema komentara. Šta vi mislite o ovome?