Strukturirani izlaz: zašto AI agent treba ugovor, a ne slobodan tekst
Kad AI odgovara po shemi umjesto prozom, rezultat je potpuniji, workflow se lakše razvija, a agenti se razumiju bez gluhog telefona.
Ukratko
- Strukturirani izlaz znači da model vraća podatke po unaprijed zadanoj shemi: polja, tipove i dopuštene vrijednosti, umjesto slobodnog teksta.
- Shema s obaveznim poljima poput pretpostavki i onoga što nedostaje tjera model na potpun odgovor, a provjera sheme hvata grešku prije nego ode dalje.
- U workflowu je shema ugovor između koraka: korak se može testirati sam, model zamijeniti, a pravilo napisati u kodu umjesto u uputi.
- Kad agenti razgovaraju međusobno, strukturirana poruka s izvorom i razinom sigurnosti sprječava da se greška prenosi i raste od agenta do agenta.
Dok AI odgovara čovjeku, slobodan tekst je u redu. Pročitaš, shvatiš, odlučiš. Problem počinje kad odgovor čita program ili drugi agent. Tada svaka rečenica koju model napiše malo drukčije nego prošli put postaje greška koju netko mora uloviti.
Strukturirani izlaz to rješava: model ne piše prozu, nego popunjava unaprijed zadana polja. Na prvi pogled je to tehnički detalj. U praksi mijenja tri stvari: kvalitetu samog odgovora, način na koji razvijaš workflowe i to koliko se agenti mogu pouzdati jedan u drugoga.
Što je strukturirani izlaz
Umjesto upute „opiši ovaj upit kupca”, modelu daješ shemu: koja polja odgovor mora imati, kojeg su tipa i koje vrijednosti smiju imati. Model vraća podatke koji tu shemu zadovoljavaju. Većina pružatelja modela to podržava izravno, kroz strukturirani izlaz ili pozive alata s JSON shemom.
Jednostavan primjer za razvrstavanje upita u podršci:
{
"kategorija": "racun | isporuka | tehnicki_problem | ostalo",
"hitnost": "visoka | srednja | niska",
"sazetak": "jedna rečenica",
"potrebni_podaci": ["što fali da bi se upit riješio"],
"pretpostavke": ["što je model zaključio, a nije pisalo u upitu"]
}
Pet polja, od kojih dva imaju točno zadane vrijednosti. To je dovoljno da sljedeći korak zna što napraviti bez čitanja ijedne rečenice.
Bolji rezultat već u prvom koraku
Shema nije samo format. Ona je i popis onoga što odgovor mora sadržavati.
- Obavezna polja tjeraju na potpunost. Ako shema traži
potrebni_podaciipretpostavke, model ih mora popuniti. U slobodnom tekstu te dijelove najčešće preskoči, i to baš kad su najvažniji. - Dopuštene vrijednosti uklanjaju dvosmislenost. „Prilično hitno”, „hitno” i „visok prioritet” u slobodnom tekstu znače istu stvar samo čovjeku. Polje
hitnosts tri moguće vrijednosti znači istu stvar i programu. - Činjenice i pretpostavke su odvojene. Kad za pretpostavke postoji posebno polje, vidiš točno što je model zaključio sam. U prozi je to utkano u rečenice koje zvuče jednako sigurno.
- Greška se hvata odmah. Odgovor koji ne zadovoljava shemu odbiješ i vratiš modelu s porukom što ne valja. Jedan takav ponovni pokušaj riješi većinu slučajeva.
Pregled je brži i za čovjeka. Ne čitaš odlomak da bi pronašao zaključak, nego gledaš polja koja te zanimaju.
Lakši razvoj workflowa
Kad workflow ima više koraka, shema postaje ugovor između njih. Svaki korak zna što prima i što mora predati. To ima nekoliko posljedica koje se vide tek kad workflow počneš mijenjati.
| Slobodan tekst | Strukturirani izlaz | |
|---|---|---|
| Testiranje koraka | ručno, čitanjem | automatski, nad primjerima ulaza i izlaza |
| Zamjena modela | rizična, mijenja se stil odgovora | sigurna dok novi model poštuje shemu |
| Pravila i odluke | u uputi, model ih može prekršiti | u kodu, nad poljima |
| Promjena formata | lomi sve korake iza | nova verzija sheme, stara radi dok se ne ugasi |
Najveća razlika je u trećem retku. Pravilo „ako je hitnost visoka, pitaj čovjeka” u uputi je molba modelu. Kao provjera polja u kodu, ono je zakon. Workflow time postaje mješavina onoga što AI radi dobro, a to je čitanje i razumijevanje, i onoga što kod radi pouzdano, a to su pravila, grananja i odobrenja.
Korak se može razvijati i zasebno. Spremiš desetak stvarnih ulaza s očekivanim izlazima i nakon svake promjene upute ili modela provjeriš daje li korak i dalje ispravna polja. Bez sheme takav test svodi se na čitanje i dojam.
Agenti koji se razumiju
Kad jedan agent predaje posao drugome, slobodan tekst je gluhi telefon. Prvi agent nešto pretpostavi i napiše to kao činjenicu. Drugi to pročita kao činjenicu i na tome gradi. Treći dobije zaključak bez ikakvog traga odakle je došao. Greška ne nestaje, nego raste.
Strukturirana poruka između agenata to presijeca. Uz sam rezultat dobro je da nosi barem tri stvari:
- Izvor: odakle podatak dolazi, npr. koji dokument, upit ili alat.
- Razinu sigurnosti: je li provjereno, pretpostavljeno ili nepoznato.
- Što nije napravljeno: koji dio zadatka je ostao otvoren i zašto.
Agent koji prima poruku najprije provjeri odgovara li ona shemi, a onda odlučuje što s pretpostavkama. Može ih provjeriti, vratiti ih na doradu ili ih označiti za čovjeka. Na isti način rade i otvoreni protokoli za povezivanje agenata s alatima i međusobno, poput MCP-a i A2A-a: svaki alat i svaka poruka imaju opisanu strukturu, a ne samo tekst.
Kad agenti govore po ugovoru, možeš i zamijeniti jednog od njih, a da ostali to ne osjete. To je ista ideja kao API između dvaju sustava.
Kako početi
- Odaberi jedan korak u kojem odgovor AI-a dalje čita program ili drugi agent.
- Napiši shemu s četiri do osam polja. Gdje god možeš, zadaj dopuštene vrijednosti.
- Dodaj obavezna polja za pretpostavke i ono što nedostaje.
- Ostavi jedno tekstualno polje za obrazloženje, za čovjeka koji će to čitati.
- Provjeri svaki odgovor prema shemi. Ako ne prolazi, vrati ga jednom modelu s porukom što ne valja, a ako opet ne prolazi, predaj ga čovjeku.
- Shemi daj verziju. Kad je mijenjaš, stari i novi oblik neko vrijeme žive paralelno.
Kada ne treba
Strukturirani izlaz nije potreban kad je rezultat tekst za čovjeka: mail, članak, sažetak sastanka ili ideje. Tamo bi polja samo smetala. Čak i tada se isplati malo strukture oko teksta, npr. polje za sam tekst i polje za pretpostavke, ako taj tekst ide u bilo kakav daljnji proces.
Pravilo je jednostavno. Ako će odgovor čitati samo čovjek, neka bude tekst. Ako ga čita bilo što drugo, neka bude ugovor.
Česta pitanja
Što je strukturirani izlaz kod AI modela?
Način rada u kojem model vraća odgovor kao podatke po zadanoj shemi, najčešće JSON Schema, umjesto slobodnog teksta. Većina velikih pružatelja modela to danas podržava izravno.
Kvari li shema kvalitetu odgovora?
Može, ako je prestroga ili nema mjesta za objašnjenje. Zato u shemu dodaj polje za obrazloženje i ne pretvaraj u polja ono što je po prirodi tekst.
Treba li mi programer za strukturirani izlaz?
Za povezivanje s drugim sustavima da. Za početak je dovoljno u chatu tražiti odgovor u obliku tablice s točno zadanim stupcima.