Gradim automatizacije i AI sisteme koji rade u produkciji i ostaju u pogonu — sa urednom obradom grešaka, čvrstim bezbednosnim granicama i odlukama koje se mogu proveriti.
Tri sistema koja sam napravila i koja održavam. Svaki rešava problem koji se jednostavnom automatizacijom ne može rešiti.
Sistem prima dolazne pozive i vodi razgovor na nemačkom u realnom vremenu. Utvrđuje o čemu se radi, proverava slobodne termine u pravom Google kalendaru, zakazuje termin i na kraju ga potvrđuje sažetkom. Ista logika obrađuje i SMS poruke. Ako sporazumevanje postane nesigurno ili pozivalac ima zahtev van predviđenog toka, sistem prosleđuje razgovor čoveku — umesto da nagađa.
Telefonski razgovor ne oprašta kašnjenje. Čim između kraja izgovorene rečenice i odgovora prođe više od otprilike dve sekunde, sagovornik deluje odsutno, a ljudi počinju da govore ili spuštaju slušalicu. Istovremeno se jedan za drugim izvršavaju tri računski zahtevna koraka: pretvaranje govora u tekst, generisanje odgovora, pretvaranje teksta nazad u govor.
Druga teškoća je ozbiljnija i uočava se tek kasno: jezički model može u tekstu da kaže „Zakazujem Vam sada termin”, a da rezervaciju zapravo ne pokrene. Pozivalac zadovoljno spusti slušalicu, a u kalendaru nema ničega.
Termin koji je potvrđen, a ne postoji, pravi više štete nego razgovor koji traje dve sekunde duže.
Prepoznavanje govora i sinteza glasa rade kao tok podataka, a ne kao zatvoreni upiti. Prepoznavanje isporučuje međurezultate već dok se govori. Sistem ne čeka da sinteza glasa bude gotova, već je dekodira u hodu — čim se pojave prvi upotrebljivi audio podaci, blokovi od 20 milisekundi idu na telefonsku liniju. Izmereni start sinteze glasa je medijana od 193 milisekunde. Dodatno, sistem prepoznaje kada pozivalac upadne u reč i odmah prekida sopstveni govor. Bez tog prepoznavanja prekida glasovni asistent zvuči kao automatska poruka.
Kod samog jezičkog modela svesno sam odustala od strimovanja odgovora. Kod tipičnih kratkih rečenica dobitak u vremenu bio bi između nula i 150 milisekundi — a zauzvrat bi asistent mogao da najavi rezervaciju pre nego što je kalendar uopšte proveren. Ta odluka je dokumentovana u projektu i doneta namerno.
Svaka rezervacija neposredno pre upisa u kalendar još jednom proverava dostupnost tačno istog termina — bez obzira na to kojim putem je pokrenuta. Ako jezički model najavi rezervaciju samo u tekstu, bez pozivanja alata za rezervaciju, server iznuđuje taj poziv, kontroliše podatke i tek onda izvršava rezervaciju. Broj koji prosledi telefonska mreža uvek ostaje verifikovani glavni broj; drugi broj naveden u razgovoru se dodatno čuva, ali ga nikada ne zamenjuje. Tako pogrešno shvaćena reč ne može da prepiše pravi kontakt broj.
Ako prepoznavanje govora protumači izjavu sa sigurnošću manjom od 75 procenata, sistem ne nagađa, već ljubazno moli za ponavljanje. Za kratke potvrde tipa „da” ili „odgovara” važi poseban, niži prag, jer se kratke reči sistematski lošije ocenjuju. Prazni rezultati prepoznavanja koji nastaju tokom sopstvenog govora se odbacuju, da sistem ne bi odgovarao na sopstveni eho. Kod pitanja o medicinskom savetu, izričite molbe za zaposlenog ili nedostupnog kalendara sistem prosleđuje razgovor čoveku. Limit troškova od pet evra dnevno, najviše osam minuta po pozivu i ograničenje po telefonskom broju sprečavaju da greška ili zloupotreba neprimetno stvaraju troškove.
Mnoge firme rade sa softverom koji ne nudi upotrebljiv interfejs — godinama razvijana granska rešenja, stariji administrativni sistemi, portali dobavljača. Prenos podataka između takvih sistema u praksi znači: neko ih prekucava. Ovaj agent preuzima upravo taj posao.
Klasičan pristup bila bi automatizacija koja klikće na fiksne pozicije na ekranu ili se kači na tehničke identifikatore u kodu stranice. Oboje se lomi čim neko promeni raspored, pomeri kolonu ili softver dobije ažuriranje. U praksi to znači: automatizaciju treba doterivati posle svake izmene — i otkazuje tačno onda kada niko to ne očekuje.
Agent ne traži treće polje odozgo, već polje sa oznakom Prezime.
Agent na svakom koraku iznova posmatra stranicu — kao sliku i dodatno preko strukture pristupačnosti, koja opisuje značenje elemenata. Posle svake akcije proverava da li je očekivani rezultat zaista nastupio: da li vrednost stvarno stoji u polju? da li se navigacija dogodila? da li rezime pokazuje prave podatke? Tek onda sledi naredni korak. Kao dokaz, demo sadrži dugme koje menja raspored ciljne stranice — zamenjuje kolone, preformuliše oznake, menja izgled. Upravo na tome pada klasična automatizacija.
Veb stranica može da sadrži tekst koji nije upućen čoveku, već agentu — skrivena uputstva koja treba da prepišu pravi zadatak. Jedna od demo stranica sadrži tačno to. Agent načelno ne tretira sadržaj stranice kao nalog, obeležava taj pokušaj u protokolu i nastavlja rad sa pravim podacima. Za automatizaciju koja radi na tuđim portalima to nije sporedna tema.
Agent radi unutar čvrstih granica. Jedan prolaz sme da napravi najviše 60 koraka i posle toga se prekida, umesto da pokušava beskonačno. Ako sigurnost akcije padne ispod 60 procenata, agent je ne izvršava, već je podnosi na odobrenje — sa snimkom ekrana i obrazloženjem. Određene reči na dugmadima su zaključane: obriši, plati, kupi, konačno potvrdi. Kada model vrati neupotrebljiv odgovor, upit se ponavlja najviše dva puta, a zatim se prolaz kontrolisano prekida. Ponovljene navigacije na istu adresu agent prepoznaje, umesto da se vrti u krug. Svaki korak se čuva sa snimkom ekrana, obrazloženjem, vrednošću sigurnosti i troškom — prekinuti prolazi mogu da se nastave sa punom istorijom.
Onlajn prodavnica svakog dana proizvodi iste odluke: šta treba naručiti, u kojoj količini, kod kog dobavljača? Koji upit kupca može da se obradi standardno, a koji zahteva čoveka? Agent donosi te odluke samostalno — i obrazlaže svaku od njih tako da se može proveriti.
Jednostavno pravilo tipa „zaliha ispod deset, znači naručujemo” u praksi ne funkcioniše. Jedan dobavljač isporučuje isključivo u paletama od 24 komada. Drugi naplaćuje doplatu ispod 50 komada — tada je 50 jeftinije od 30. Treći zimi treba četrnaest umesto pet dana. Tu su još i obrasci po danima u nedelji i sezona. Prava količina porudžbine zato nije prag, već odmeravanje.
Čvrsta poslovna pravila stoje u kodu. Jezički model ne može da ih zaobiđe — on ih jednostavno vidi kao datost.
Odluka teče na dva odvojena nivoa. Čvrsta poslovna pravila stoje u kodu programa: veličine paleta, minimalne količine, budžetske granice, blokade. Model preuzima samo ono odmeravanje iznad njih koje nijedno kruto pravilo ne pokriva. Svaki predlog obrazlaže običnim jezikom: zašto ta količina, zašto taj trenutak, zašto taj dobavljač. Koliko samostalno sme da radi podešava se u četiri stepena — od pukog predlaganja do samostalnog pokretanja. Na trenutno podešenom stepenu sme sam da pokrene porudžbine do 500 evra; iznad toga ih podnosi na odluku, čak i kada je siguran u svoju stvar.
Kod protivrečnih podataka sistem ne nagađa, već iznosi slučaj. Novi prolaz ne pravi drugi zahtev za artikal za koji već čeka otvoreno odobrenje — dvostruke porudžbine tako uopšte ne mogu da nastanu. Ako jezički model odgovori u formatu koji ne odgovara očekivanoj strukturi, upit se ponavlja jednom, a zatim se slučaj eskalira. Dodatno, sistem svake nedelje poredi sopstvene prognoze sa stvarnim tokom — dakle meri sopstvenu pogođenost, umesto da je tvrdi.
Pored toga, u svakodnevnom radu su i drugi moji sistemi — između ostalog za automatizovano istraživanje i pripremu podataka, kao i za izradu sadržaja.
Tri načela koja kod mene spadaju u obim isporuke i o kojima se posebno ne pregovara.
Obrada grešaka, logika ponavljanja, nadzor i limiti troškova spadaju u obim isporuke. Sistem koji radi samo u idealnom slučaju nije završen.
Po želji sve radi self-hosted na sopstvenim serverima, bez američkog klauda. Za delatnosti koje svoje podatke ne smeju da puste iz kuće.
Zahteve prikupljam sama i sama ih sprovodim — bez petlje prevođenja. Na nemačkom, poljskom ili srpskom.
Od 2022. godine radim samostalno u oblasti automatizacije i digitalnih sistema. Pre toga rad sa klijentima i administracija — tamo sam naučila kako izgledaju procesi koje danas automatizujem.
Rođena i odrasla u Beču. Poljski mi je maternji jezik, nemački i srpski govorim na maternjem nivou, bez akcenta. U projektima sa direktnim kontaktom sa klijentom to je redovno tačka na kojoj zapinje — moći prikupiti zahteve, razumeti ih i zatim ih samostalno sprovesti štedi celu petlju prevođenja.
Jasni uslovi, da brzo pređemo na stvar.
Jednokratna realizacija sa paušalom za postavljanje ili tekuće održavanje kao mesečni paušal. Saradnja po fakturi (B2B) ili ugovoru o delu. Područje rada: Austrija, Nemačka i Švajcarska.
Recite mi koji proces kod Vas oduzima vreme — pošteno ću Vam reći da li se automatizacija za njega isplati.
Odgovor najčešće u roku od nekoliko sati.
Podaci prema § 5 ECG i § 25 MedienG (austrijski propisi)
Adriana Cukaj
[dopuniti adresu]
Austrija
Mejl: adrianacukaj@gmail.com
Telefon: +43 676 3584739
Usluge u oblasti automatske obrade podataka i informatike
[dopuniti po registraciji delatnosti]
[dopuniti ako postoji]
Pre objavljivanja popuniti u celosti i dati pravniku na proveru.
Adriana Cukaj, [adresa], adrianacukaj@gmail.com
Ako me kontaktirate mejlom ili telefonom, prosleđene podatke obrađujem isključivo radi obrade Vašeg upita. Pravni osnov: član 6 stav 1 tačke b i f GDPR.
Upiti se brišu čim budu rešeni i ako tome ne stoje na putu zakonske obaveze čuvanja.
Pri pozivu demo broja razgovor se transkribuje i protokoliše radi provere rada. Asistent na to ukazuje na početku razgovora. Zapisi se brišu posle 30 dana.
Imate pravo na uvid, ispravku, brisanje, ograničenje obrade, prenosivost podataka i prigovor. Nadzorni organ je austrijska agencija za zaštitu podataka.
Povezane demo aplikacije rade na Replitu. Pri njihovom otvaranju podaci o vezi se prosleđuju tom pružaocu.
Pre objavljivanja popuniti u celosti i dati pravniku na proveru.