多代理协作 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

多代理协作

多代理协作是指一种模式,在这种模式中,多个自主代理通过协商解决复杂的任务,每个代理都有不同的角色、专业或目标。这些代理人可以通过共享信息、划分责任和共同推理目标来独立运作,也可以与其他代理人一起行动。

这种模式不同于工作流代理,后者在结构化流程中集中协调任务并将其委派给下属代理。相比之下,多主体协作通过实现适应性、平行性和认知分裂来强调 peer-to-peer紧急协调。下表比较了多代理与工作流代理的协作:

功能

工作流程代理

目的

控件

集中式协调员

去中心化、分布式或基于角色的 Peer 节点

交互

一个代理委托并跟踪执行情况

多个代理进行协商、共享和调整

设计

预定义的任务顺序

快速、灵活的任务分配

协调

程序编排

合作或竞争互动

使用案例

企业流程自动化

复杂的推理、探索和应急策略

Architecture

下图显示了多代理协作:

多代理协作。

描述

  1. 启动任务

    • 用户或系统发出高级目标或问题。

    • “经理” 代理或启动上下文定义了目标。

  2. 分配或发现角色

    • 代理人自行分配(符号逻辑或推理)或被委托(事件经纪人)到其他角色,例如策划者、研究员、执行者、批评者或解释者。

  3. 与其他代理沟通

    • 代理通过共享内存、消息队列或提示链进行通信。

    • 他们可能会互相辩论、询问或提出子任务。

  4. 使用专门的推理

    • 每个代理都使用自己的模型或域逻辑来解决自己的问题部分。

    • 代理可以 LLMs 与角色特定的提示和内存一起使用。

  5. 协调产出或目标

    • 代理人将贡献综合成最终答案、计划或行动。

    • (可选)监督代理可以验证或汇总合成后的输出。

功能

  • 具有特殊角色或技能的同行级代理

  • 通过沟通或谈判出现的紧急行为

  • 并行处理复杂或多方面的问题

  • 支持深思熟虑、自我纠正和反思性迭代

  • 为社交动态、科学合作或企业团队角色建模

常见使用案例

  • 自主研究团队(搜索代理、摘要器和验证器)

  • 软件开发(规划员、编码员和测试员)

  • 业务场景建模(财务、策略和合规)

  • 谈判、竞标或多方推理

  • 多模式任务(图像、文本和逻辑)

实施指导

您可以使用以下工具和 AWS 服务以下工具构建多代理系统:

组件

AWS 服务

目的

代理托管

亚马逊 Bedrock、亚马逊 SageMaker、 AWS Lambda

托管个人 LLM 驱动的代理

通信层

亚马逊 SQS、亚马逊、 EventBridge AWS AppFabric

代理之间的消息传递和协调

共享内存

亚马逊 DynamoDB、亚马逊 S3 或 OpenSearch

多代理存储器或黑板系统

编排层

AWS Step Functions, AWS Lambda 管道

启动、超时、回退和重试逻辑

代理识别

亚马逊 Bedrock 代理(角色定义)和 AWS AppConfig 亚马逊 Bedrock converse API(亚马逊 Bedrock 以外的代理)

基于角色的工具或代理调用和边界强制执行

紧急互动

Amazon EventBridge 渠道或代理注册表

启用动态任务路由或升级

Summary

多代理协作将问题解决任务分配给模块化、角色驱动的代理。与工作流程协调不同,协作模式使用的是反映人类解决问题的新兴智能、弹性和可扩展性。对于开放式领域、创造性任务、多模态推理和受益于不同视角的环境来说,它尤其有价值。

结论

前面讨论的模式说明了在现实世界中实现代理人工智能的基本方法。从基本推理到记忆增强智能,每种模式都针对基于自主性、异步性和代理性的感知、认知和行动进行了独特的配置。

这些模式共享用于构建智能、以目标为导向的系统的词汇和技术蓝图。无论模式是嵌入在用户界面中,还是通过云服务进行编排,还是跨代理团队进行协调,每种模式都具有适应性和模块化性。

外卖

  • 代理模式是可组合的 — 大多数现实世界中的代理会混合两种或更多模式(例如,具有基于工具的推理和记忆的语音代理)。

  • 代理设计是基于情境的 — 根据交互表面、任务复杂性、延迟容限和特定领域的限制来选择模式。

  • AWS原生实现是可以实现的 — 借助 Amazon Bedrock SageMaker AWS Lambda、、 AWS Step Functions、、和事件驱动架构,每种代理模式都可以大规模交付。