AI News HubLIVE
站内改写2 分钟阅读

使用Amazon Bedrock AgentCore构建多租户代理

本文探讨了使用Amazon Bedrock AgentCore构建多租户代理应用程序的设计考虑因素,包括租户隔离模式、身份管理、数据隔离和成本归属等架构挑战。

来源AWS Machine Learning Blog作者: Dhawalkumar Patel

软件即服务(SaaS)提供商在构建多租户代理应用程序时,面临着超越安全、治理和响应准确性等典型问题的架构挑战,包括租户隔离、租户身份、租户可观测性、数据隔离、成本归属和嘈杂邻居缓解。从工作演示到生产部署的差距需要为多租户环境构建的基础设施。

Amazon Bedrock AgentCore是一个托管的无服务器服务,用于在AWS上构建、部署和安全运营代理应用程序。它提供了部署代理和托管MCP服务器的构造,内置了对身份管理、内存、可观测性和评估的支持,所有这些都旨在使多租户代理架构易于构建。

本文是该系列博客的第一部分,探讨了使用Amazon Bedrock AgentCore构建多租户代理应用程序的设计考虑因素以及解决SaaS架构挑战所需的框架。

构建安全的多租户代理应用程序需要跨关键组件的仔细架构决策。每个组件必须在租户隔离、运营效率和成本优化之间取得平衡,同时保持安全和合规标准。这些设计考虑围绕三种租户隔离模式:Silo、Pool和Bridge,分级策略是选择模式时的关键考虑因素。

  1. 代理运行时部署:专用与共享。多租户代理架构中的一个关键决策是代理运行时相对于租户的配置方式。每个租户的专用运行时实例化一个单独的执行环境,提供最强的嘈杂邻居保护和简化的合规审计。共享运行时将所有租户的代理托管在同一个容器镜像和进程池中,降低基础设施成本和运营开销,但需要严格的进程内租户上下文传播。Amazon Bedrock AgentCore运行时通过基于会话隔离的微VM计算解决了这一矛盾,每个会话携带自己的持久文件系统,减少跨会话数据泄露的风险。
  1. 共享模型与分等级模型与微调模型。共享基础模型(FM)是大多数多租户部署的推荐起点,提供单一模型维护的简化运营。按租户等级选择模型允许灵活性和平衡成本、性能和准确性。租户特定的微调模型对于需要特定术语、法规合规或性能SLA的用例是必要的,但会引入更高的运营复杂性。混合方法有助于平衡成本效率和定制需求。
  1. 工作流:Silo、Pool和Bridge模式。多租户代理应用程序需要灵活的工作流管理,其中每个代理根据租户要求和业务逻辑执行不同的步骤序列。Silo模式使用专用的租户特定技能,提供最大定制和完全独立性。Pool模式使用共享的代理技能。Bridge模式将通用工作流步骤嵌入共享的代理技能,这些技能在运行时调用特定于租户的技能,以实现业务关键逻辑。
  1. 多租户RAG。检索增强生成(RAG)系统需要数据隔离决策。Silo模式使用每个租户专用的向量数据库,提供最大安全性。Pool模式使用共享向量数据库和基于元数据的租户过滤,支持服务许多中小型租户的SaaS平台的成本高效运营。Amazon Bedrock知识库提供完全托管的RAG能力,支持创建隔离或共享的向量数据库。
  1. 租户上下文、代表行为模式与令牌传播。多租户身份管理需要在服务链中仔细处理租户上下文。与确定性的软件API不同,AI代理是非确定性的且可能自主,这使得安全考虑有所不同。建议使用代表行为(委托)模式,实现真正的委托,令牌在每个服务边界被转换,具有范围限制的凭证。AgentCore身份中的代表令牌交换使代理能够代表经过身份验证的用户访问受保护的资源。
  1. MCP工具和API的细粒度访问控制。多租户代理应用程序需要使用策略限制MCP服务器访问,在工具调用层进行细粒度访问控制,并在数据访问层进行租户隔离。AgentCore策略在允许工具访问之前拦截并评估所有代理请求,提供基于用户身份和工具输入参数的细粒度控制。

总之,使用Amazon Bedrock AgentCore构建多租户代理需要综合考虑运行时部署、模型选择、工作流设计、RAG策略、身份管理和访问控制等方面,以构建安全、可扩展且高效的SaaS代理应用。