# Josip Hetrih: AI u poslovanju > Iskustva iz prakse o tome kako AI agente i automatizaciju pretvoriti iz eksperimenta u alat na koji se tim može osloniti. --- title: "Od osobnog AI agenta do alata za cijeli tim" description: "Što se mora riješiti kad AI agent koji radi za jednu osobu treba postati pouzdan i siguran alat za cijelu organizaciju." author: "Josip Hetrih" published: 2026-11-02 topic: "Alati" canonical: https://hetrih.net/blog/od-osobnog-agenta-do-tima license: "CC BY 4.0" --- # Od osobnog AI agenta do alata za cijeli tim Što se mora riješiti kad AI agent koji radi za jednu osobu treba postati pouzdan i siguran alat za cijelu organizaciju. ## Ukratko - Osobni AI agent radi jer jedna osoba zna njegova ograničenja; za tim mu treba okvir koji to znanje zamijeni pravilima. - Četiri stvari se moraju riješiti prije širenja: jednaki uvjeti za sve, ovlasti, zaštita podataka i nadzor nad samostalnim radom. - Automatizacija razvoja, od prijave problema do pripreme izmjena za pregled, radi dobro kad završni korak ostaje čovjeku. Ovaj tekst je sažetak mog predavanja na 16. mITupu u Slatini, 31. listopada 2026. Primjeri su općeniti, bez detalja projekata na kojima radim. ## Zašto osobni agent ne raste sam od sebe Osobni AI agent radi dobro jer ga koristi jedna osoba. Ona zna kojim alatima ima pristup, što smije poslati modelu i kada mu ne treba vjerovati. Kad isti agent dobije deset korisnika, to znanje nestaje. Netko će mu dati pristup koji ne bi smio, netko će zalijepiti podatke kupca, a nitko neće znati što je agent radio dok nikoga nije bilo. ## Četiri stvari koje treba riješiti - **Jednaki uvjeti za sve.** Svaki korisnik dobiva iste alate, iste upute i istu verziju agenta. Inače rezultati ovise o tome tko ga je postavio. - **Ovlasti.** Agent smije ono što smije korisnik u čije ime radi, i ništa više. - **Zaštita podataka.** Osjetljivi podaci se maskiraju ili ne napuštaju sustav. Pravilo je zapisano, a ne prepušteno svakome da ga pamti. - **Nadzor.** Sve što agent radi samostalno ostavlja trag koji netko može pregledati. ## Tri pojma koja pomažu **MCP server** izlaže jedan alat ili izvor podataka agentu na standardan način: helpdesk, repozitorij koda, wiki. **MCP gateway** stoji između agenata i servera, provjerava tko što smije i bilježi pozive. **Agent harness** je okvir koji pokreće agenta, daje mu upute i alate te kontrolira kako izvršava zadatke. Za jednu osobu dovoljan je agent s nekoliko MCP servera. Za tim je gateway mjesto gdje pravila postaju stvarna. ## Gdje automatizacija već radi Najviše koristi vidim u razvojnom procesu. Prijava problema ili korisnički zahtjev postaje strukturirana specifikacija, specifikacija postaje prijedlog koda, a prijedlog postaje zahtjev za spajanje izmjena s objašnjenjem. Svaki korak je brži, ali odluka na kraju ostaje čovjeku. ## Što bih rekao tvrtki koja tek počinje Počni s jednim agentom za jedan proces i jednim pravilom o podacima. Kad to radi tjedan dana bez iznenađenja, dodaj sljedećeg korisnika. Širenje bez okvira je najskuplji način da se nauči zašto je okvir potreban. ## Česta pitanja ### Što je MCP? Model Context Protocol je otvoreni standard kojim se AI agent spaja na alate i podatke, slično kao što USB spaja uređaje na računalo. ### Treba li mala tvrtka MCP gateway? Dok agenta koristi jedna ili dvije osobe, ne treba. Čim ga koristi tim s različitim ovlastima, gateway postaje najjednostavniji način da pravila vrijede za sve. ### Smije li agent sam spojiti izmjene koda? Preporučam da ne, dok se na većem broju izvođenja ne pokaže da agent posao radi pouzdano. Samostalno spajanje ima smisla i kad pogreška objavljena bez kontrole ne donosi velik rizik ni organizaciji ni pojedincima. U ostalim slučajevima agent priprema izmjenu i objašnjenje, a o spajanju odlučuje čovjek. --- Autor: Josip Hetrih, https://hetrih.net/o-meni Citiraj kao: Josip Hetrih (2026). Od osobnog AI agenta do alata za cijeli tim. https://hetrih.net/blog/od-osobnog-agenta-do-tima --- title: "Strukturirani izlaz: zašto AI agent treba ugovor, a ne slobodan tekst" description: "Kad AI odgovara po shemi umjesto prozom, rezultat je potpuniji, workflow se lakše razvija, a agenti se razumiju bez gluhog telefona." author: "Josip Hetrih" published: 2026-11-02 topic: "Alati" canonical: https://hetrih.net/blog/strukturirani-izlaz license: "CC BY 4.0" --- # 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: ```json { "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_podaci` i `pretpostavke`, 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 `hitnost` s 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 1. Odaberi jedan korak u kojem odgovor AI-a dalje čita program ili drugi agent. 2. Napiši shemu s četiri do osam polja. Gdje god možeš, zadaj dopuštene vrijednosti. 3. Dodaj obavezna polja za pretpostavke i ono što nedostaje. 4. Ostavi jedno tekstualno polje za obrazloženje, za čovjeka koji će to čitati. 5. 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. 6. 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. --- Autor: Josip Hetrih, https://hetrih.net/o-meni Citiraj kao: Josip Hetrih (2026). Strukturirani izlaz: zašto AI agent treba ugovor, a ne slobodan tekst. https://hetrih.net/blog/strukturirani-izlaz --- title: "GDPR i AI: što smiješ poslati modelu, a što ne" description: "Kratki popis za provjeru prije nego netko u timu zalijepi ugovor ili tablicu s kupcima u chat s AI modelom." author: "Josip Hetrih" published: 2026-09-30 topic: "Savjeti" canonical: https://hetrih.net/blog/gdpr-i-ai license: "CC BY 4.0" --- # GDPR i AI: što smiješ poslati modelu, a što ne Kratki popis za provjeru prije nego netko u timu zalijepi ugovor ili tablicu s kupcima u chat s AI modelom. ## Ukratko - Osobni podaci smiju u AI alat samo ako tvrtka s pružateljem ima ugovor o obradi podataka. - Besplatne i osobne verzije alata tretiraj kao javni prostor: u njih ne ide ništa s imenom kupca. - Najjednostavnija zaštita je zamjena imena, OIB-a i adresa oznakama prije slanja. ## Tri pitanja prije svakog lijepljenja 1. Sadrži li tekst ime, e-mail, telefon, OIB ili adresu stvarne osobe? 2. Ima li tvrtka s pružateljem ovog alata potpisan ugovor o obradi podataka? 3. Bi li kupac bio iznenađen da zna gdje je njegov podatak završio? Ako je odgovor na prvo pitanje da, a na drugo ne, tekst ne ide u alat. Ako je odgovor na treće da, razgovaraj s osobom zaduženom za zaštitu podataka prije nego nastaviš. ## Što je u pravilu u redu - Opći tekstovi, upute i dokumentacija bez osobnih podataka. - Podaci u kojima su imena i brojevi zamijenjeni oznakama poput [Kupac A]. - Rad u poslovnom alatu s ugovorom o obradi, obradom u EU i isključenim zadržavanjem podataka. ## Što ne ide u chat - Izvozi iz CRM-a ili tablice s kupcima. - Zdravstveni podaci, podaci o plaćama i zaposlenicima. - Bilo što iz besplatne ili osobne verzije alata, bez obzira na postavke. ## Pravilo za tim na jednoj stranici Najbolje radi kratko pisano pravilo: koji alati su odobreni, što se smije slati i koga pitati kad nisi siguran. Jedna stranica koju svi pročitaju vrijedi više od politike od dvadeset stranica koju nitko nije otvorio. ## Česta pitanja ### Je li dovoljno isključiti treniranje na mojim podacima? Ne. Isključeno treniranje ne zamjenjuje ugovor o obradi podataka ni pravnu osnovu za obradu. ### Smijem li u AI poslati ugovor s dobavljačem? Ako ugovor ne sadrži osobne podatke i alat je poslovni s ugovorom o obradi, da. Poslovne tajne ipak procijeni zasebno. --- Autor: Josip Hetrih, https://hetrih.net/o-meni Citiraj kao: Josip Hetrih (2026). GDPR i AI: što smiješ poslati modelu, a što ne. https://hetrih.net/blog/gdpr-i-ai