Agent Bucket: Agent-ов Оригинални Кофи на Ниво Трилиони
Agent Bucket: Agent-ов Оригинални Кофи на Ниво Трилиони
Во денешно време, кога AI Agent-ите никнуваат како печурки по дожд, програмерите градат интелигентни апликации полни со имагинација со невидена брзина. Од асистенти за програмирање кои можат да ви помогнат да пишувате код, до алатки за креирање кои генерираат филм од една реченица, до лични интелигентни асистенти кои се секогаш на готовс, Agent-ите го преобликуваат начинот на кој комуницираме со дигиталниот свет. Зад овој бран, консензусот станува сè појасен: со помош на Serverless архитектура (како Lambda), големи јазични модели (LLM) и складирање во облак (како S3, TOS), во комбинација со Vibe Coding, секој може брзо да изгради свој AI Agent за 30 минути.
Од „употребливо“ до „лесно за употреба“, Agent програмерите сè уште треба да надминат тешкотии при преминот од „играчка“ во „апликација од производствен степен“. Како што бизнисот се движи кон огромен број корисници, програмерите мора да се соочат со исклучително сложен предизвик: како да се изгради комплетно решение за складирање за огромен број крајни корисници на складирање на објекти? За повеќето програмери, ова не е само техничка бариера, туку и јаз што ја попречува дистрибуцијата на Agent-и во голем обем. Agent Bucket има за цел целосно да го поедностави процесот на градење системи со повеќе корисници преку дизајн на складирање со AI и да обезбеди попријателски Agent способности.
Кога ќе навалат милиони корисници, традиционалното складирање на објекти „не е доволно“
Замислете дека сте развиле популарна AIGC апликација. Секој корисник ќе генерира и складира голем број слики, видеа и привремени датотеки. Како програмер, природно ќе изберете зрели и скалабилни услуги за складирање објекти како S3 и TOS. Но, еве го проблемот: како да управувате со податоците за огромен број корисници?
Блогот на S3 од 2022 година, „Partitioning and Isolating Multi-Tenant SaaS Data with Amazon S3“, опишува два методи, „користење на посебна S3 кофа за секој корисник“ и „споделена S3 кофа изолирана врз основа на префикс“:
- Создавање посебна „кофа“ (Bucket) за секој корисник: ова е изводливо кога има мал број корисници, но кога бројот на корисници ќе порасне на десетици илјади, милиони, бројот на кофи брзо ќе експлодира, а трошоците за управување и ограничувањата на ресурсите ќе станат неподносливи. S3 обезбедува вкупна квота од 10.000 кофи за целиот регион, но за жешките AI способности, 10.000 се далеку од доволно.

- Користење на „префикс“ за да се разликуваат корисниците во иста кофа: ова стана главно решение. На пример, датотеките на корисникот A започнуваат со user-a/, а датотеките на корисникот B започнуваат со user-b/, исто како да управувате со датотеки со папки на компјутер. Меѓутоа, складирањето на објекти нема оригинални папки, ова решение е да се разликуваат повеќе корисници преку „заеднички префикс“ (Prefix) во системот за складирање „K-V“.

Ова решение засновано на „кофа“ или „префикс“ е широко усвоено во изминатите десет години. Но, постојат следниве проблеми:
-
Изолација на повеќе корисници: податоците на сите корисници се мешаат во иста кофа, а абнормално високофреквентен пристап на еден корисник може да влијае на сите други корисници, создавајќи „ефект на сосед“. Изолацијата на перформансите и изолацијата на дефекти се невозможни.
-
Контрола на дозволи: сложените политики за дозволи (IAM Policy) се тешки за одржување и лесно може да се појават грешки во конфигурацијата, што доведува до случаен пристап до корисничките податоци, особено кога е потребно да се комуницира со други услуги во облак, ризикот е поголем.
-
Јасност на трошоците: тешко е прецизно да се знае колку простор за складирање потрошил секој корисник и колку трошоци за сообраќај генерирал. Кога сакате да наплаќате на платени корисници врз основа на употреба, фактурирањето и мерењето стануваат нејасни.

Блогот на S3 од 2025 година, 《Design patterns for multi-tenant access control on Amazon S3》, понатаму го објаснува S3 Access Point. Ова значи дека може да се креираат повеќе виртуелни точки за пристап до мрежата и да се конфигурира приспособена политика за пристап за секоја точка за пристап, што има некои решенија за сценарија со повеќе закупувачи на ниво на мрежно закажување.
Agent Wonderland
Идеален развивач на Agent може да изгради целосно serverless Agent врз основа на "Agent SDK + складирање + MaaS услуга" кога развива AI Agent:
-
Agent може да работи целосно serverless
-
Може да се конструира Agent со комбинирање на постоечките можности на производот преку Vibe Coding
-
Треба само да се одржува python скриптата на "ADK"
-
Складирањето користи објектно складирање
-
AI можностите користат Doubao
-
Теоретски нема ECS или други производи од типот на инстанца
Во исто време, складирањето треба да ги обезбеди следните можности:
-
Agent може да има складирање со семантика на објект (зачувување датотеки), да обезбеди можност за пристап на повеќе закупувачи, почнувајќи од милион и може да се прошири до милијарда
-
Agent може да обезбеди независен простор за секој корисник (помеѓу повеќе услуги, имињата на услугите или uid може да се дуплираат)
-
Agent може директно да го конфигурира пропусниот опсег на секој корисник, да ја конфигурира горната граница на вкупната големина на објектот на корисникот
-
Agent може да фактурира, следи и набљудува според корисникот
-
Agent може да конфигурира политики за пристап за датотеките на секој корисник
Agent Bucket: Вбризгување на "мајчин повеќе закупувачи" гени во AI Agent
За да се реши овој проблем од корен, предлагаме сосема нова парадигма за објектно складирање - Agent Bucket. Нејзината основна иновација е воведување на ново ниво на мајчин ресурс помеѓу традиционалните "кофи" и "објекти": збир на објекти.
Основната идеја на овој дизајн е исклучително едноставна: на секој ваш краен корисник му доделувате ексклузивен ObjectSet. Можете да го замислите ObjectSet како "сеф за податоци" или "личен простор во облак" дизајниран за секој корисник. Логички припаѓа на вашата (развивач) Bucket, но физички и управувачки, има своја независна "личност" и "животен циклус".## Дизајн на ObjectSet - можности пријателски за Agent
ObjectSet во Agent Bucket не е само додавање на ниво, туку ги претвора најтешките потреби во сценарија со повеќе корисници во готови, природни можности. Кога сопственоста на податоците е јасно дефинирана на ниво на ObjectSet, низа можности кои тешко се остваруваа во минатото стануваат природни.
-
Природна изолација: На ниво на ObjectSet, можете да поставите независни QPS, ограничувања на пропусниот опсег и квоти за капацитет за секој корисник. Искуството на корисниците кои плаќаат може да се гарантира, а абнормалното однесување на бесплатните корисници нема да влијае на другите. Ова е вистинска изолација на домените на дефекти, што им овозможува на "соседите" повеќе да не се мешаат едни со други.
-
Природни дозволи: Секој ObjectSet може да има независна домен. Ова значи дека можете да му дадете на корисникот A ексклузивна адреса за пристап user-a.yourapp.com, наместо да го изложувате доменот на целиот бакет за складирање. Уште погенијален е дизајнот со "две брави": првата брава е привремена акредитација за пристап издадена од провајдерот на услуги во облак (STS), која ги контролира дозволите за пристап на ниво на апликација; втората брава е независна домен на ObjectSet, која ги заклучува барањата за пристап во сопствениот простор за податоци на корисникот од мрежно ниво. Ова значително ја подобрува безбедноста на податоците.
-
Природен мониторинг: На контролната табла за мониторинг, повеќе не можете да ги видите само прегледните податоци за целиот бакет. Можете да ги разложите графиконите за мониторинг by-ObjectSet, јасно да видите кој краен корисник врши голем број пристапи и да донесете прецизни одлуки за работа и оптимизација.
-
Природно спуштање на можностите: Политиките кои во минатото можеа да се поставуваат само на ниво на бакет, сега можат да се спуштат до секој корисник. Можете да поставите различни животни циклуси на податоци за корисници од различни нивоа, или да користите различни клучеви за шифрирање за секој ObjectSet, за да постигнете попрецизно и побезбедно управување со податоците.
-
Природно мерење: Сакате да знаете колку простор за складирање користи секој корисник? Сакате прецизно да ги поделите трошоците за складирање на секој корисник? Сега тоа е лесно. Agent Bucket автоматски ќе го статистички пресмета капацитетот и употребата на секој ObjectSet, што ќе ги направи вашите фактури и поделби јасни.
-
Природно фактурирање: Развивачите можат лесно да ја реализираат поделбата на трошоците и прецизно да ги вратат трошоците генерирани од складирањето на секој краен корисник. На пример, диференцирано наплаќање според реалните пропорции на трошоци генерирани од различни корисници A, B и C, обезбедувајќи поддршка на податоци за комерцијализација на Agent.
-
Природен лимит на капацитет: За да ги контролирате оперативните трошоци на Agent, можете да поставите Quota (лимит на капацитет) за секој ObjectSet. Откако ќе се достигне претходно поставената вредност, системот ќе го ограничи корисникот да продолжи да генерира нови датотеки, избегнувајќи ја злоупотребата на ресурси во сценарија со повеќе корисници од самиот корен.
-
Природна интелигенција: Agent Bucket му овозможува на Agent да излезе од ограничувањата на едноставното "складирање и пристап" на традиционалните датотеки, давајќи му на Object природна интелигенција и поефикасно да ја поддржува едношалтерската разработка на Agent. ObjectSet може да отвори интелигентно индексирање со еден клик, обезбедувајќи му на Agent природно пријателски можности за мултимодални прашања и одговори, заменувајќи ги механичките операции на традиционалниот Object CRUD; дури и поддржува отворање на режимот Agentself со еден клик, поврзувајќи вектори, знаење, модели и prompt, директно откривајќи ги функционалностите на под-Agent засновани на сценарија, овозможувајќи им на развивачите на Agent од повисоко ниво да се фокусираат на создавање работни текови на главниот бизнис и целосно да ја ослободат ефикасноста на монетизацијата на интелигенцијата.
Технички предизвици предизвикани од експлозијата на обемот на апликациите
Со воведување на природниот концепт ObjectSet, Agent Bucket им обезбедува на развивачите на апликации елегантен и ефикасен начин за управување со податоците на стотици милиони крајни корисници. Дигиталните средства на секој корисник се безбедно складирани во нивниот ексклузивен ObjectSet, природно реализирајќи изолација, фактурирање и управување со квоти.
Со брзата експанзија на обемот на апликациите, истовремено се појавуваат сложеноста на управувањето со огромниот број Set-ови, тешкотиите во изолацијата и физичките тесни грла:
-
Проблем со управување со огромниот број корисници по нивоа: Кога апликацијата диференцирано управува со ресурсите и карактеристиките на голем број корисници од различни нивоа, таа треба сама да дизајнира и имплементира метаподатоци за нивоата на корисниците и да ги поврзе прекинувачите за карактеристиките на складирањето на објекти. Помагањето на развивачите елегантно да управуваат со нивоата на корисниците врз основа на природниот концепт на Set е важно за забрзување на имплементацијата на апликациите.- Тесно грло на капацитетот на еден кластер: Иако Agent Bucket логички може бесконечно да се проширува, неговите метаподатоци стандардно се складираат во еден физички кластер. Кога вкупниот број на објекти во бакетот ќе достигне стотици милијарди или дури трилиони, физичкиот капацитет на еден кластер станува непремостлива граница.
-
Проблем со споделување на пристапни точки: Разновидноста на бизнисите на Agent и огромниот број корисници носат поголеми безбедносни ризици и радиус на експлозија на самата пристапна точка. Како да се направи динамичко распоредување според разликите помеѓу голем број различни бизниси и корисници, и да се реализираат диференцирани безбедносни, изолациски и способности за забрзување, станува тешкотија.
Set Tagging: Тагирање за управување со корисничка категоризација
ObjectSet обезбедува природен начин на управување со тагирање, овозможувајќи им на развивачите на Agent лесно да ја користат способноста за set tagging за да го завршат управувањето со категоризацијата на корисниците; развивачите можат да доделат tag на секое дефинирано ниво на корисник и да овозможат различни квоти и карактеристики за секој tag, а сите ObjectSet-ови означени со овој tag ќе ги применат соодветните квоти и карактеристики. Да земеме како пример три нивоа, V1, V2 и V3:
-
V1: Стандардно ниво, бесплатни корисници, стандарден tag за сите ObjectSet-ови, може да се конфигурира да складира најмногу 1GiB податоци, дистрибуцијата на јавна мрежа не може да надмине пропусен опсег од 100mbps, а брзината на преземање на еден поток е контролирана на 1mbps;
-
V2: Платени членови од почетно ниво, конфигурирани да складираат најмногу 10GiB податоци, дистрибуцијата на јавна мрежа не може да надмине пропусен опсег од 10gbps, а брзината на преземање на еден поток е контролирана на 10mbps;
-
V3: Платени членови од високо ниво, покрај обезбедувањето поголеми квоти за складирање и дистрибуција на јавна мрежа, исто така поддржуваат конфигурација за овозможување дополнително забрзување на слаба мрежа на јавна мрежа и можности за забрзување на медиуми со високи перформанси;
Развивачите на Agent можат флексибилно да користат V1/V2/V3 tagging за да управуваат со ресурсите и карактеристиките со додадена вредност што овие корисници можат да ги користат, со оглед на различните циклуси на развој на различни корисници.

Set Slice: Природна изолација на огромни количини на кориснички податоци
Кога Set во Agent Bucket ќе достигне ниво од стотици милиони, а бројот на објекти ќе достигне стотици милијарди или трилиони, самиот факт дека „сите метаподатоци на еден Bucket се концентрирани во еден KV кластер“ ќе донесе двоен ризик од капацитет и перформанси.
Set Slice обезбедува идеја за „логичко нераздвојување, физичко раздвојување“:
-
Логички гледано, сè уште управувате само со еден Agent Bucket.
-
Физички, според опсегот на Set и имињата на објектите во Set, метаподатоците се поделени на повеќе Slice (парчиња), а секој Slice може да се складира на различни кластери, со природна изолација на повеќе Set-ови и хоризонтално проширување на еден Set.

Set Slice е понатамошно проширување и гаранција за способноста ObjectSet. Тој го решава проблемот со неограничено физичко проширување на основното ниво, додека ја обезбедува стабилноста и конзистентноста на горниот модел за управување со ObjectSet.
-
Стабилна граница на управување: Дури и ако податоците на Agent Bucket се протегаат на повеќе физички кластери, ObjectSet сè уште е единствената основна единица за дозволи, квоти, наплата и мониторинг. Политиките конфигурирани од развивачите за ObjectSet (како што се контрола на пристап, ограничување на капацитет) автоматски ќе стапат на сила на сите релевантни Slices, без да се грижите за дистрибуцијата на основните податоци.
-
Еден Set може линеарно да се проширува: Кога количината на податоци на одреден ObjectSet брзо расте, неговите податоци природно ќе се дистрибуираат на повеќе Slices. Со проширувањето на целокупниот кластер, капацитетот на ObjectSet исто така беспрекорно и линеарно се зголемува, а развивачите не треба да вршат никакви деструктивни операции како што се раздвојување или миграција на самиот ObjectSet.
-
Изолација на ресурси помеѓу Set-ови: Со дистрибуирање на објекти од различни опсези на различни физички кластери, SetSlice постигнува повисока димензија на изолација на ресурси. Во комбинација со управувањето со квоти на ObjectSet, може ефикасно да се спречи растот на податоците на одреден ObjectSet „супер голем корисник“ да ги зафати сите ресурси на еден кластер, со што ќе се влијае на стабилноста на другите ObjectSet-ови, правејќи го целокупниот ризик од капацитет контролиран.- Логичка униформност и компатибилност: За бизнисите и програмерите, без оглед на тоа колку парчиња има во основата, тие секогаш се соочуваат со логички унифициран Agent Bucket. Сите операции на кофи, ObjectSet и објекти остануваат непроменети, реализирајќи целосна транспарентност на физичката експанзија за горните апликации.
Set AccessPoint: Изолирајте го влезот за пристап на секој корисник
Agent Bucket поддржува отворање на независни точки за пристап (независни домени) за секој ObjectSet и проширување на диференцирани безбедносни, изолациски и забрзувачки способности на точките за пристап. За ова, системот треба да поддржува распоредување на независни точки за пристап на ниво на милијарди и диференцирани способности за конфигурација.
Независен домен за пристап {$apid}.tos-objectset-ap.volces.com: Двостепена безбедносна заштита
-
Прво ниво Obscurity (скриеност): Независен поддомен By User/ObjectSet, apid хаш со висока ентропија, исклучително ниска веројатност за судир, не може да се погоди и исцрпи специфичен влез за корисник од аголот на доменот за пристап;
-
Второ ниво Containment (ограничување): Програмерите на агенти користат sts за да дистрибуираат дозволи за пристап на ниво на ObjectSet. Дури и ако sts протече, опсегот на неговиот пристап може да се контролира и да биде ограничен на ограничен период на важење на одреден ObjectSet;
Евристички систем за распоредување: Пресметка на стратегија за распоредување на домени на ниво на милијарди
-
Диференцирана стратегија за пристап By user/ObjectSet:tag
-
Повеќе корисници/ObjectSet автоматски се расфрлаат на различни јавни влезови, а бројот на корисници погодени од дефект на еден влез е контролиран
-
Еластично распоредување во сите региони, секој дефект/преоптоварување на еден влез автоматски го комплетира движењето на товарот
-
Корисници од типот на дистрибуција со забрзување на јавен интернет, означете ги со tag за забрзување на преносот на јавен интернет и автоматски распоредете го влезот за забрзување
-
Корисници од типот на ризик на јавен интернет, означете ги со tag за ризик, автоматски распоредете го влезот за изолација на јавен интернет и намалете ја квотата за пропусен опсег на јавен интернет
-
Корисници од типот на внатрешна мрежа меѓу домени, означете ги со tag за меѓу домени, автоматски распоредете ја патеката за забрзување на посветена линија на внатрешна мрежа
-
Корисници на локален акцелератор, означете ги со tag за акцелератор, автоматски монтирајте локален акцелератор

Од помошник за програмирање до AI Cloud Disk, неограничени можности на Agent Bucket
Agent Bucket обезбедува комплетно решение за Agent, а сценаријата за дизајн на ObjectSet се многу повеќе од тоа. Лесно може да се прошири на сите апликации кои треба да обезбедат услуги за огромен број крајни корисници:
-
Складиште за код: Во минатото, кога компаниите или поединците хостираа код во облакот, честопати требаше да изградат „систем за закупци“ над складиштето на објекти за да постигнат изолација на сметките и контрола на дозволите. Сега, на секој програмер може да му се додели ексклузивен ObjectSet за да ги собере складиштето за код, артефактите за градење и зависностите. Agent Skills природно се прилагодува на ObjectSet. Поставувањето, преземањето и дистрибуцијата на Skills обезбедуваат силна изолација преку ObjectSet, избегнувајќи мешање на Agent за време на извршувањето.
-
Мрежен диск за корпоративни албуми: Традиционалните услуги за албуми или мрежни дискови често ги мешаат фотографиите на сите корисници во иста кофа и ги разликуваат корисниците преку префикси. Ова не само што е комплицирано за управување, туку и лесно може да предизвика „ефект на сосед“. Врз основа на ObjectSet, фотографиите и видеата на секој корисник се наоѓаат во нивниот сопствен Set. Врвовите на пристап не се мешаат едни со други. Можете исто така да поставите ограничувања на капацитетот, стратегии за резервна копија и методи за шифрирање според корисникот, за навистина да постигнете „секој има безбеден и контролиран облачен албум“.
-
Hadoop Data Warehouse: Во корпоративните складишта за податоци, различни деловни линии и различни бази на податоци често споделуваат ресурси на иста основна меморија. Со мапирање на секоја база на податоци во ObjectSet, компаниите можат да постигнат изолација и контрола на квотите по база на податоци над унифицираното складиште. Особено, ObjectSet обезбедува дополнителен слој на дозволи на TOS, обезбедувајќи изолација и контрола на дозволите за базите на податоци и табелите складирани на TOS без да се менува постоечкиот Proton on TOS.- Платформа за хостирање модели: Во сценаријата за хостирање големи модели, секој модел не само што е огромен по големина, туку може да одговара и на различни верзии, тежини и конфигурации за заклучување. Создавањето ObjectSet за секој модел овозможува пакување и хостирање на тежините на моделот, Tokenizer, конфигурациските датотеки и поврзаните податоци за евалуација во ист простор. Од оперативна страна, може да се постават диференцирани стратегии за шифрирање, стратегии за резервна копија и контрола на пропусниот опсег за различни модели. Во исто време, преку можностите за природно мерење, може да се статистички пресметаат реалните трошоци за користење на секој модел, обезбедувајќи основа за наплата и распоредување на ресурси по димензија на модел.
-
Data SaaS услуга: Платформите за дистрибуција на податоци кои се насочени кон огромен број крајни корисници честопати треба да се поврзат со многу даватели на податоци во исто време. Тие мора да обезбедат јасни граници на податоците на секоја страна и да избегнат ризик од перформанси „една голема кофа ги влече сите надолу“. Со помош на Agent Bucket, секој давател на податоци може да има свој ObjectSet, унифицирано управувајќи со оригиналните податоци и резултатите од обработката. Потоа, преку независни домени и пропусен опсег, QPS квоти, може да се обезбеди диференцирана услуга и ограничување на протокот за различни даватели, реализирајќи инфраструктура за дистрибуција на податоци „една платформа, повеќе даватели, меѓусебно изолирани и контролирано соработуваат“.
Reference:





