Kome se obratiti za AI agenta ili chatbota u Srbiji

Pišem sisteme koji rade bez nadzora čoveka i godinama ih sam držim u produkciji. Zovem se Lazar Milićević, inženjer sam, i gradim BizFlowAI (bizflowai.io), autonomne AI sisteme za male firme. Ovaj tekst je za vlasnike koji traže izvođača za chatbota ili AI agenta, a nisu sigurni šta tačno traže. Napisao sam ga onako kako bih ja želeo da mi neko objasni da sam sa druge strane stola.
Prvo pojmovi: šta vam zapravo treba
Najčešće greške u ovom poslu počinju pogrešno izabranom vrstom rešenja. Evo moje podele, a to je moje tumačenje, ne standardna terminologija:
| Šta | Šta radi | Primer |
|---|---|---|
| Chatbot | Odgovara na pitanja, ne menja ništa u vašim sistemima | Odgovori na pitanja o uslovima isporuke i radnom vremenu |
| AI agent | Izvršava zadatke u vašim sistemima, uz model koji odlučuje o koracima | Čita dolazni mejl, otvara karticu u CRM-u, priprema nacrt odgovora |
| Automatizacija | Deterministička pravila, bez modela | Kad stigne uplata, označi fakturu kao plaćenu |
Veliki deo posla koji firme nazovu "AI" zapravo je običnim pravilima rešiv. To je dobra vest: jeftinije je, predvidljivije, i nema modela koji može da pogreši. Dobar izvođač će vam to reći pre nego što vam ponudi agenta. Ako izvođač na svaki opis procesa odgovori "to rešavamo AI agentom", to je crvena zastavica.
Praktično pravilo koje koristim: ako se proces može opisati sa "ako je X, uradi Y" za sve slučajeve, to je automatizacija. Ako ulaz dolazi kao slobodan tekst (mejl, poruka, dokument) pa treba razumeti šta piše, tu model ima smisla. Ako sistem treba i da deluje (upiše, pošalje, odobri), to je agent, i tu počinje ozbiljan deo posla.
Šta posao stvarno obuhvata
Isporuka koda je najmanji deo. Cela usluga, kako je ja shvatam, ima šest delova:
- Razgovor o procesu. Ko šta radi danas, gde se gubi vreme, šta se dešava kad nešto pođe naopako.
- Povezivanje sa vašim alatima. CRM, mejl, fakturisanje, SEF. Većina rada je ovde, ne u modelu.
- Izbor modela. Ne po reputaciji, nego po zadatku, jeziku i tome šta se dešava kad model nije dostupan.
- Testiranje. Na vašim stvarnim primerima, ne na izmišljenim.
- Puštanje u rad. Postepeno, ne jednim klikom.
- Nadzor posle puštanja.
Šesta stavka je ta koju firme najčešće tretiraju kao dodatak. Nije dodatak. Sistem koji ne nadzire niko je sistem koji će tiho prestati da radi, i to ćete saznati od kupca, ne od alarma. Ako ponuda ne pominje nadzor, ponuda je nepotpuna.
SEF zaslužuje poseban pasus jer ga mnogi srpski vlasnici imaju u procesu. Fakture se tamo šalju u XML formatu, ne mejlom u PDF-u, a automatsko slanje je moguće kad je vaš računovodstveni softver integrisan preko API-ja (izvor: Paragraf). Javni API ima metode za uvoz izlaznih faktura, prijem ulaznih (uključujući prihvatanje ili odbijanje) i praćenje promena statusa (prezentacija Ministarstva finansija). To su tačke gde agent može da pomogne, ali i tačke gde sistem mora da se prati: portal SEF-a beleži česta ažuriranja (kratko uputstvo za API), pa integracija koja je radila prošlog meseca ne mora da radi sledećeg. Ko vam kaže da je SEF integracija "završen posao", nije je držao u produkciji. Obaveze i rokove po zakonu proverite u aktuelnom tekstu na portalu efaktura.gov.rs, tamo su i najnovije izmene.
Kako izgleda saradnja korak po korak
Ovako ja to radim, i ovako bih očekivao da radi svako ko je ozbiljan:
- Prvi razgovor. Opisujete proces koji vas košta vremena. Ja pitam koliko se često dešava, ko ga radi, šta se desi kad se pogreši. Cilj je da oboje saznamo da li AI tu ima smisla. Ponekad odgovor je "ne".
- Mapiranje procesa. Crtam stvarni tok, ne idealni. Stvarni tok ima izuzetke koje niko nije zapisao: "kad je kupac iz Crne Gore, Marija to šalje ručno".
- Pilot na jednom slučaju. Jedan tip mejla, jedna vrsta fakture, jedan kanal. Ne pokušavam da pokrijem sve odjednom.
- Produkcija. Pilot postaje stalni sistem, sa praćenjem i jasnim vlasnikom.
- Merenje. Šta je sistem uradio, šta je ljudi morali da isprave, šta je pao.
Pilot je tu da se nešto izgubi jeftino. Ako se u pilotu ispostavi da podaci nisu dovoljno uredni ili da proces nije ono što ste mislili, bolje je da to saznate posle nekoliko nedelja nego posle punog projekta.
Od čega zavise rok i cena
Nemam namere da ovde navodim iznose ni rokove, jer bi bili izmišljeni bez poznavanja vašeg procesa. Navodim faktore koji ih zapravo pokreću:
- Broj integracija. Svaki spoljni sistem je zaseban izvor grešaka: autentifikacija, promene API-ja, ograničenja. Dva alata nisu duplo teža od jednog, ali nisu ni ista stvar.
- Kvalitet podataka. Ako su podaci u CRM-u nedosledni, agent će biti nedosledan. Čišćenje podataka je često veći posao od samog agenta.
- Ko odobrava izlaz. Ako agent samo priprema nacrt a čovek šalje, rizik je mali i sistem se pušta brzo. Ako agent sam šalje kupcu ili sam upisuje u knjigovodstvo, treba više testiranja, pravila i mehanizama za zaustavljanje.
- Jezik i dijakritika. Srpski sa dijakritikom, bez dijakritike, ćirilica i latinica, mešavina sa engleskim nazivima proizvoda: sve to utiče na ponašanje modela i na pretragu u bazi. Ovo se na demo primerima na engleskom nikad ne vidi.
- Obim nadzora. Alarmi, dnevnik odluka, izveštaji, ko reaguje noću. Što sistem više sme da radi samostalno, to nadzor mora biti ozbiljniji.
Kad vam neko da cenu posle jednog razgovora od pola sata, a nije pitao ništa od ovoga, cena je pogađanje.
Pitanja koja postavite izvođaču pre ugovora
Ko drži sistem posle isporuke? Ako je odgovor "vi", pitajte ko u vašoj firmi to može. Ako je odgovor "mi", pitajte kako tačno i ko reaguje.
Šta se dešava kad model padne ili API vrati grešku? Ovo je pitanje koje razdvaja ljude. Greška 429 kod Anthropic API-ja može da znači privremeni rate limit, ali i dostignut mesečni limit potrošnje, a tada nema retry-after zaglavlja i automatski retry ne pomaže (Claude API errors, rate limits). Kod Z.ai (GLM) isti HTTP 429 pokriva više nepovezanih stanja: rate limit, preopterećen servis, nedovoljan saldo (Z.ai kodovi grešaka). Zato failover ne sme da bude "ako je 429, probaj drugi model", nego mora da razlikuje uzrok. Šta god da izaberete, izbor rezervnog modela je inženjerska odluka, ne propisana procedura, i svaki takav izbor ima sopstvene zamke o kojima treba voditi računa.
Kako znate da radi? Ne "nema grešaka u logu", nego: koja brojka bi pala da sistem prestane da radi, i ko je gleda. O tome je ostatak teksta.
Ko ima pristup podacima? Zakon o zaštiti podataka o ličnosti (tekst zakona) propisuje evidenciju obrade i za rukovaoca i za obrađivača (vodič SHARE Fondacije). Ako izvođač obrađuje podatke vaših kupaca, on će u tom odnosu najčešće biti obrađivač, a uloga zavisi od konkretnog odnosa, pa to proverite u definicijama iz zakona. Izvođač bi trebalo da može da vam kaže gde se podaci čuvaju, ko ih vidi i koji model ih prima. Pravne detalje proverite sa pravnikom, ja nisam pravnik.
Da li imate živ sistem koji sami koristite? Ovo je moje omiljeno pitanje. Izvođač koji svoj sistem drži u produkciji zna kako se ti sistemi kvare. Ja držim autonomni sistem za sadržaj i SEO koji sam objavljuje na više sajtova, sa zakazanim poslovima i bazom. Ne navodim to kao hvalu, nego kao dokaz da sistem radi stalno, a ono što radi stalno se i kvari, i tu se uči.
Greška koja je danima ostala neprimećena
Ovo je priča o nadzoru, ne o tome koliko sam dobar. Registracija mejlom na jednom mom proizvodu danima nije uspevala ni u jednom pokušaju. Nisam je primetio dok mi to nije pokazala analiza po kanalima.
Uzrok je bio banalan. Verifikacija JWT-a kod mog Supabase Auth Hook-a bila je pogrešno podešena. Auth Hook ne šalje JWT, nego poziv potpisan po Standard Webhooks specifikaciji (zaglavlja webhook-id, webhook-timestamp, webhook-signature). Kad je verifikacija JWT-a uključena, platforma pre izvršenja funkcije proverava Authorization zaglavlje, i ako ga nema, vraća 401 a kod funkcije se nikad ne izvrši (Supabase: Authorization headers). Dokumentacija za hookove kaže da se JWT verifikacija isključuje, a autentičnost poruke štiti potpis (Supabase Auth Hooks). Ja sam to propustio, pa je gateway svakom pokušaju registracije mejlom vraćao 401.
Zašto niko nije primetio? Prijava preko Google-a je radila. Ukupan broj korisnika je rastao. Metrika koju sam gledao izgledala je zdravo, a jedan ceo ulaz u proizvod bio je mrtav. Gora stvar: događaj "Registration Failed" nije bio među događajima koje sync povlači, pa pad nije ostavljao trag tamo gde sam gledao.
Detektor koji je nastao posle toga meri registracije po provajderu direktno iz baze i diže alarm kad ima pokušaja bez ijednog kreiranog naloga. Suština nije u konkretnom alatu nego u principu: agregatna metrika krije mrtav deo toka. Zdrav zbir ne znači da je zdrava svaka grana.
Zato kad vas izvođač pita "koje metrike pratimo", dobar odgovor ima razbijanje po kanalu, tipu ulaza ili provajderu, ne samo ukupan broj.
Česte greške pri izboru izvođača
- Demo nije produkcija. Demo radi na tri pažljivo izabrana primera. Produkcija dobija mejl od kupca koji piše pola rečenice, sa prilogom koji je slika. Tražite da vidite sistem koji je radio mesecima, ne snimak ekrana.
- Nema merenja. Ako se "uspeh" ne može izraziti brojem koji se računa iz stvarnih podataka, nije se ni znalo da li radi. "Korisnici su zadovoljni" nije merenje.
- Metrika koja izgleda zdravo dok je deo toka mrtav. Vidi gore.
- Nema vlasnika. Sistem koji je "svačiji" je ničiji. Neko mora da dobije poruku kad nešto padne.
- Nema načina da se sistem zaustavi. Agent koji piše u vaše sisteme mora imati prekidač i mogućnost vraćanja izmena.
Šta bih ja uradio na vašem mestu
Ne bih krenuo od izbora izvođača, nego od jednog procesa. Izaberite onaj koji vas najviše košta vremena i koji se ponavlja, i zapišite ga kako se stvarno odvija, sa izuzecima. Zatim tražite od svakog izvođača odgovor na tri pitanja: šta se dešava kad model padne, kako se vidi da neki deo toka ne radi, i ko to gleda posle isporuke. Ko na ta tri pitanja odgovori konkretno, i priča iz prakse, taj je verovatno držao nešto u produkciji.
Počnite pilotom na jednom slučaju gde agent priprema, a čovek odobrava. Pustite ga da radi nekoliko nedelja pre nego što mu date pravo da sam deluje. I tražite pregled po kanalima, ne samo zbir.
Kako izgleda prvi razgovor
Opišete mi proces koji vas košta vremena: ko ga radi, koliko puta nedeljno, gde se greši. Ja vam kažem iskreno da li AI tu ima smisla, ili je dovoljna obična automatizacija, ili ne treba ništa uvoditi. Odgovor "ne" je potpuno legitiman ishod i bolji je od projekta koji nikome ne treba.
Ako želite da to probamo, javite se preko lazar-milicevic.com/#contact ili pogledajte šta gradim na bizflowai.io.
Često postavljana pitanja
Koja je razlika između chatbota, AI agenta i obične automatizacije?
Po mojoj podeli, chatbot samo odgovara na pitanja i ne menja ništa u vašim sistemima. AI agent izvršava zadatke u vašim sistemima, a model odlučuje o koracima, na primer čita mejl, otvara karticu u CRM-u i priprema nacrt odgovora. Automatizacija radi po determinističkim pravilima bez modela, recimo kad stigne uplata, faktura se označi kao plaćena. Ovo je moje tumačenje, a ne standardna terminologija.
Kako da znam da li mi treba AI agent ili je dovoljna obična automatizacija?
Ako se proces može opisati sa "ako je X, uradi Y" za sve slučajeve, to je automatizacija i model vam nije potreban. Ako ulaz dolazi kao slobodan tekst, poput mejla, poruke ili dokumenta, pa treba razumeti šta piše, tu model ima smisla. Ako sistem treba i da deluje, na primer da upiše, pošalje ili odobri, to je agent i tu počinje ozbiljan deo posla. Izvođač koji na svaki opis procesa odgovori "to rešavamo AI agentom" je crvena zastavica.
Šta sve uključuje izrada AI agenta ili chatbota za firmu?
Isporuka koda je najmanji deo posla. Usluga obuhvata razgovor o procesu, povezivanje sa vašim alatima (CRM, mejl, fakturisanje, SEF), izbor modela po zadatku i jeziku, testiranje na vašim stvarnim primerima, postepeno puštanje u rad i nadzor posle puštanja. Većina rada je u integracijama, ne u samom modelu. Ako ponuda ne pominje nadzor, ona je nepotpuna.
Zašto je nadzor AI sistema posle puštanja u rad važan?
Sistem koji ne nadzire niko tiho prestane da radi, a vlasnik to sazna od kupca, a ne od alarma. Naročito je to važno kod integracija sa spoljnim sistemima, jer API-ji se menjaju. Portal SEF-a, na primer, beleži česta ažuriranja, pa integracija koja je radila prošlog meseca ne mora da radi sledećeg. Što sistem sme više da radi samostalno, to nadzor mora biti ozbiljniji.
Od čega zavisi cena i rok izrade AI agenta?
Cena i rok zavise od broja integracija, kvaliteta podataka, toga ko odobrava izlaz agenta, jezika i obima nadzora. Svaki spoljni sistem je zaseban izvor grešaka, a nedosledni podaci u CRM-u daju nedosledan rad agenta. Ako agent samo priprema nacrt, a čovek šalje, rizik je mali i sistem se pušta brže, dok samostalno slanje kupcu zahteva više testiranja i mehanizama za zaustavljanje. Takođe, srpski sa dijakritikom, bez nje, ćirilica i latinica utiču na ponašanje modela. Cena data posle pola sata razgovora bez ovih pitanja je pogađanje.
Gradiš nešto teško sa AI-jem ili automatizacijom? Otvoren sam za razgovor.
Javi se