Agent Bucket: Almacén nativo para agentes a escala de billones

2/16/2026
20 min read
# Agent Bucket: Almacén nativo para agentes a escala de billones En la actualidad, con el auge de los agentes de IA, los desarrolladores están creando aplicaciones inteligentes e imaginativas a una velocidad sin precedentes. Desde asistentes de programación que te ayudan a escribir código hasta herramientas de creación que generan una película a partir de una sola frase, pasando por asistentes inteligentes personales siempre disponibles, los agentes están remodelando nuestra forma de interactuar con el mundo digital. Detrás de esta ola, un consenso se vuelve cada vez más claro: con la ayuda de la arquitectura Serverless (como Lambda), los modelos de lenguaje grandes (LLM) y el almacenamiento en la nube (como S3, TOS), combinados con Vibe Coding, cualquiera puede construir rápidamente su propio agente de IA en 30 minutos. Desde "funcional" hasta "útil", los desarrolladores de agentes aún necesitan superar las dificultades para pasar de "juguete" a "aplicación de nivel de producción". A medida que el negocio se expande a un gran número de usuarios, los desarrolladores deben enfrentarse a un desafío extremadamente complejo: ¿cómo construir una solución de almacenamiento completa para un gran número de usuarios finales en el almacenamiento de objetos? Para la mayoría de los desarrolladores, esto no es solo una barrera técnica, sino también una brecha que impide la distribución a gran escala de los agentes. Agent Bucket tiene como objetivo simplificar por completo el proceso de construcción de sistemas multiinquilino a través de un diseño de almacenamiento nativo de IA, proporcionando una capacidad de agente más amigable. ## Cuando miles de millones de usuarios se unen, el almacenamiento de objetos tradicional "no es suficiente" Imagina que has desarrollado una aplicación AIGC de gran éxito. Cada usuario generará y almacenará una gran cantidad de imágenes, vídeos y archivos temporales. Como desarrollador, naturalmente elegirás servicios de almacenamiento de objetos maduros y escalables como S3 y TOS. Pero aquí está el problema: ¿cómo gestionar los datos de un gran número de usuarios? En la publicación de blog de S3 de 2022, "Partitioning and Isolating Multi-Tenant SaaS Data with Amazon S3", se describen dos métodos: "usar un bucket S3 independiente para cada inquilino" y "un bucket S3 compartido basado en el aislamiento de prefijos": - Crear un "bucket" independiente para cada usuario: esto es factible cuando hay pocos usuarios, pero cuando el número de usuarios crece a decenas de miles o millones, el número de buckets explotará rápidamente, y los costes de gestión y las limitaciones de recursos serán insoportables. S3 proporciona una cuota total de 10000 buckets en toda la región, pero para las capacidades de IA populares, 10000 no es suficiente. ![AWS S3 Bucket-Per-Tenant Model](https://tipclaw.com/uploads/1771208075148-4pdfcva.png) - Distinguir a los usuarios con "prefijos" en el mismo bucket: esta se ha convertido en la solución principal. Por ejemplo, los archivos del usuario A comienzan con user-a/, y los del usuario B comienzan con user-b/, como gestionar archivos con carpetas en un ordenador. Sin embargo, no existen carpetas nativas en el almacenamiento de objetos, esta solución distingue a los multiinquilinos a través de un "prefijo común" (Prefix) en el sistema de almacenamiento "K-V". ![AWS S3 Object Key Prefix-Per-Tenant Model](https://tipclaw.com/uploads/1771208078370-ite39jn.png) Esta solución basada en "bucket" o "prefijo" se ha utilizado ampliamente durante la última década. Pero existen los siguientes problemas: - Aislamiento multiinquilino: los datos de todos los usuarios se mezclan en el mismo bucket, y una visita anormal de alta frecuencia de un usuario puede afectar a todos los demás usuarios, produciendo un "efecto vecino". El aislamiento del rendimiento y el aislamiento de fallos son imposibles. - Control de permisos: las complejas políticas de permisos (IAM Policy) son difíciles de mantener y es fácil que se produzcan errores de configuración, lo que provoca que los datos de los usuarios sean accedidos accidentalmente, especialmente cuando es necesario interactuar con otros servicios en la nube, el riesgo es mayor. - Claridad de costes: es difícil saber con precisión cuánto espacio de almacenamiento ha consumido cada usuario y cuántos costes de tráfico ha generado. Cuando quieres cobrar a los usuarios de pago en función del uso, la facturación y la medición se convierten en una cuenta confusa.Por qué estas necesidades aparentemente básicas resultan "pesadas" de implementar en el almacenamiento de objetos para los desarrolladores de Agents? Una investigación profunda revela que, en la arquitectura nativa de la nube actual, existe un enorme vacío entre el "almacenamiento de objetos" (S3/TOS) y el "sistema de archivos" tradicional. La esencia del almacenamiento de objetos (S3/TOS) es la "aplanamiento", cuyo propósito original es el almacenamiento simple de grandes cantidades de datos, como un enorme almacén. Aunque la capacidad es casi ilimitada, la estructura lógica es extremadamente simple. Carece de administración de directorios avanzada nativa, control de metadatos de grano fino y verdadera conciencia de inquilinos. Cuando los desarrolladores intentan simular un sistema de archivos multiinquilino "tridimensional" en un S3 "plano" mediante la codificación dura de prefijos, en realidad estamos utilizando un "almacenamiento KV estático" para soportar un método de acceso a archivos de aplicaciones Agent con "semántica de directorio y aislamiento fuerte". Es decir, Agent necesita consumir tokens adicionales para administrar archivos y controlar la resolución de permisos y aislamiento multiinquilino. Estos tokens adicionales consumidos indican que el servicio de almacenamiento simple definido por S3 no es lo suficientemente simple para Agent. S3 Access Points Illustration En la publicación de blog de S3 de 2025, Design patterns for multi-tenant access control on Amazon S3, se explica con más detalle S3 Access Point. Esto significa que se pueden crear múltiples puntos de acceso de red virtual y configurar una política de punto de acceso personalizada para cada punto de acceso, lo que proporciona algunas soluciones para escenarios multiinquilino a nivel de programación de red. ## Agent Wonderland Agent Wonderland Un desarrollador de Agent ideal, al desarrollar un AI Agent, puede construir un Agent completamente serverless basado en "Agent SDK + Almacenamiento + Servicio MaaS": - Agent puede ejecutarse completamente serverless - Puede construir Agent combinando las capacidades de productos existentes a través de Vibe Coding - Solo necesita mantener el script de python "ADK" - El almacenamiento utiliza almacenamiento de objetos - La capacidad de IA utiliza Doubao - Teóricamente, no hay ECS u otros productos basados en instancias Al mismo tiempo, el almacenamiento debe proporcionar las siguientes capacidades: - Agent puede tener un almacenamiento con semántica de objeto (guardar archivos), proporcionar capacidad de acceso multiinquilino, comenzando con millones y escalando a miles de millones - Agent puede proporcionar un espacio independiente para cada usuario (entre múltiples negocios, los negocios o uid pueden tener el mismo nombre) - Agent puede configurar directamente el ancho de banda de cada usuario y configurar el límite superior del tamaño total del objeto de usuario - Agent puede facturar, monitorear y observar según el usuario - Agent puede configurar políticas de acceso para los archivos de cada usuario ## Agent Bucket: Inyectando genes "multiinquilino nativos" en AI Agent Para resolver fundamentalmente este problema, proponemos un nuevo paradigma de almacenamiento de objetos: Agent Bucket. Su innovación central es la introducción de un nuevo nivel de recurso nativo entre el "bucket" y el "objeto" tradicionales: el conjunto de objetos. Agent Bucket Architecture La idea central de este diseño es extremadamente simple: hacer coincidir cada usuario final con un ObjectSet exclusivo. Puede pensar en ObjectSet como una "caja fuerte de datos" o un "espacio personal en la nube" creado para cada usuario. Lógicamente pertenece a su Bucket (desarrollador), pero física y administrativamente, tiene su propia "personalidad" y "ciclo de vida" independientes.Agent Bucket Cada bucket soporta 100 millones de ObjectSet, lo que significa que puedes atender con facilidad a cientos de millones de usuarios finales, como si cada usuario final "viviera" en su propio espacio de almacenamiento independiente, sin tener que preocuparte por la gestión del almacenamiento multi-tenant. ## Diseño de ObjectSet: Capacidades amigables para el Agente En Agent Bucket, ObjectSet no es solo agregar un nivel, sino que convierte las necesidades más complejas en escenarios multi-tenant en capacidades nativas listas para usar. Una vez que la propiedad de los datos se define claramente en el nivel de ObjectSet, una serie de capacidades que antes eran difíciles de implementar se vuelven naturales. - Aislamiento nativo: En el nivel de ObjectSet, puedes establecer QPS, límites de ancho de banda y cuotas de capacidad independientes para cada usuario. La experiencia de los usuarios de pago puede estar garantizada, y el comportamiento anormal de los usuarios gratuitos no afectará a otros. Este es un verdadero aislamiento de dominio de falla, que evita que los "vecinos" interfieran entre sí. - Permisos nativos: Cada ObjectSet puede tener un dominio independiente. Esto significa que puedes darle al usuario A una dirección de acceso exclusiva user-a.yourapp.com, en lugar de exponer el dominio de todo el bucket de almacenamiento. Aún más ingenioso es el diseño de "dos candados": el primer candado es una credencial de acceso temporal (STS) emitida por el proveedor de servicios en la nube, que controla los permisos de acceso a nivel de aplicación; el segundo candado es el dominio independiente de ObjectSet, que bloquea las solicitudes de acceso en el propio espacio de datos del usuario desde el nivel de red. Esto mejora enormemente la seguridad de los datos. - Monitoreo nativo: En el panel de monitoreo, ya no solo puedes ver los datos generales de todo el bucket. Puedes desglosar los gráficos de monitoreo por ObjectSet, para comprender claramente qué usuario final está realizando una gran cantidad de accesos, y así tomar decisiones precisas de operación y optimización. - Descenso de capacidades nativas: Las políticas que antes solo se podían establecer a nivel de bucket ahora se pueden descender a cada usuario. Puedes establecer diferentes ciclos de vida de datos para diferentes niveles de usuarios, o usar diferentes claves de cifrado para cada ObjectSet, para lograr una gestión de datos más granular y segura. - Medición nativa: ¿Quieres saber cuánto espacio de almacenamiento está utilizando cada usuario? ¿Quieres distribuir con precisión los costos de almacenamiento a cada usuario? Ahora se vuelve fácil. Agent Bucket estadísticamente calculará automáticamente la capacidad y el uso de cada ObjectSet, haciendo que tu facturación y distribución sean claras. - Facturación nativa: Los desarrolladores pueden implementar fácilmente la distribución de costos, devolviendo con precisión los costos generados por el almacenamiento a cada usuario final. Por ejemplo, cobrar de manera diferenciada según la proporción de costos reales generados por los diferentes usuarios A, B y C, proporcionando soporte de datos para la comercialización de Agent. - Límite de capacidad nativa: Para controlar los costos operativos de Agent, puedes establecer una cuota (límite de capacidad) para cada ObjectSet. Una vez que se alcanza el valor preestablecido, el sistema restringirá que el usuario continúe generando nuevos archivos, evitando el uso indebido de recursos en escenarios multi-tenant desde la raíz. - Inteligencia nativa: Agent Bucket permite que Agent salga de la simple limitación tradicional de "almacenar y recuperar" archivos, dando a Object inteligencia nativa, y soportando de manera más eficiente el desarrollo integral de Agent. ObjectSet puede activar el índice inteligente con un solo clic, proporcionando a Agent capacidades de preguntas y respuestas multimodales amigables de forma nativa, reemplazando las operaciones mecánicas tradicionales de Object CRUD; incluso soporta la activación del modo Agentself con un solo clic, conectando vectores, conocimiento, modelos y prompts, exponiendo directamente funciones de sub-Agent contextualizadas, permitiendo a los desarrolladores de Agent de nivel superior centrarse en la creación del flujo de trabajo del negocio principal, liberando completamente la eficiencia de la monetización inteligente. ## Desafíos técnicos provocados por el auge de la escala de la aplicación Agent Bucket proporciona a los desarrolladores de aplicaciones una forma elegante y eficiente de gestionar datos de cientos de millones de usuarios finales mediante la introducción del concepto nativo de ObjectSet. Los activos digitales de cada usuario se almacenan de forma segura en su ObjectSet exclusivo, lo que implementa de forma natural el aislamiento, la facturación y la gestión de cuotas. Con la rápida expansión de la escala de la aplicación, la complejidad de la gestión de conjuntos masivos, la dificultad del aislamiento y los cuellos de botella físicos se hacen evidentes al mismo tiempo: - Problema de gestión jerárquica de usuarios masivos: Cuando una aplicación gestiona de forma diferenciada los recursos y características de una gran cantidad de usuarios de diferentes niveles, necesita diseñar e implementar sus propios metadatos jerárquicos de usuario y asociar los interruptores de características de almacenamiento de objetos. Ayudar a los desarrolladores a gestionar de forma elegante la jerarquía de usuarios en el concepto nativo de Set es importante para acelerar la implementación de la aplicación. - Cuello de botella de capacidad de un solo clúster: Aunque Agent Bucket puede escalarse lógicamente de forma ilimitada, sus metadatos se almacenan por defecto en un solo clúster físico. Cuando el número total de objetos en el bucket alcanza cientos de miles de millones o incluso billones, la capacidad física de un solo clúster se convierte en un límite insuperable. - Problema de compartición de puntos de acceso: La diversidad de servicios de Agent y la gran cantidad de usuarios suponen un mayor riesgo de seguridad y radio de explosión para el propio punto de acceso. Cómo realizar una programación dinámica basada en las diferencias entre una gran cantidad de servicios y usuarios diferentes, y cómo lograr capacidades diferenciadas de seguridad, aislamiento y aceleración se convierte en un desafío. ## Set Tagging: Gestión de usuarios por niveles mediante etiquetado ObjectSet proporciona una forma nativa de gestión mediante etiquetado, lo que permite a los desarrolladores de Agent utilizar fácilmente la capacidad de set tagging para completar la gestión por niveles de los usuarios. Los desarrolladores pueden asignar un tag a cada nivel de usuario definido y habilitar diferentes cuotas y características para cada tag. Todos los ObjectSet que tengan este tag aplicado aplicarán las cuotas y características correspondientes. Tomemos como ejemplo los tres niveles V1, V2 y V3: - V1: Nivel predeterminado, usuarios gratuitos, el tag predeterminado para todos los ObjectSet, se puede configurar para almacenar un máximo de 1GiB de datos, la distribución en la red pública no puede exceder los 100mbps de ancho de banda, y la velocidad de descarga de un solo flujo se controla a 1mbps. - V2: Miembros de pago de nivel básico, configurados para almacenar un máximo de 10GiB de datos, la distribución en la red pública no puede exceder los 10gbps de ancho de banda, y la velocidad de descarga de un solo flujo se controla a 10mbps. - V3: Miembros de pago de nivel avanzado, además de proporcionar una mayor capacidad de almacenamiento y cuota de distribución en la red pública, también admite la configuración para habilitar capacidades adicionales de aceleración de red débil en la red pública y aceleración de medios de alto rendimiento. Los desarrolladores de Agent pueden utilizar de forma flexible el tagging V1/V2/V3 para gestionar los recursos y las características de valor añadido que estos usuarios pueden utilizar, en función de los diferentes ciclos de desarrollo de los diferentes usuarios. Set Tagging 用户分级管理 ## Set Slice: Aislamiento nativo de datos de usuarios masivos Cuando el número de Set dentro de un Agent Bucket alcanza cientos de millones, y el número de objetos alcanza cientos de miles de millones o billones, el hecho de que "todos los metadatos de un solo Bucket se concentren en un solo clúster KV" en sí mismo, traerá riesgos duales de capacidad y rendimiento. Set Slice proporciona una idea de "desmontaje lógico, desmontaje físico": - Desde una perspectiva lógica, todavía solo gestionas un Agent Bucket. - Físicamente, según el rango de Set y los nombres de los objetos dentro de Set, los metadatos se dividen en múltiples Slice (segmentos), y cada Slice se puede almacenar en diferentes clústeres. Múltiples Set están naturalmente aislados, y un solo Set se puede escalar horizontalmente. Set Slice 物理拆分 Set Slice es una extensión y garantía adicional de la capacidad de ObjectSet. Resuelve fundamentalmente el problema de la expansión ilimitada de la capacidad física, al tiempo que garantiza la estabilidad y la coherencia del modelo de gestión de ObjectSet de la capa superior. - Límite de gestión estable: Incluso si los datos de un Agent Bucket abarcan múltiples clústeres físicos, ObjectSet sigue siendo la única unidad básica de permisos, cuotas, facturación y supervisión. Las políticas configuradas por los desarrolladores para ObjectSet (como el control de acceso y el límite de capacidad) se aplicarán automáticamente a todos los Slices relacionados, sin necesidad de preocuparse por la distribución de los datos subyacentes. - Un solo Set se puede escalar linealmente: Cuando la cantidad de datos de un ObjectSet crece rápidamente, sus datos se distribuirán naturalmente en múltiples Slices. A medida que se expande el clúster general, la capacidad de este ObjectSet también crece sin problemas y linealmente. Los desarrolladores no necesitan realizar ninguna operación destructiva, como dividir o migrar el propio ObjectSet. - Aislamiento de recursos entre Set: Al distribuir objetos de diferentes rangos en diferentes clústeres físicos, SetSlice logra un aislamiento de recursos de mayor dimensión. Combinado con la gestión de cuotas de ObjectSet, puede prevenir eficazmente que el crecimiento de datos de un ObjectSet "súper grande" exprima todos los recursos de un solo clúster, afectando así la estabilidad de otros ObjectSet, haciendo que el riesgo de capacidad general sea controlable.- Lógica unificada y compatibilidad: Para las empresas y los desarrolladores, independientemente de cuántos Slice haya subyacentes, siempre se enfrentan a un Bucket de Agente lógicamente unificado. Todas las operaciones en buckets, ObjectSets y objetos permanecen sin cambios, logrando una transparencia completa de la expansión física para las aplicaciones de nivel superior. ## Set AccessPoint: Aísla el punto de entrada de cada usuario El Bucket de Agente admite la apertura de puntos de acceso independientes (dominios independientes) para cada ObjectSet, y extiende capacidades diferenciadas de seguridad, aislamiento y aceleración en los puntos de acceso. El sistema necesita admitir la programación de puntos de acceso independientes a nivel de mil millones y capacidades de configuración diferenciadas. Dominio de acceso independiente {$apid}.tos-objectset-ap.volces.com: Protección de seguridad de dos niveles - Primer nivel Obscurity (ocultamiento): Subdominio independiente By User/ObjectSet, dispersión de alta entropía apid, probabilidad de colisión extremadamente baja, es imposible adivinar y agotar el punto de entrada de un usuario específico desde el punto de vista del dominio de acceso; - Segundo nivel Containment (contención): Los desarrolladores de Agent usan sts para distribuir permisos de acceso a nivel de ObjectSet, incluso si sts se filtra, puede controlar su rango de acceso limitado a una validez limitada de un ObjectSet determinado; Sistema de programación heurística: Cálculo de la política de programación de dominios a nivel de mil millones - Política de acceso diferenciada By user/ObjectSet:tag - Múltiples user/ObjectSet se dispersan automáticamente en diferentes puntos de entrada de la red pública, el número de usuarios afectados por una sola falla de entrada está controlado - Programación elástica en toda la región, la falla/sobrecarga de cualquier entrada única completa automáticamente el movimiento de empaquetado del tráfico - user de clase de distribución de aceleración de red pública, marca la etiqueta de aceleración de transmisión de red pública, programa automáticamente la entrada de aceleración - user de clase de riesgo de red pública, marca la etiqueta de riesgo, programa automáticamente la entrada de aislamiento de red pública y reduce la cuota de ancho de banda de red pública - user de clase de dominio cruzado de red interna, marca la etiqueta de dominio cruzado, programa automáticamente la ruta de aceleración de línea dedicada de red interna - user de acelerador local, marca la etiqueta de acelerador, monta automáticamente el acelerador local ![Sistema de programación Set AccessPoint](https://tipclaw.com/uploads/1771208091641-dzk8z86.png) ## Desde el asistente de programación hasta el disco en la nube AI, las infinitas posibilidades del Bucket de Agente El Bucket de Agente proporciona una solución completa para el Agente, y el diseño de ObjectSet tiene escenarios de aplicación que van mucho más allá de esto, se puede extender fácilmente a todas las aplicaciones que necesitan proporcionar servicios a una gran cantidad de usuarios finales: - Repositorio de código: En el pasado, cuando las empresas o los individuos alojaban código en la nube, a menudo necesitaban construir una capa de "sistema de inquilinos" sobre el almacenamiento de objetos para lograr el aislamiento de la cuenta y el control de permisos. Ahora, se puede asignar un ObjectSet exclusivo a cada desarrollador para recopilar de forma unificada el repositorio de código, los artefactos de compilación y las dependencias. Agent Skills también se adapta naturalmente a ObjectSet, la carga, descarga y distribución de Skills proporciona un fuerte aislamiento a través de ObjectSet, evitando la perturbación del vecindario en tiempo de ejecución del Agente. - Disco en la nube de álbumes de fotos empresariales: Los servicios tradicionales de álbumes de fotos o discos en la nube a menudo mezclan las fotos de todos los usuarios en el mismo bucket, y distinguen a los usuarios por prefijos, lo que no solo es complejo de administrar, sino que también es propenso al "efecto vecino". Basado en ObjectSet, las fotos y videos de cada usuario se encuentran en sus respectivos Sets, los picos de acceso no interfieren entre sí, y también puede establecer límites de capacidad, políticas de respaldo y métodos de encriptación por usuario, realmente logrando que "todos tengan un álbum de fotos en la nube seguro y controlable". - Almacén de datos Hadoop: En el almacén de datos empresariales, diferentes líneas de negocio y diferentes bases de datos a menudo comparten recursos en el mismo almacenamiento subyacente. Al asignar cada base de datos a un ObjectSet, las empresas pueden implementar el aislamiento y el control de cuotas por base de datos sobre un almacenamiento unificado. En particular, ObjectSet proporciona una capa adicional de permisos en TOS, y proporciona aislamiento y control de permisos para las Database y Tables almacenadas en TOS sin cambiar el Proton existente en TOS. - Plataforma de alojamiento de modelos: En escenarios de alojamiento de modelos grandes, cada modelo no solo es voluminoso, sino que también puede corresponder a diferentes versiones, pesos y configuraciones de inferencia. Crear un ObjectSet para cada modelo permite empaquetar y alojar los pesos del modelo, el Tokenizer, los archivos de configuración y los datos de evaluación relacionados en el mismo espacio. El equipo de operaciones puede establecer políticas de cifrado, políticas de respaldo y control de ancho de banda diferenciados para diferentes modelos. Al mismo tiempo, a través de la capacidad de medición nativa, se pueden calcular los costos reales de uso de cada modelo, proporcionando una base para la facturación y la programación de recursos por dimensión de modelo. // *Esto facilita la gestión y el control de costos para cada modelo individual.* - Servicio de datos SaaS: Las plataformas de distribución de datos orientadas a un gran número de usuarios finales a menudo necesitan conectarse simultáneamente con muchos proveedores de datos, lo que requiere garantizar límites de datos claros para cada parte y evitar el riesgo de rendimiento de "un gran barril que arrastra a todos". Con Agent Bucket, cada proveedor de datos puede tener su propio ObjectSet, gestionando de forma unificada los datos originales y los resultados del procesamiento. A través de dominios y anchos de banda independientes, así como cuotas de QPS, se pueden proporcionar garantías de servicio y limitación de velocidad diferenciadas para diferentes proveedores, logrando una infraestructura de distribución de datos de "una plataforma, múltiples proveedores, aislados entre sí y con colaboración controlable". // *Esto permite una gestión eficiente y segura de los datos de múltiples proveedores en una sola plataforma.* Referencia: - https://aws.amazon.com/cn/blogs/apn/partitioning-and-isolating-multi-tenant-saas-data-with-amazon-s3/ - https://aws.amazon.com/cn/blogs/storage/design-patterns-for-multi-tenant-access-control-on-amazon-s3/
Published in Technology

You Might Also Like