创建多代理协作 - Amazon Bedrock

创建多代理协作

创建多代理协作的过程包括以下步骤:

  1. 创建和部署合作代理。确保将每个合作代理配置为在多代理协作工作流中实施特定任务。

  2. 创建新的主管代理或向现有代理分配主管角色。创建新主管代理或将现有代理标识为主管代理时,您还可以指定希望主管代理如何在多个合作代理之间处理信息。

    您可以向主管代理分配来自合作代理的响应的协调任务,也可以向主管代理分配任务,将信息路由到合适的合作代理以发送最终响应。向主管代理分配路由信息的任务后,即可减少延迟。

  3. 将合作代理的别名版本与主管代理相关联。

    注意

    目前,您最多可将 10 个合作代理与主管代理相关联。

  4. 准备并测试您的多代理协作团队。

  5. 部署和调用主管代理。

您可以在 Amazon Bedrock 控制台中、使用 API、使用 AWS CLI 或使用 AWS SDK,创建多代理协作。要了解如何创建多代理协作,请选择与您的首选方法对应的选项卡,然后按照以下步骤操作:

Console
步骤 1:创建合作代理
步骤 2:创建新的主管代理或向现有代理分配主管角色
  1. 如果您要创建新的主管代理,请按照说明来手动创建和配置代理,然后继续下一步。

    如果您已经配置代理并希望向该代理分配主管角色,请继续下一步。

  2. 如果您尚未进入代理生成器,请执行以下操作:

    1. 采用有权使用 Amazon Bedrock 控制台的 IAM 身份登录 AWS 管理控制台。然后,通过以下网址打开 Amazon Bedrock 控制台:https://console.aws.amazon.com/bedrock

    2. 从左侧导航窗格中选择代理。然后,在代理部分选择一个代理。

    3. 选择在代理生成器中编辑

    4. 代理生成器中,向下滚动到多代理协作部分,然后选择编辑

  3. 多代理协作页面的协作状态部分,打开多代理协作。这会将代理标识为主管代理。

  4. 协作配置部分,选择您希望主管代理如何在多个合作代理之间处理信息来协调最终的响应。

    1. 如果您希望主管代理协调来自合作代理的响应,请选择主管

    2. 如果您希望主管代理将信息路由到相应的合作代理,由合作代理发送最终响应,请选择有路由功能的主管

    3. 继续执行后续步骤来添加合作代理。

步骤 3:添加合作代理
  1. 展开代理合作者部分,提供您为多代理协作创建的合作代理的详细信息。

    1. 对于合作代理,请从下拉列表中选择合作代理和代理别名。您可以选择查看来查看合作代理的详细信息。

    2. 合作者姓名中,输入合作代理的备用名。此名称不会取代该代理的原始名称。

    3. 协作说明中,输入主管代理应在什么时候使用该合作者的详细信息。

    4. (可选)如果您希望主管代理与该合作代理共享以前对话的上下文,请开启启用对话历史记录。如果开启此功能,主管将包括当前会话的完整历史记录,包括每一轮对话中用户输入的文本和主管代理的响应。

  2. 选择添加合作者,将此合作代理添加到您的多代理协作团队中。要添加更多合作代理,请重复步骤 1,直到添加完所有合作代理。

  3. 添加完合作代理后,选择以下选项之一:

    • 要保持在多代理协作模式下,请选择保存,然后继续下一步,准备并测试您的多代理协作团队。

    • 要返回代理详细信息页面,请选择保存并退出

步骤 4:准备并测试多代理协作
步骤 5:部署多代理协作
  • 通过设置主管代理 InvokeAgent 发出请求,来部署多代理协作。

API

要创建多代理协作团队,请完成以下步骤:

步骤 1:创建合作代理
步骤 2:创建新的主管代理或向现有代理分配主管角色
  • 要创建新主管代理,请使用 Amazon Bedrock 代理构建时端点发送 CreateAgent 请求(有关请求和响应格式以及字段详细信息,请参阅链接)。

    要向现有代理分配主管角色,请使用 Amazon Bedrock 代理构建时端点发送 UpdateAgent 请求。由于所有字段都将被覆盖,您既要包含要更新的字段,也要包含要保持不变的字段。

    您至少必须添加以下字段:

    字段 应用场景
    agentResourceRoleArn 指定有权有在代理上调用 API 操作的服务角色的 ARN
    foundationModel 指定代理执行编排时使用的基础模型(FM)
    instruction 提供指令告诉代理该做什么。在编排提示模板的 $instructions$ 占位符中使用。
    agentCollaboration

    向代理分配主管角色。

    如果希望主管代理来协调合作代理的响应并输出响应,则指定 SUPERVISOR

    如果希望主管代理将信息路由到相应的合作代理来发送最终响应,则指定 SUPERVISOR_ROUTER

    默认情况下,此字段设置为 DISABLED

    以下字段是可选字段:

    字段 应用场景
    description 描述代理的用途
    idleSessionTTLInSeconds 代理结束会话并删除所有存储信息的持续时间。
    customerEncryptionKeyArn 用于加密代理资源的 KMS 密钥的 ARN
    tags 标签与代理关联。
    promptOverrideConfiguration 自定义在编排的每个步骤向 FM 发送的提示
    guardrailConfiguration 为代理添加护栏。指定护栏的 ID 或 ARN 以及要使用的版本。
    clientToken 用于确保 API 请求仅完成一次。有关更多信息,请参阅确保幂等性

    响应会返回一个 CreateAgent 对象,其中包含新创建的主管代理的详细信息。如果代理创建失败,响应中的 CreateAgent 对象会返回一个 failureReasons 列表和一个 recommendedActions 列表,供您进行故障排除。

步骤 3:添加合作代理
  • 要将合作代理与主管代理关联,请使用 Amazon Bedrock 代理构建时端点发送 AssociateAgentCollaborator 请求(有关请求和响应格式以及字段详细信息,请参阅链接)。

    您至少必须添加以下字段:

    字段 应用场景
    collaboratorName 指定合作代理的备用名称。此名称仅显示在协作说明中,不会取代原始代理名称。
    agentDescriptor 指定代理的别名 ARN。
    collaborationInstruction 提供指令告诉合作代理该做什么。
    relayConversationHistory

    设置为 TO_COLLABORATOR 可指定主管代理将与该合作代理共享先前对话的上下文。

    有效值:TO_COLLABORATOR | DISABLED

步骤 4:准备并测试您的多代理协作团队
步骤 5:部署多代理协作团队
  • 通过将主管代理设置为发出 InvokeAgent 请求,来部署多代理协作团队。