Nešto više od jednog zahteva u sekundi. Svake sekunde, i noću, i vikendom, i za praznike. Tako izgleda oko 100.000 zahteva dnevno kada svi stižu od jednog klijenta. To smo jednog jutra našli u logovima servisa podataka koji pomažemo da radi za jednog klijenta.
Prvi instinkt mi je bio da ga blokiram. Bio je to pogrešan instinkt, ali sam ga ipak imao.
Klijent je bio AI agent. Koristio je dokumentovan endpoint, tražio podatke koji postoje upravo da bi se koristili, i nije prekršio nijedno pravilo. Svaki pojedinačni zahtev bio je legitiman. Ponašanje u celini bilo je apsurdno. Trebalo mi je nekoliko dana da prihvatim da je apsurdni deo bio naš.
Svaki zahtev tačan, ponašanje pogrešno
Tokom doktorata bavio sam se automatskim popravljanjem programa, odnosno time kako da mašina sama ispravi grešku u kodu. Ta oblast ima reč za zakrpu koja prolazi sve testove, a ipak je pogrešna: plauzibilna. Zbog plauzibilnih zakrpa ne možete da ocenite ispravku samo po testovima. Testovi beleže ono čega se njihov autor setio da proveri. Ništa više.
Agent je bio isti problem, samo izvrnut naopačke. Svaki njegov zahtev prolazio je sve provere koje je naš interfejs imao. Samo što je interfejs imao vrlo malo provera, jer je beležio ono što smo mi očekivali od korisnika. A mi smo do tada očekivali samo ljude.
Pogledajte s čim je agent radio. Mogao je da traži trenutne vrednosti. Nije imao dobar način da pita šta se promenilo od njegove poslednje posete. Ništa mu jasno nije govorilo kada se podaci osvežavaju, niti koje su vrednosti konačne, a koje se još mogu pomeriti. Zato je uradio jedino razumno što preostaje pažljivom korisniku bez sata. Nastavio je da pita.
Probajte računicu kao misaoni eksperiment. Recimo da se podaci menjaju deset puta dnevno. Onda je 99.990 od tih 100.000 odgovora bilo identično prethodnom. Agent zapravo nije čitao naše podatke. Čitao je naše ćutanje o vremenu, iznova i iznova, na nešto više od jednog herca.
Dosada je bila naš limiter
Neprijatno je to što ljudi rade potpuno isto. Svako ko je osvežavao stranicu sa rezultatima prijemnog, status leta ili bankarski transfer zna taj pokret. I mi radimo polling. Samo nam posle petog osvežavanja dosadi, skuvamo kafu i vratimo se za sat vremena.
Dobar deo weba se trideset godina tiho oslanjao na to. Dosada je ograničavala broj zahteva. Zbog spavanja smo imali noćne prozore za održavanje. Keširanje je radilo jer ljudi uglavnom gledaju istih nekoliko popularnih stranica. Pitanja na koja nijedan API nije odgovarao rešavala su se tako što je neko jednom pročitao dokumentaciju ili pozvao osobu čiji su podaci. Ništa od toga niko nije projektovao. Dolazilo je besplatno sa ljudskim korisnicima, a mi smo gradili na tome i nikada to nismo zapisali.
Agenti sve to uklanjaju odjednom. Ne dosađuju se, ne spavaju i podjednako su radoznali za sve. Wikimedia Foundation je to naučila na skup način. Do aprila 2025. protok za preuzimanje multimedije porastao je 50% u odnosu na početak 2024, a botovi su pravili najmanje 65% njihovog najskupljeg saobraćaja, iako su činili samo oko 35% pregleda stranica. Botovi se ne drže popularnih stranica, pa promaše keš i završe u centralnom data centru. Cloudflare-ov pregled 2025. godine izbrojao je više od petnaestostruki rast, za samo godinu dana, crawlinga koji AI asistenti rade u ime korisnika. Upravo u tu kategoriju spada i naš agent.

Kada sam zatim pročitao BARC-ov izveštaj iz juna 2026, A Data Marketplace Is What Your Agents Need, u glavi mi je ostao jedan stari broj. U BARC-ovom istraživanju iz 2024, 73% ispitanika reklo je da je relevantne podatke teško pronaći. To je bio ljudski problem davno pre agenata. Analitičari su ga plaćali izgubljenim popodnevima i telefonskim pozivima, a niko nikada nije poslao račun. Agenti nisu napravili nered. Oni su prvi korisnici čija se zbunjenost vidi na računu.
Jedna napomena, jer je važna: izveštaj je sponzorisala kompanija Entropy Data, koja prodaje tržišta podataka. To ga ne čini pogrešnim. Samo sam ga pročitao dva puta, a u nastavku se sa njim na par mesta i ne slažem.
Magacin otvorenih vrata
Svako mesto u Vojvodini ima pijacu. Stalno joj se vraćam, jer je to najbolja slika onoga što je nedostajalo.
Naš servis, kao i većina servisa podataka, radi kao magacin kome su vrata ostala otvorena. Svako može da uđe, uzme šta hoće i ode. Ujutru vlasnik vidi tragove i može samo da nagađa ko je dolazio, šta je odneo i zašto.
Pijaca radi drugačije, i razlika nije u robi. Iza svake tezge stoji neko koga sutra možete ponovo da nađete. Na robi piše cena i poreklo. Postoji vaga, i vagu proverava neko iz opštine. Postoje pravila koja važe za svaku tezgu, od higijene do toga gde smete da ostavite kolica. I postoji radno vreme, ispisano na kapiji.
Niko ne kuca na tu kapiju u tri ujutru da pita da li je stigao paradajz. Ne zato što su kupci na pijaci posebno pristojni, nego zato što je radno vreme istaknuto.

Prevedite pijacu na podatke i dobićete, gotovo stavku po stavku, ono što data mesh zajednica zove proizvodom podataka, a proizvođači softvera tržištem podataka: imenovanog vlasnika za svaki skup podataka, opis šta podaci znače i koliko su dobri, obećanje o svežini, pravila koja važe za sve, i nešto što svaku transakciju proverava prema njima.
To je promenilo kako gledam na servis iz ove priče. Više ga ne vidim kao API sa problemom saobraćaja. Vidim ga kao pijacu koja nikada nije postavila tezge. Roba je tu, prodavci su tu, a kupci su očigledno stigli. Nedostaju tabla na kapiji, etikete i inspektor. To je mnogo manji korak nego što zvuči „napravite tržište podataka“, i pretpostavljam da mnogi javni servisi podataka stoje na istom mestu, a da to ne znaju.
Dvadeset godina dokumentacije ni za koga
Svet podataka tu etiketu zove ugovor o podacima (data contract). U praksi je to YAML fajl, danas najčešće pisan po Open Data Contract Standardu (ODCS) koji razvija projekat Bitol pri Linux Foundation. U njemu piše šta je skup podataka, čiji je, koliko je svež, koje provere kvaliteta mora da prođe i za šta sme da se koristi. Pojednostavljen isečak bi rešio veći deo naše nedelje:
# pojednostavljeno, u ODCS stilu
id: daily-aggregates
status: active
description:
purpose: Konačne agregirane vrednosti, osvežavaju se jednom po radnom danu.
limitations: Vrednosti pre 10:00 CET su privremene.
slaProperties:
- property: frequency
value: 1
unit: d
- property: timeOfAvailability
value: "10:00 CET"
Agent koji pročita „jednom dnevno, u deset, ranije vrednosti su privremene“ nema razloga da pita sto hiljada puta. Pita jednom, posle deset. Rečenica metapodataka je najjeftiniji limiter koji znam.
A sada deo o kome retko čujem. Dvadeset godina je većina nas pisala dokumentaciju koju niko nije čitao. Ljudi bi je preleteli, pogađali, a onda pisali onom jednom kolegi koji zna. On je bio prava dokumentacija. Sada naša dokumentacija ima čitaoca koji čita svaku reč, shvata je doslovno i ne može nikome da pošalje mejl.
To je poklon, ali i pretnja. Zbog polja o svežini koje je nedostajalo, naš agent je radio polling. Skupo, ali je svaki odgovor koji je koristio bio aktuelan. Pogrešno polje o svežini je gore. Ako u ugovoru piše deset sati, a podaci zapravo stižu u pola dvanaest, agent koji se lepo ponaša pita jednom u deset, dobije jučerašnje brojke i koristi ih sa punim samopouzdanjem do sutra. Metapodaci koji nedostaju koštaju vas novca. Pogrešni metapodaci vaše korisnike tiho koštaju istine.

Zato ugovor mora da se testira kao kod, u pipeline-u, svaki put kada se podaci pomere. Otvoreni alati kao što je Data Contract CLI rade upravo to. Netestiran ugovor je laž sa šemom.
Svrha je tvrdnja, a ne činjenica
Većina tekstova na ovu temu, uključujući i BARC-ov izveštaj, iznosi razumnu stvar o pristupu. Pristup ne bi smeo da bude propusnica koju dobijete jednom i zadržite zauvek. Odobrenja se gomilaju, podaci klize ka upotrebama koje niko nije odobrio, a kod agenata je to klizanje brzo i nevidljivo. Uobičajeno rešenje je pristup vezan za svrhu: svaki zahtev navodi zašto mu trebaju podaci, i ta svrha se proverava prema ugovoru. MCP server kompanije Entropy Data, na primer, bez navedene svrhe neće ni pokrenuti upit.
Slažem se sa pravcem. Samoj izjavi ne verujem.
Ovaj film smo već gledali. Baneri za kolačiće trebalo je da beleže informisani pristanak, a postali su klik koji svi kliknu bez čitanja. Navedena svrha će proći isto. U roku od godinu dana agenti će naučiti koja reč otvara koja vrata, i u svakom zahtevu će pisati „istraživanje“. Polje za svrhu koje proverava samo pravopis je pozorište.
Ono što agent kaže je tvrdnja. Ono što radi je dokaz. Agent koji prijavi „mesečni izveštaj“ i pita svake sekunde ne pravi mesečni izveštaj. On nešto prati, i sasvim moguće time hrani neki komercijalni proizvod. Kontrola koja vredi je ona koja poredi prijavljenu svrhu sa uočenim obrascem i reaguje na razliku.
Mi nismo stigli ni dotle. Znali smo odakle zahtevi dolaze i koliko često. Nismo znali ko stoji iza njih, šta pravi, niti da li bi rado prešao na nešto jeftinije da je iko mogao da mu to predloži. Ostao je samo tup alat, ograničenje broja zahteva. Radi, ali potencijalno vrednog korisnika tretira kao napadača, i sledećeg agenta ničemu ne nauči.
Poverenje nije dovoljno. Pijaci trebaju cene
BARC ima rečenicu koja mi se dopada: poverenje je tržišni mehanizam koji nedostaje u mnogim neuspelim implementacijama tržišta podataka. Tačno je, ali je to pola priče. Mnoga interna tržišta podataka iz prethodne decenije propala su i sa pristojnim metapodacima. Ništa u njima nije ništa koštalo korisnika, i ništa nije donosilo ništa vlasniku. Tržište bez cena je katalog sa lepšim izlogom.
Agenti vraćaju cene, planirao to neko ili ne. Svaki od tih 100.000 dnevnih zahteva nešto je koštao: procesor, protok, logove, pažnju dežurnog. Sve je to podnela strana koja servira podatke. Na otvorenom internetu neravnoteža je spektakularna: Cloudflare je tokom 2025. merio da Anthropic-ovi crawleri prave negde između 25.000 i 100.000 zahteva za svaku posetu koju vrate izvoru. U julu 2025. Cloudflare je pokrenuo pay per crawl, zasnovan na HTTP statusu 402, Payment Required. Taj kod je od 1997. bio „rezervisan za buduću upotrebu“. Trebalo je skoro trideset godina i nekoliko milijardi zahteva crawlera da bi nekome zatrebao. U Evropi se od septembra 2025. primenjuje EU Data Act, koji deljenje podataka između kompanija tretira kao nešto što se radi po ugovornim uslovima, uz razumnu naknadu tamo gde je deljenje obavezno.
Ovo otvara pitanje na koje nemam čist odgovor. Mnogi javni podaci treba da ostanu besplatni, i to bih glasno zastupao. Ali neko plaća svaki zahtev. Kada servis koji se finansira javnim novcem odgovara agentu koji gradi komercijalni proizvod, poreski obveznik subvencioniše nečijeg agenta, jedan zahtev u sekundi. Možda je to u redu. Možda je upravo za to otvoreni podatak. Ali to treba da bude odluka, a ne nešto što niko nije primetio.
Ostrom bi napravila tržište
Ovde se obično poteže Garrett Hardin i tragedija zajedničkog dobra. Zajednički pašnjak, svaki stočar racionalno doda još jednu kravu, pašnjak propadne. Jedan agent koji pita jednom u sekundi još je u redu. Hiljadu takvih agenata je ispad sistema, a svaki od njih se ponaša racionalno.
Elinor Ostrom je 2009. dobila Nobelovu nagradu za ekonomiju velikim delom zato što je pokazala da Hardinov kraj nije neizbežan. Proučavala je stvarna zajednička dobra, od švajcarskih alpskih pašnjaka do sistema za navodnjavanje u Španiji i na Filipinima, našla zajednice koje su vekovima održavale zajedničke resurse, i izdvojila šta im je zajedničko. Kada danas čitate njena načela, zvuče kao specifikacija zahteva. Jasne granice: korisnici imaju ime. Pravila prilagođena lokalnim uslovima: jedan ugovor po proizvodu podataka, a ne jedno pravilo za sve. Nadzor koji neko zaista i gleda. Postepene sankcije umesto trenutne zabrane. Jeftino rešavanje sporova, što u praksi znači vlasnik koji odgovara. I ugnežđeni slojevi pravila: pravila organizacije, a unutar njih ugovori pojedinih domena.

Ovo mi je ubedljivije od bilo kog arhitektonskog dijagrama nekog proizvođača, uglavnom zato što nije o softveru. Tržište podataka nije platforma. To je skup pravila uz koja zajednički resurs preživljava veliko opterećenje, a platforma samo pomaže da se ta pravila sprovode.
Utičnica nije pravilo
Reč-dve o Model Context Protocolu, jer se danas svaki razgovor o agentima i podacima završi kod njega. MCP čini trivijalno lakim da agentu date alat koji priča direktno sa bazom podataka. Ako se uradi tako, to su opet otvorena vrata magacina, samo sa lepšim natpisom. Ako se uradi kako treba, MCP je kapija pijace. Simon Harrer iz Entropy Data opisuje tržište podataka kao sloj kroz koji prolazi svaki poziv agenta, uključujući i sam upit, pa se ugovor i pravila proveravaju usput. Protokol je u oba slučaja isti. Razlika je u tome da li upravljanje živi iza njega ili u promptu.
I reč protiv sopstvenog zanata. Budite oprezni sa svakim ko kaže da je prvi korak platforma, uključujući proizvođače, i uključujući nas. Većina onoga što je našem incidentu trebalo staje u jedan YAML fajl, tri HTTP zaglavlja i jedan razgovor o tome šta je čije.
Šta bih uradio u ponedeljak
- Prebrojte mašine. Saznajte koji deo vašeg saobraćaja je automatizovan i kojih deset klijenata pravi najveći deo. Nas je iznenadilo. Većinu timova iznenadi.
- Istaknite radno vreme. Recite kada se podaci osvežavaju i kada postaju konačni. Ponudite feed promena ili dnevni snimak, i podržite
ETagiIf-Modified-Since, tako da „ništa se nije promenilo“ košta jedan 304 i skoro ništa više. - Napišite jedan ugovor i testirajte ga. Uzmite najtraženiji skup podataka, opišite ga u ODCS formatu i pokrećite njegove provere u pipeline-u. Netestiran ugovor je gori od nikakvog.
- Dajte ime velikim korisnicima. Besplatan ključ je dovoljan. Pitajte za svrhu, a onda je uporedite sa onim što ključ zaista radi.
- Umesto zabrane, merdevine. Kada neko pita prečesto, odgovorite sa
429,Retry-Afteri linkom ka bulk fajlu. Prvo nivoi, pa tek onda blokada. - Odlučite ko plaća. Pre nego što to umesto vas odluči račun za cloud.
Agent nije prekršio nijedno pravilo. Samo mu nikada nije dosadilo, i tako je pronašao svako mesto na kome smo se umesto na dizajn oslonili na dosadu. Na pijaci niko ne kuca na kapiju u tri ujutru. Radno vreme je ispisano na njoj.
Izvori
- Florian Bigelmaier, BARC: BARC Spotlight: A Data Marketplace Is What Your Agents Need, jun 2026, sponzor: Entropy Data
- Jochen Christ: From Data Catalog to Data Marketplace
- Simon Harrer: A Data Marketplace is What Your Agent Needs, DATA Festival 2026
- Entropy Data: MCP: Connect AI Clients with Business Data
- Bitol: Open Data Contract Standard; Data Contract CLI
- Wikimedia Foundation: How crawlers impact the operations of the Wikimedia projects, april 2025.
- Cloudflare: Radar 2025 Year in Review; Introducing pay per crawl
- Evropska komisija: Data Act
- Elinor Ostrom: Governing the Commons, Cambridge University Press, 1990.
MALI Labs je kompanija za softverski i AI inženjering iz Ade, u Vojvodini. Pomažemo timovima da svoje podatke učine upotrebljivim za AI agente, a da pritom ne izgube kontrolu nad njima: ugovori o podacima, upravljani MCP interfejsi i API-ji spremni za agente. Ako vaš servis u poslednje vreme viđa više mašina nego ljudi, javite nam se. Prvi proof of concept, nedelju dana na vašim podacima, je besplatan.




