Preskoči na sadržaj

Najveća budala: šest samouvjerenih grešaka AI-ja za jedno popodne

U istraživanju troškova AI je napravio šest grešaka, nijednu s rezervom, a svaka je priču činila urednijom. Isti obrazac vidi se u 1.598 sudskih slučajeva i u izmišljenim paketima.

10 min čitanja7 sekcija

Nije najveća budala onaj koji ne zna čitati, nego onaj koji misli da je sve ono što pročita istina.

To je bosanska izreka i dugo se odnosila na novine, knjige i ljude koji ih citiraju. Upozoravala je na količinu: mnogo čitanja ne znači da ste u pravu, a čovjek sa stotinu knjiga može biti sigurniji u svoju grešku od onoga koji nije pročitao nijednu.

Danas zvuči drugačije, jer tekst sada proizvodi nešto sasvim drugo.

Knjigu je neko pisao polako i s razlogom. Mogla je biti pogrešna, ali je ta greška imala autora i datum. Alati koje koristim svaki dan proizvode tekst odmah i u neograničenim količinama, tonom potpune sigurnosti, bez autora i bez stava koji bi morali braniti. Staro upozorenje podrazumijevalo je da ono u šta ćete povjerovati morate sami potražiti. Danas to stiže brže nego što stignete provjeriti.

„Ne vjeruj AI-ju“ je savjet s kojim se većina složi, a onda ga zanemari. Zato evo konkretnog slučaja: istraživanje za moj tekst o cijeni serverless WebSocketa i šest tvrdnji iz tog istraživanja koje su izrečene s punom sigurnošću, a nisu bile tačne.

01

Šest grešaka za jedno popodne

Pravio sam model troškova za WebSocket servis na AWS-u, sa stvarnim cijenama i stvarnom arhitekturom sistema koji sam izgradio i vodio. Računicu i strukturu poređenja prepustio sam AI-ju.

Prva greška bila je prelomna tačka. AI mi je rekao da obični server postaje jeftiniji kad stalno otvorenih konekcija ima oko 1.135. Brojka je bila precizna i izrečena bez trunke sumnje, a dobio ju je poređenjem cijene konekcija s golom instancom. Pritom je zanemario da je skladište konekcija potrebno u obje arhitekture i izostavio obaveznu mrežnu komponentu koja na maloj skali košta više od samih konekcija. Promašio je otprilike za polovinu.

Druga greška bila je zaključak da poruke nikad ne čine više od 7% računa. To je bilo tačno za scenarije koje je sam izabrao, a oni su pretpostavljali besmisleno malo poruka. Uz realnu pretpostavku poruke postaju najveća stavka na računu. Zaključak je proizašao iz same postavke, a predstavljen je kao nalaz o stvarnom svijetu.

Treća i četvrta bile su ista greška. Oba puta je našao rupu u onome što sam mu rekao, popunio je uvjerljivom pretpostavkom i tu pretpostavku upisao u nacrt kao da sam je ja izjavio. U jednom slučaju nacrt je tvrdio da nisam znao nešto što sam znao i prije nego što sam izgradio servis. Oba puta tekst je zvučao savršeno i oba puta bih objavio netačnu tvrdnju o vlastitom radu.

Peta greška bila je poređenje serverlessa s burstable instancom, jeftinijom mašinom koja ima samo djelić trajne procesorske snage. Servis za svakog primaoca radi jedan upis u socket, a za svako ponovno povezivanje jedan TLS handshake, pa takvo poređenje nije bilo pošteno i server je ispao bolji nego što jeste. Ništa na to nije upozorilo, a tabela je izgledala uredno.

Šesta je bila preporuka da se istek keša potpuno ukloni. AI nije primijetio da isti taj istek skida i zaključavanje sa zapisa. Da sam poslušao savjet, admin kojem se sruši browser držao bi zapis zaključanim dva sata.

Četiri od tih šest grešaka umalo su završile u objavljenom tekstu.

02

Greške su imale obrazac

S nasumičnom greškom se može izaći na kraj, a s greškom koja ima obrazac ne može. Ovih šest imalo je mnogo toga zajedničkog.

Svaka od njih činila je priču urednijom: zgodna prelomna brojka, upadljiv nalaz da poruke nisu važne, poređenje koje daje lijepu tabelu, pojednostavljenje koje uklanja jedan mehanizam. Nijedna nije zakomplikovala odgovor, sve su ga uljepšale.

Svaka se našla i u rupi koju sam ja ostavio. Nisam rekao šta pretpostavljam o dužini sesije, nisam objasnio čemu služi istek i nisam ispričao dio vlastite historije. Gdje god nisam ništa rekao, rupu je popunilo nešto uvjerljivo, a uvjerljiv odgovor izgleda isto kao tačan dok ga ne provjerite.

AI nijednu od njih nije izrekao s rezervom. Nije bilo ni „ovo pretpostavlja“, ni „nisam siguran“, ni „ovo treba provjeriti“. Pogrešne brojke stizale su istim tonom kao tačne, a tačnih je bilo mnogo, i zbog toga su pogrešne opasne. Alat koji griješi u pola slučajeva ljudi bace. Alat koji je uglavnom u pravu, i to istim glasom, nauči vas da više ne gledate.

Ni ponovno pitanje nije pomoglo. Kad sam osporio prelomnu brojku, dobio sam novu, izrečenu jednako sigurno. I ona je bila pogrešna, u istom smjeru i iz srodnog razloga. Kad model pitate ponovo, samo izvučete drugi odgovor iz iste raspodjele, pa prvi time ne provjeravate.

03

Isti obrazac u sudskim podnescima i registrima paketa

Jedno popodne je anegdota. Isti obrazac pojavljuje se gdje god se neko potrudio to prebrojati.

Sudski podnesci: od jednog slučaja do skoro hiljadu šest stotina za tri godine

U junu 2023. jedan njujorški advokat stajao je pred saveznim sudijom i pokušavao objasniti šest sudskih odluka koje ne postoje. Tražio je od chatbota presedane koji podržavaju tvrdnju svog klijenta, a chatbot mu je s punom sigurnošću dao citate s izmišljenim navodima i nepostojećim brojevima predmeta. Sud je njemu, njegovom kolegi i njihovoj firmi izrekao novčanu kaznu od 5.000 $.

Tada je to izgledalo kao izolovan incident.

Javna baza koju vodi istraživač Damien Charlotin danas prati sudske odluke u kojima se neka strana oslonila na materijal koji je izmislio AI. Sredinom 2025. u njoj je bilo oko 200 slučajeva, do januara 2026. njih 719, do aprila 1.227, a do juna 2026. ukupno 1.598, uz otprilike šest novih slučajeva dnevno. Najveća pojedinačna kazna iznosi oko 110.000 $. Do sredine 2026. jedan savezni sudija otkazao je suđenje i suspendovao advokate obje strane.

Pojedinačni slučajevi govore više od ukupnih brojki. Greške ne prave samo chatbotovi za širu javnost. Tri advokata jedne velike firme podnijela su podneske u kojima citiraju devet predmeta, a osam od njih nije postojalo. Te citate dala je interna AI platforma same firme. U drugom predmetu zastupnik je koristio dva alata napravljena baš za pravno istraživanje i ipak podnio šesnaest izmišljenih navoda.

Ni kad se model veže za stvarne dokumente, problem ne nestaje. Istraživači sa Stanforda utvrdili su da pravni alati zasnovani na pretraživanju, koji prije odgovora pretraže stvarnu sudsku praksu, i dalje haluciniraju u 17% do 33% slučajeva.

Sudovi su na kraju došli do iste rečenice. Dva odvojena apelaciona vijeća upotrijebila su skoro iste riječi: nijedan podnesak ne smije sadržavati citat koji odgovorni advokat nije lično pročitao i provjerio. Drugim riječima, advokat mora sam pročitati predmet. Pregled ili provjera alatom nisu dovoljni.

Registri paketa: izmišljena imena koja svako može registrovati

Nalaz zbog kojeg o ovome razmišljam drugačije potiče iz svijeta softvera.

Istraživači s tri američka univerziteta generisali su 576.000 uzoraka koda pomoću šesnaest jezičkih modela, a zatim provjerili svaki paket koji su modeli preporučili. Od preporučenih paketa 19,7% nije postojalo, što je ukupno 205.474 različita izmišljena imena. Komercijalni modeli imali su u prosjeku 5,2%, open-source modeli 21,7%, a neke konfiguracije su prešle 33%.

To je svaki peti paket, što bi već samo po sebi bila gnjavaža.

Istraživači su zatim upite koji su dali lažno ime ponovili po deset puta. Od haluciniranih imena 43% vratilo se u svakom ponavljanju, a 58% pojavilo se više puta. Samo 39% se više nikad nije pojavilo.

Halucinacije su, dakle, ponovljive. Proizlaze iz načina na koji model odgovara na određeno pitanje, pa isto pitanje često vrati istu izmišljotinu.

Zbog toga se mogu iskoristiti za napad. Ne morate pogađati šta bi programer mogao pogrešno otkucati. Pokrenete model, vidite šta izmišlja i to ime prvi zauzmete na registru paketa. Napad ima i ime, slopsquatting, a izraz je skovao developer-in-residence Python Software Foundationa.

A imena nisu ni očigledno lažna. Tek u 13% slučajeva radilo se o tipfeleru u imenu stvarnog paketa. Otprilike polovina nije ličila ni na šta stvarno: imena su bila uvjerljiva, dobro oblikovana, u duhu ekosistema i izmišljena. Filter sličnosti na registru tu nema šta uhvatiti.

Zašto je ponovljive greške teže uhvatiti

Ponovljivost je ono što ove brojke povezuje s mojih šest grešaka.

Da su greške modela nasumične, bile bi podnošljive. Povremeno biste dobili pogrešnu brojku, ona bi odskakala od ostatka i uhvatili biste je kao što hvatate tipfeler.

Ali nisu nasumične. Sve moje greške skretale su u istom smjeru, prema urednijoj priči. Imena paketa vraćaju se identična u svih deset pokretanja. Lažni citati toliko vjerno prate oblik stvarnih da ih ni advokat ne prepozna na prvi pogled.

Sistematsku grešku je mnogo teže vidjeti od nasumične, jer je dosljedna sama sebi. Pitate ponovo i dobijete isti odgovor, što djeluje kao potvrda, a ništa ne potvrđuje.

04

Alat je najmanje pouzdan tamo gdje ga najmanje možete provjeriti

Uhvatio sam svih šest jer je to bio moj sistem. Znao sam čemu služi istek. Znao sam šta sam znao i kada. Znao sam da burstable instanca ne može izdržati takvo opterećenje. Svaku grešku uhvatio sam zahvaljujući znanju koje sam već imao.

Dakle, greške koje bih propustio nalaze se u oblastima koje najslabije poznajem, a baš o njima najvjerovatnije i pitam. Skeptičniji stav tu ništa ne mijenja i zato mislim da „budite skeptični“ nije koristan savjet.

Iz toga izlazi i da je uobičajeni savjet, da AI koristite za stvari izvan svoje struke, skoro naopak. AI se isplati u onome što znate, gdje piše nacrt brže nego što vi pišete i gdje greške vidite odmah. Izvan vaše struke AI je samouvjeren stranac, a vi nemate načina da razlikujete dobrog stranca od lošeg.

05

Dvije greške iz te sesije bile su moje

Napravio bih istu grešku u obrnutom smjeru kad bih ovo ostavio na „mašina je nepouzdana, a ja nisam“.

Ista sesija je pokazala da sam interval isteka izveo iz nečega nepovezanog, iz ograničenja platforme koje nije imalo veze s onim na šta sam ga primijenio. Da me je neko pitao, branio bih tu brojku. Bila je pogrešna, a sistem je ipak radio, iz razloga koji nisam planirao.

Pogrešno sam pamtio i jedan timeout same platforme, za pet minuta, i tu sam pogrešnu brojku godinama držao u glavi.

Pomogla je provjera, svejedno u kojem smjeru. Šest grešaka uhvatio sam zahvaljujući poznavanju domena, a AI je dvije moje uhvatio čitajući dokumentaciju. Pouzdan nije bio ni on ni ja. Rezultat je izdržao zato što je provjera išla u oba smjera.

06

Pet navika koje sada imam

Umjesto opšte skepse oslanjam se na pet konkretnih navika i sve su jeftine.

  1. Tražim pretpostavke prije odgovora. Greška od 7% cijela je proizašla iz pretpostavki koje niko nije izrekao. Da sam pitao šta model pretpostavlja o dužini sesije, uhvatio bih je već u jednom redu, umjesto tek nakon tri nacrta.
  2. Svaku urednu brojku smatram sumnjivom. Stvarni sistemi daju nezgrapne odgovore. „Otprilike 1.135“ zvučalo je mjerodavno, a bilo je rezultat poređenja koje niko nije provjerio. Okrugle i elegantne nalaze koji se lako citiraju sada prve provjeravam.
  3. Ne dam mu da govori u moje ime. Ako nacrt kaže šta sam znao, mislio ili odlučio, a ja to nisam rekao tim riječima, izbacujem to. Možda nije pogrešno, ali bih objavio tvrdnju o sebi za koju nemam izvor.
  4. Natjeram ga da argumentuje protiv rezultata. Najkorisnije pitanje koje postavljam glasi: šta bi moralo biti tačno da bi ovo bilo pogrešno? Na to pitanje odgovara dobro, bolje nego kad ga zamolim da preispita odgovor, jer je to drugo pitanje.
  5. Nikad ne instaliram paket samo na osnovu preporuke. Svaki peti preporučeni paket ne postoji, a neko je možda registrovao to ime. Provjeravam registar, historiju preuzimanja i to da li historija repozitorija seže dalje od prošle sedmice.
07

Šta izreka znači danas

Stara verzija izreke upozoravala je da ne treba vjerovati svemu što pročitate. Razlog je bila oskudica: tekst se teško proizvodio, pa je sve što je zapisano imalo težinu koju nije zaslužilo.

Danas je tekst besplatan i neograničen, a stiže glasom nekoga ko zna. Rijetka je postala spremnost da se provjeri rečenica koja zvuči tačno.

Ove alate koristim satima dnevno i odrekao bih se mnogo čega prije nego njih. To je najkorisnije što se pojavilo u mom poslu u posljednjih deset godina. A za jedno popodne, o temi koju dobro poznajem, šest puta su s punom sigurnošću pogriješili.

Oboje je tačno i drugo ne pobija prvo. To je cijena, a plaća se pažnjom.

U skoro hiljadu šest stotina sudskih slučajeva neko je tu cijenu već platio javno, a u nekoliko njih radilo se o advokatima koji su koristili alate napravljene baš za njihovu struku. Petina paketa koje AI preporuči ne postoji, a napadači su naučili koja od tih imena vrijedi registrovati. Niko od onih koji su tako nastradali nije bio nemaran u uobičajenom smislu. Pročitali su nešto što je zvučalo tačno i nisu to provjerili, a to svako od nas uradi stotinu puta dnevno i prođe nekažnjeno.

Najveća budala nikad nije bio onaj koji ne zna čitati, nego onaj koji je prestao provjeravati jer je čitanje postalo lako.

Kako je nastao ovaj tekstIz istraživanja troškova za moj tekst o cijeni serverless WebSocketa, gdje su brojke prošle kroz četiri nacrta dok nisu izdržale provjeru.Pročitajte taj tekst →Sljedeći tekstVlastiti hosting InfluxDB-a ostao je jeftiniji zbog naplate po upituPročitajte →

Blog

Ako radite na nečemu sličnom, javite nam se s detaljima.

Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.

Opišite nam svoj projekatcontact@microtech.consulting