Agent Bucket: Agent izvorni spremnik na razini trilijuna
Agent Bucket: Agent izvorni spremnik na razini trilijuna
U današnje vrijeme kada AI agenti niču poput gljiva poslije kiše, programeri grade maštovite inteligentne aplikacije brzinom bez presedana. Od pomoćnika za programiranje koji vam mogu pomoći u pisanju koda, do alata za stvaranje koji generiraju film iz jedne rečenice, do osobnih inteligentnih asistenata koji su vam uvijek na raspolaganju, agenti preoblikuju način na koji komuniciramo s digitalnim svijetom. Iza ovog vala sve je jasniji konsenzus: uz pomoć Serverless arhitekture (kao što je Lambda), velikih jezičnih modela (LLM) i pohrane u oblaku (kao što su S3, TOS), u kombinaciji s Vibe Codingom, svatko može brzo postaviti vlastiti AI agent u roku od 30 minuta.
Od "upotrebljivog" do "dobro upotrebljivog", programeri agenata još uvijek moraju prevladati poteškoće prelazeći s "igračke" na "aplikaciju razine proizvodnje". Kako se poslovanje kreće prema ogromnom broju korisnika, programeri se moraju suočiti s iznimno složenim izazovom: kako izgraditi cjelovito rješenje za pohranu za ogroman broj krajnjih korisnika na objektnoj pohrani? Za većinu programera ovo nije samo tehnička prepreka, već i jaz koji sprječava distribuciju agenata u velikim razmjerima. Agent Bucket ima za cilj potpuno pojednostaviti proces izgradnje sustava s više korisnika putem AI izvornog dizajna pohrane, pružajući prijateljskije mogućnosti agenta.
Kada navale milijarde korisnika, tradicionalna objektna pohrana "nije dovoljna"
Zamislite da ste razvili popularnu AIGC aplikaciju. Svaki korisnik će generirati i pohraniti veliki broj slika, videozapisa i privremenih datoteka. Kao programer, prirodno ćete odabrati zrele i proširive usluge objektne pohrane kao što su S3 i TOS. Ali evo problema: kako upravljati podacima za ogroman broj korisnika?
Blog S3 iz 2022. 《Partitioning and Isolating Multi-Tenant SaaS Data with Amazon S3》 objašnjava dva načina, "svaki korisnik koristi neovisni S3 spremnik" i "dijeljeni S3 spremnik izoliran na temelju prefiksa":
- Stvaranje neovisnog "spremnika" (Bucket) za svakog korisnika: ovo je izvedivo kada je broj korisnika mali, ali kada broj korisnika naraste na desetke tisuća, milijune, broj spremnika će brzo eksplodirati, a troškovi upravljanja i ograničenja resursa postat će nepodnošljivi. S3 nudi ukupnu kvotu od 10 000 spremnika po regiji, ali za popularne AI mogućnosti, 10 000 još uvijek nije dovoljno.

- Korištenje "prefiksa" za razlikovanje korisnika u istom spremniku: ovo je postalo glavno rješenje. Na primjer, datoteke korisnika A počinju s user-a/, a datoteke korisnika B počinju s user-b/, baš kao i upravljanje datotekama u mapama na računalu. Međutim, objektna pohrana nema izvorne mape, ovo rješenje razlikuje više korisnika putem "zajedničkog prefiksa" (Prefix) u sustavu pohrane "K-V".

Ovo rješenje temeljeno na "spremniku" ili "prefiksu" naširoko se koristi u proteklih deset godina. Ali postoje sljedeći problemi:
-
Izolacija više korisnika: podaci svih korisnika pomiješani su u istom spremniku, a abnormalno visoka frekvencija pristupa jednog korisnika može utjecati na sve ostale korisnike, stvarajući "susjedski učinak". Izolacija performansi i izolacija grešaka su nemoguće.
-
Kontrola dopuštenja: složene politike dopuštenja (IAM Policy) teško je održavati i lako je napraviti pogreške u konfiguraciji, što dovodi do nenamjernog pristupa korisničkim podacima, osobito kada je potrebna interakcija s drugim uslugama u oblaku, rizik je veći.
-
Jasnoća troškova: teško je točno znati koliko je prostora za pohranu potrošio svaki korisnik i koliko je troškova prometa nastalo. Kada želite naplatiti korisnicima koji plaćaju na temelju upotrebe, naplata i mjerenje postaju nejasni.Zašto se implementacija na pohrani objekata čini "teškom" za ove naizgled osnovne zahtjeve za razvojne programere agenata? Dubljim ispitivanjem razlog je taj što u trenutnoj arhitekturi izvornoj za oblak postoji ogroman vakuum između "pohrane objekata" kao što je S3 i tradicionalnog "datotečnog sustava". Bit pohrane objekata (S3/TOS) je "izravnavanje", a izvorna svrha je jednostavno pohranjivanje ogromnih količina podataka, poput ogromnog skladišta. Iako je kapacitet gotovo neograničen, logička struktura je iznimno jednostavna. Nedostaje mu izvorno napredno upravljanje direktorijima, fina kontrola metapodataka i istinska svijest o zakupcima. Kada razvojni programeri pokušavaju simulirati "trodimenzionalni" datotečni sustav s više zakupaca na "ravnom" S3 putem tvrdokodiranih prefiksa, mi zapravo koristimo "statičku KV pohranu" za nošenje načina pristupa datotekama "direktorijske semantike, snažno izolirane" aplikacije agenta. To jest, agent treba dodatno potrošiti tokene za upravljanje datotekama i kontrolu rješavanja dopuštenja i izolacije više zakupaca. Sva ova dodatna potrošnja tokena pokazuje da jednostavna usluga pohrane koju definira S3 nije dovoljno jednostavna za agenta.
Blog S3 iz 2025. godine "Design patterns for multi-tenant access control on Amazon S3" dodatno objašnjava S3 Access Point. To znači da se mogu stvoriti višestruke virtualne mrežne pristupne točke i konfigurirati prilagođena pravila pristupne točke za svaku pristupnu točku, što nudi neka rješenja za scenarije s više zakupaca na razini mrežnog raspoređivanja.
Agent Wonderland
Idealan razvojni programer agenta može izgraditi potpuno serverless agenta na temelju "Agent SDK + pohrana + MaaS usluga" prilikom razvoja AI agenta:
-
Agent može raditi potpuno serverless
-
Može kombinirati postojeće mogućnosti proizvoda za izgradnju agenta putem Vibe Codinga
-
Potrebno je samo održavati python skriptu "ADK"
-
Pohrana koristi pohranu objekata
-
AI mogućnosti koriste Doubao
-
Teoretski nema ECS-a ili drugih proizvoda tipa instance
Istovremeno, pohrana mora pružiti sljedeće mogućnosti:
-
Agent može imati pohranu semantike objekata (spremanje datoteka), pružajući mogućnost pristupa više zakupaca, počevši od milijuna i proširujući se na stotine milijuna
-
Agent može pružiti neovisan prostor za svakog korisnika (između više usluga, usluge ili uid mogu imati isto ime)
-
Agent može izravno konfigurirati propusnost svakog korisnika, konfigurirati gornju granicu ukupne veličine korisničkog objekta
-
Agent može naplaćivati, nadzirati i promatrati prema korisniku
-
Agent može konfigurirati pravila pristupa za datoteke svakog korisnika
Agent Bucket: Ubrizgavanje "izvornih više zakupaca" gena u AI agenta
Kako bismo temeljito riješili ovaj problem, predlažemo potpuno novu paradigmu pohrane objekata - Agent Bucket. Njegova temeljna inovacija je uvođenje nove izvorne razine resursa između tradicionalnih "spremnika" i "objekata": skup objekata.
Temeljna ideja ovog dizajna je iznimno jednostavna: uskladite svaki svoj krajnji korisnik s ekskluzivnim ObjectSetom. ObjectSet možete zamisliti kao "sefu za podatke" ili "osobni prostor u oblaku" dizajniran isključivo za svakog korisnika. Logički pripada vašem (razvojnom programeru) Bucketu, ali fizički i upravljački ima svoju neovisnu "osobnost" i "životni ciklus".Agent Bucket Svaki bucket podržava 100 milijuna ObjectSetova, što znači da možete bezbrižno pružati usluge stotinama milijuna krajnjih korisnika, kao da svaki krajnji korisnik "živi" u vlastitom, neovisnom prostoru za pohranu, bez potrebe da se više mučite s upravljanjem pohranom za više korisnika.
Dizajn ObjectSeta – mogućnosti prilagođene Agentima
U Agent Bucketu, ObjectSet nije samo dodavanje razine, već pretvara najteže zahtjeve u scenarijima s više korisnika u izvorne mogućnosti spremne za korištenje. Kada se vlasništvo nad podacima jasno definira na razini ObjectSeta, niz mogućnosti koje su u prošlosti bile teško ostvarive postaju prirodne.
-
Izvorna izolacija: Na razini ObjectSeta, možete postaviti neovisne QPS, ograničenja propusnosti i kvote kapaciteta za svakog korisnika. Iskustvo korisnika koji plaćaju može biti zajamčeno, a abnormalno ponašanje besplatnih korisnika neće utjecati na druge. Ovo je prava izolacija domene kvara, koja sprječava da se "susjedi" međusobno ometaju.
-
Izvorna dopuštenja: Svaki ObjectSet može imati neovisnu domenu. To znači da možete korisniku A dati ekskluzivnu adresu za pristup user-a.yourapp.com, umjesto da izlažete domenu cijelog bucket-a. Još je pametniji dizajn "dvije brave": prva brava je privremena vjerodajnica za pristup koju izdaje pružatelj usluga u oblaku (STS), koja kontrolira dopuštenja za pristup na razini aplikacije; druga brava je neovisna domena ObjectSeta, koja zaključava zahtjeve za pristup u vlastitom podatkovnom prostoru korisnika s mrežne razine. To uvelike poboljšava sigurnost podataka.
-
Izvorno praćenje: Na nadzornoj ploči više ne možete vidjeti samo pregled podataka cijelog bucket-a. Možete razložiti grafikone praćenja po ObjectSetu, jasno uvidjeti koji krajnji korisnik obavlja veliki broj pristupa i donijeti precizne odluke o radu i optimizaciji.
-
Izvorno spuštanje mogućnosti: Pravila koja su se u prošlosti mogla postaviti samo na razini bucket-a sada se mogu spustiti na svakog korisnika. Možete postaviti različite životne cikluse podataka za korisnike različitih razina ili koristiti različite ključeve za šifriranje za svaki ObjectSet, postižući finije i sigurnije upravljanje podacima.
-
Izvorno mjerenje: Želite znati koliko prostora za pohranu zauzima svaki korisnik? Želite precizno raspodijeliti troškove pohrane svakom korisniku? Sada je to lako. Agent Bucket automatski će statistički izračunati kapacitet i korištenje svakog ObjectSeta, čineći vaše naplate i podjele jasnima.
-
Izvorna naplata: Programeri mogu lako implementirati raspodjelu troškova i precizno vratiti troškove pohrane svakom krajnjem korisniku. Na primjer, naplaćujte različito prema stvarnim omjerima troškova koje generiraju različiti korisnici A, B i C, pružajući podatkovnu podršku za komercijalizaciju Agenta.
-
Izvorno ograničenje kapaciteta: Kako biste kontrolirali operativne troškove Agenta, možete postaviti Quota (ograničenje kapaciteta) za svaki ObjectSet. Nakon što se dosegne unaprijed postavljena vrijednost, sustav će ograničiti korisnika da nastavi generirati nove datoteke, izbjegavajući zlouporabu resursa u scenarijima s više korisnika iz korijena.
-
Izvorna inteligencija: Agent Bucket omogućuje Agentu da izađe iz ograničenja tradicionalnog jednostavnog "pohranjivanja i dohvaćanja" datoteka, dajući Objectu izvornu inteligenciju i učinkovitije podržavajući razvoj Agenta na jednom mjestu. ObjectSet može jednim klikom otvoriti inteligentno indeksiranje, pružajući Agentu izvorne mogućnosti multimodalnog pitanja i odgovora, zamjenjujući mehaničke operacije tradicionalnog Object CRUD-a; čak podržava otvaranje Agentself načina rada jednim klikom, povezujući vektore, znanje, modele i prompt, izravno otkrivajući funkcionalnosti pod-Agenta specifične za scenarij, omogućujući programerima Agenta na višoj razini da se usredotoče na stvaranje glavnog poslovnog tijeka rada, u potpunosti oslobađajući učinkovitost inteligentne monetizacije.
Tehnički izazovi koje donosi eksplozivan rast aplikacija
Agent Bucket pruža programerima aplikacija elegantan i učinkovit način upravljanja podacima stotina milijuna krajnjih korisnika uvođenjem izvornog koncepta ObjectSeta. Digitalna imovina svakog korisnika sigurno je pohranjena u njegovom ekskluzivnom ObjectSetu, prirodno implementirajući izolaciju, naplatu i upravljanje kvotama.
S brzim širenjem opsega aplikacija, složenost upravljanja ogromnim brojem Setova, poteškoće izolacije i fizička uska grla pojavljuju se istovremeno:
-
Problem hijerarhijskog upravljanja velikim brojem korisnika: Kada aplikacija diferencijalno upravlja resursima i značajkama velikog broja korisnika različitih razina, mora sama dizajnirati i implementirati hijerarhijske metapodatke korisnika i povezati prekidače značajki pohrane objekata. Pomoć programerima da elegantno upravljaju hijerarhijom korisnika na izvornom konceptu Seta važna je za ubrzavanje implementacije aplikacija. - Ograničenja kapaciteta jednog klastera: Iako se Agent Bucket logički može neograničeno proširivati, njegovi se metapodaci prema zadanim postavkama pohranjuju u jednom fizičkom klasteru. Kada ukupan broj objekata u bucketu dosegne stotine milijardi ili čak bilijune, fizički kapacitet jednog klastera postaje nepremostiva granica.
-
Problem dijeljenja pristupnih točaka: Raznolikost poslovanja agenta i ogroman broj korisnika donose veće sigurnosne rizike i radijus eksplozije samoj pristupnoj točki. Kako dinamički rasporediti na temelju razlika između velikog broja različitih poslova i korisnika, te ostvariti diferencirane sigurnosne, izolacijske i ubrzavajuće sposobnosti, postaje izazov.
Set Tagging: Hijerarhijsko upravljanje korisnicima putem označavanja
ObjectSet pruža izvorni način upravljanja putem označavanja, omogućujući programerima agenata da jednostavno koriste mogućnost označavanja setova za dovršetak hijerarhijskog upravljanja korisnicima. Programeri mogu definirati razinu korisnika kao oznaku i omogućiti različite kvote i značajke za svaku oznaku. Svi ObjectSetovi označeni ovom oznakom primijenit će odgovarajuće kvote i značajke. Uzmimo za primjer tri razine, V1, V2 i V3:
-
V1: Zadana razina, besplatni korisnici, zadana oznaka za sve ObjectSetove, može se konfigurirati za pohranu najviše 1GiB podataka, javna distribucija ne može premašiti propusnost od 100mbps, a brzina preuzimanja jednog toka kontrolira se na 1mbps;
-
V2: Plaćeni članovi početne razine, konfigurirani za pohranu najviše 10GiB podataka, javna distribucija ne može premašiti propusnost od 10gbps, a brzina preuzimanja jednog toka kontrolira se na 10mbps;
-
V3: Plaćeni članovi visoke razine, osim što pružaju veći kapacitet pohrane i kvote za javnu distribuciju, također podržavaju konfiguraciju za omogućavanje dodatnog ubrzanja javne mreže u lošim uvjetima i ubrzanja medija visokih performansi;
Programeri agenata mogu fleksibilno koristiti V1/V2/V3 označavanje za upravljanje resursima i značajkama s dodanom vrijednošću koje ti korisnici mogu koristiti tijekom različitih razvojnih ciklusa različitih korisnika.

Set Slice: Izvorna izolacija podataka za ogroman broj korisnika
Kada broj Setova unutar Agent Bucketa dosegne stotine milijuna, a broj objekata dosegne stotine milijardi ili bilijune, sama činjenica da su "svi metapodaci jednog Bucketa koncentrirani u jednom KV klasteru" donosi dvostruke rizike kapaciteta i performansi.
Set Slice pruža ideju "logički ne razdvajaj, fizički razdvajaj":
-
Logički gledano, i dalje upravljate samo jednim Agent Bucketom.
-
Fizički, metapodaci se dijele na više Sliceova (odsječaka) na temelju raspona Setova i naziva objekata unutar Setova. Svaki Slice može se pohraniti na različitim klasterima, s prirodnom izolacijom više Setova i horizontalnim proširenjem jednog Seta.

Set Slice je daljnje proširenje i jamstvo mogućnosti ObjectSeta. U pozadini rješava problem neograničenog proširenja fizičkog kapaciteta, istovremeno osiguravajući stabilnost i dosljednost modela upravljanja ObjectSetom na višoj razini.
-
Stabilna granica upravljanja: Čak i ako podaci Agent Bucketa obuhvaćaju više fizičkih klastera, ObjectSet je i dalje jedina osnovna jedinica za dopuštenja, kvote, naplatu i nadzor. Strategije koje su programeri konfigurirali za ObjectSet (kao što su kontrola pristupa, gornja granica kapaciteta) automatski će stupiti na snagu na svim povezanim Sliceovima, bez brige o distribuciji temeljnih podataka.
-
Jedan Set se može linearno proširiti: Kada količina podataka određenog ObjectSeta brzo raste, njegovi će se podaci prirodno distribuirati na više Sliceova. S proširenjem cjelokupnog klastera, kapacitet ObjectSeta također se neprimjetno i linearno povećava. Programeri ne moraju provoditi nikakve destruktivne operacije kao što su razdvajanje ili migracija samog ObjectSeta.
-
Izolacija resursa između Setova: Distribucijom objekata različitih raspona na različite fizičke klastere, SetSlice ostvaruje izolaciju resursa veće dimenzije. U kombinaciji s upravljanjem kvotama ObjectSeta, može se učinkovito spriječiti da rast podataka određenog ObjectSeta "super velikog korisnika" zauzme sve resurse jednog klastera, čime se utječe na stabilnost drugih ObjectSetova i čini ukupni rizik kapaciteta kontroliranim. - Logička ujednačenost i kompatibilnost: Za poslovanje i programere, bez obzira na to koliko Slice-ova postoji u pozadini, oni se uvijek suočavaju s logički ujednačenim Agent Bucket-om. Sve operacije na bucket-ima, ObjectSet-ovima i objektima ostaju nepromijenjene, ostvarujući potpunu transparentnost fizičkog proširenja za aplikacije na višoj razini.
Set AccessPoint: Izolirajte pristupnu točku svakog korisnika
Agent Bucket podržava otvaranje neovisnih pristupnih točaka (neovisnih domena) za svaki ObjectSet, te proširuje diferencirane sigurnosne, izolacijske i ubrzavajuće mogućnosti na pristupnim točkama. Sustav stoga mora podržavati raspoređivanje neovisnih pristupnih točaka na razini milijardi i diferencirane mogućnosti konfiguracije.
Neovisna pristupna domena {$apid}.tos-objectset-ap.volces.com: Dvostupanjska sigurnosna zaštita
-
Prva razina Obscurity (skrivenost): Neovisna poddomena By User/ObjectSet, apid visoke entropije raspršivanja, izuzetno niska vjerojatnost kolizije, nemoguće je pogoditi i iscrpiti specifičan korisnički ulaz s gledišta pristupne domene;
-
Druga razina Containment (ograničenost): Agent programeri koriste sts za distribuciju dozvola pristupa na razini ObjectSet-a, čak i ako sts procuri, može kontrolirati da je njegov opseg pristupa ograničen na ograničeno razdoblje valjanosti određenog ObjectSet-a;
Heuristički sustav raspoređivanja: Izračun strategije raspoređivanja domena na razini milijardi
-
Diferencirana strategija pristupa By user/ObjectSet:tag
-
Više user/ObjectSet automatski se raspršuje na različite javne ulaze, a broj korisnika pogođenih kvarom jednog ulaza je pod kontrolom
-
Elastično raspoređivanje u svim regijama, automatsko dovršavanje pakiranja i premještanja prometa u slučaju kvara/preopterećenja bilo kojeg pojedinačnog ulaza
-
Korisnici distribucije javnog ubrzanja, označite tag ubrzanja javnog prijenosa i automatski rasporedite ulaz za ubrzanje
-
Korisnici javnog rizika, označite tag rizika, automatski rasporedite ulaz za izolaciju javnosti i smanjite kvotu propusnosti javnosti
-
Korisnici unutarnje mreže za prekogranični prijenos, označite tag prekograničnog prijenosa i automatski rasporedite put ubrzanja namjenske linije unutarnje mreže
-
Korisnici lokalnog akceleratora, označite tag akceleratora i automatski montirajte lokalni akcelerator

Od pomoćnika za programiranje do AI oblaka, beskrajne mogućnosti Agent Bucket-a
Agent Bucket pruža savršeno rješenje za Agente, a scenariji primjene dizajna ObjectSet-a daleko su više od toga, može se lako proširiti na sve aplikacije koje trebaju pružati usluge velikom broju krajnjih korisnika:
-
Spremište koda: U prošlosti, kada su tvrtke ili pojedinci hostirali kod u oblaku, često su morali izgraditi "sustav stanara" iznad pohrane objekata kako bi postigli izolaciju računa i kontrolu dozvola. Sada se svakom programeru može dodijeliti ekskluzivni ObjectSet za jedinstveno pohranjivanje spremišta koda, artefakata izgradnje i ovisnosti. Agent Skills također su prirodno prilagođeni ObjectSet-u, a prijenos, preuzimanje i distribucija Skills-a pružaju snažnu izolaciju putem ObjectSet-a, izbjegavajući ometanje susjeda tijekom izvođenja Agenta.
-
Mrežni disk za korporativne albume: Tradicionalne usluge albuma ili mrežnog diska često miješaju fotografije svih korisnika u istom bucket-u i razlikuju korisnike putem prefiksa, što nije samo složeno za upravljanje, već je i sklono "efektu susjeda". Na temelju ObjectSet-a, fotografije i videozapisi svakog korisnika padaju u vlastiti Set, vrhovi pristupa ne ometaju jedni druge, a gornja granica kapaciteta, strategije sigurnosnog kopiranja i metode šifriranja mogu se postaviti prema korisniku, uistinu postižući "svatko ima siguran i kontroliran album u oblaku".
-
Hadoop podatkovno jezero: U korporativnom podatkovnom jezeru, različite poslovne linije i različite baze podataka često dijele resurse na istoj osnovnoj pohrani. Mapiranjem svake baze podataka u ObjectSet, tvrtke mogu postići izolaciju i kontrolu kvota po bazi podataka na jedinstvenoj pohrani. Konkretno, ObjectSet pruža dodatni sloj dozvola na TOS-u, pružajući izolaciju i kontrolu dozvola za baze podataka i tablice pohranjene na TOS-u bez promjene postojećeg Protona na TOS-u. - Platforma za hosting modela: U scenarijima hostinga velikih modela, svaki model nije samo voluminozan, već može imati i različite verzije, težine i konfiguracije zaključivanja. Stvaranjem ObjectSeta za svaki model, težine modela, Tokenizer, konfiguracijske datoteke i povezane podatke evaluacije mogu se pakirati i hostirati u istom prostoru. Operativna strana može postaviti diferencirane strategije šifriranja, strategije sigurnosnog kopiranja i kontrolu propusnosti za različite modele. Istovremeno, putem izvornih mogućnosti mjerenja, može se statistički izračunati stvarni trošak korištenja svakog modela, pružajući osnovu za naplatu i raspoređivanje resursa po dimenziji modela.
-
Data SaaS usluga: Platforma za distribuciju podataka usmjerena na veliki broj krajnjih korisnika često mora istovremeno biti povezana s brojnim pružateljima podataka. Potrebno je osigurati jasne granice podataka svake strane i izbjeći rizik od performansi "jedna velika bačva povlači sve dolje". Uz pomoć Agent Bucketa, svaki pružatelj podataka može imati vlastiti ObjectSet, jedinstveno upravljati izvornim podacima i rezultatima obrade, a zatim putem neovisne domene i propusnosti, QPS kvote, pružiti diferenciranu uslugu i ograničiti protok za različite pružatelje, ostvarujući infrastrukturu za distribuciju podataka "jedna platforma, više pružatelja, međusobno izolirani i kontrolirano surađuju".
Reference:





