Stub

Pitanje koje je svaki put propadalo, dok konačno nije

Ovaj proizvod testiramo oštrije nego što bi većina ljudi uopšte testirala alat koji ne prodaje. Ne zato što uživamo da pronalazimo sopstvene bagove, nego zato što je tvrdnja da “AI stvarno poznaje vaš posao” bezvredna ako niko nije proverio da li to važi pod stvarnim pritiskom.

Jedno pitanje je uporno propadalo. Ne skoro tačno, ne mutno, nego suvo “Nemam te podatke.”

Pitanje, i koliko puta je propalo

“Predloži hibridni paket usluga zasnovan na onome što je stvarno funkcionisalo.”

Neku verziju ovoga postavili smo kroz tri zasebne simulacione runde AlphaForge-a, potpuni test vertikale za advokatske kancelarije i test vertikale za uređenje okoline. Svaki put, na staroj metodi dohvata: neka verzija “Nemam zapise u Riznici koji pokazuju koje su kombinacije funkcionisale.”

Frustrirajući deo nije bio to što je propalo. Nego to što informacija stvarno nije nedostajala. Riznica je imala opšti zapis o cenama. Imala je i konkretan zapis o ishodu. Samo ih nikad nije povezala, jer je metoda dohvata u pozadini radila pretragu po ključnim rečima uživo kod svake poruke, do četrdeset zasebnih pretraga baze podataka po pitanju, a pretraga po ključnim rečima ne zna da “palete busena” i “pokrivenost paletama” govore o istoj stvari.

Šta smo zapravo promenili

Ne ono što Riznica čuva. Nego kako se pretražuje.

Svaki zapis u Riznici sada se pretvara u embedding, brojčani prikaz svog stvarnog značenja, u trenutku kada je napisan, a ne u trenutku kada neko o njemu postavi pitanje. Dohvat je postao jedna jedina pretraga najbližeg suseda nad tim prikazom, umesto pretrage cele Riznice od nule kod svake poruke. Reč je o istoj bazi podataka, Postgresu, na istoj instanci koju smo već imali, uz ekstenziju napravljenu tačno za ovo. Nema nove kategorije infrastrukture. Samo drugačiji način pronalaženja onoga što je već bilo tu.

Do toga se došlo stvarnim, nimalo glamuroznim inženjerskim radom o kome se u ovakvim objavama obično ne piše: proverom koji AI provajderi uopšte nude embedding endpoint (nemaju ga svi), dizajnom prilagođenim svakom klijentu (tenant-aware) tako da se koristi sopstveni konfigurisani provajder svake firme umesto jednog ključa za celu platformu, i istinski sitničavim bagom gde je embeddinzima jednog provajdera bila potrebna eksplicitna normalizacija pre nego što bi poređenja udaljenosti uopšte bila matematički validna. Testirali smo i pet kandidata za model na stvarnom pitanju pre nego što smo odabrali jedan, i pritom otkrili nešto vredno samo po sebi: najbrža opcija bila je deset do petnaest puta brža od najsporije, uz nultu razliku u kvalitetu odgovora na tačno ono brojčano pitanje na kom smo je testirali.

Ponovljeni test

Isti klijent. Isto pitanje. Stara metoda, pa nova, jedna za drugom.

Stari odgovor: “Nemam zapise u Riznici koji pokazuju koje su kombinacije funkcionisale.”

Novi odgovor, potvrđen kroz logove da je stvarno koristio novu putanju dohvata, ne slučajno: stvaran, konkretan predlog, imenovane usluge, stvaran klijent naveden imenom, izračunata ukupna vrednost, obrazloženje vezano za to kako stvarno teče rad te firme. Ne blago poboljšana verzija starog ne-odgovora. Potpuno drugačiji ishod, na pitanju koje je identično propadalo, svaki put, kroz ceo program testiranja do tog trenutka.

Ono što nećemo da glumimo

Pošten trošak se pokazao odmah, pa ga izveštavamo, a ne ulepšavamo. Naknadna obrada embeddinga za već veliku Riznicu, preko hiljadu zapisa, trajala je skoro pet minuta, neprijatno blizu tvrde granice vremenskog ograničenja zahteva. Kod istinski zrele Riznice, dubine nekoliko hiljada zapisa, ista jednokratna naknadna obrada bi verovatno negde usput pala. To sad znamo jer smo to izmerili, ne zato što nagađamo. Reč je o stvarnom, označenom sledećem koraku, a ne o nečemu što smo isporučili i tiho se nadali da niko neće naleteti na to.

Broj koji stoji iza svega ovoga

Ovo jedno poređenje pre-posle samo je jedan test unutar mnogo većeg programa: otprilike dvadeset pet simuliranih godina poslovne aktivnosti kroz nekoliko industrija, preko devet hiljada stvarnih zapisa u Riznici nastalih usput, jedanaest stvarnih bagova pronađenih i ispravljenih, među njima i ovaj propust u dohvatu. Ukupna stvarna potrošnja na API za ceo višemesečni program: 9,57 USD.

Radije ćemo vam pokazati pitanje koje je pet puta zaredom propalo, i tačno šta je bilo potrebno da bi se popravilo, nego da krenemo s upečatljivim brojem i nadamo se da niko neće pitati šta zapravo stoji iza njega.

Pitanja koja ljudi zaista postavljaju

Da li je AI-u stvarno nedostajala informacija, ili je problem bio u pretrazi?

Problem u pretrazi, potvrđeno direktno. Svaka činjenica potrebna za odgovor na pitanje već je bila u Riznici. Stara metoda dohvata koristila je pretragu po ključnim rečima uživo, pa pitanje sa rečju ‘palete’ nije pouzdano pronalazilo zapis napisan sa rečju ‘paleta’, a šire sintezno pitanje nije pouzdano povezivalo dva srodna, ali drugačije formulisana zapisa. Znanje je bilo tu. Pretraga ga jednostavno nije nalazila.

Šta se zapravo promenilo?

Zapisi u Riznici sada se pretvaraju u embedding, brojčani prikaz njihovog značenja, u trenutku kada su napisani. Dohvat je postao jedna jedina pretraga najbližeg suseda nad tim prikazom, umesto pretrage ključnih reči uživo kroz celu Riznicu kod svake poruke. Isto osnovno znanje. Potpuno drugačiji način da se ono pronađe.

Kako znate da je poboljšanje stvarno, a ne jednokratna sreća?

Ponovili smo identično pitanje na istom klijentu, prvo pretragu po ključnim rečima, zatim vektorsku pretragu, i uporedili rezultate. Proverili smo i pošten trošak: latenciju, vreme naknadne obrade pri velikom obimu podataka i stvaran rizik koji smo pronašli (jednokratna naknadna obrada velike Riznice približava se granici vremenskog ograničenja zahteva), umesto da izveštavamo samo o pobedi.

Pridružite se Early Crew →← Nazad na sve tekstove

Recorded on a live database and a live screen, but run by automated scripts standing in for a human's clicks and typing, not performed live. When Stark answers faster than the script expects, the screen can hold still for a beat before the next step starts. That's left in on purpose. The goal was never a polished demo reel, it was proof the feature actually works. Dejan's own verdict, after watching the raw footage: rough, but the best demo video we've made.