ai-agents-for-beginners

多代理设计

(点击上方图片观看本课视频)

多代理设计模式

当你开始从事涉及多个代理的项目时,就需要考虑多代理设计模式。然而,什么时候切换到多代理模式以及它的优势可能并不那么显而易见。

介绍

在本课中,我们将回答以下问题:

学习目标

完成本课后,你应该能够:

更大的图景是什么?

多代理是一种设计模式,允许多个代理协同工作以实现共同目标

这种模式广泛应用于多个领域,包括机器人技术、自动化系统和分布式计算。

多代理适用的场景

那么,哪些场景适合使用多代理呢?答案是有很多场景可以从多个代理中受益,尤其是在以下情况下:

使用多代理相比单一代理的优势

单一代理系统可能适合简单任务,但对于更复杂的任务,使用多个代理可以带来以下优势:

举个例子,假设为用户预订一次旅行。单一代理系统需要处理旅行预订过程的所有方面,从寻找航班到预订酒店和租车。为了实现这一点,单一代理需要具备处理所有这些任务的工具。这可能导致一个复杂且难以维护和扩展的单体系统。而多代理系统可以有不同的代理分别专注于寻找航班、预订酒店和租车。这使得系统更加模块化、更易维护且更具可扩展性。

这可以类比为一个夫妻店经营的旅行社与一个连锁经营的旅行社。夫妻店的旅行社会有一个代理处理旅行预订过程的所有方面,而连锁经营的旅行社会有不同的代理分别处理旅行预订过程的不同方面。

实现多代理设计模式的构建模块

在实现多代理设计模式之前,你需要了解构成该模式的构建模块。

让我们通过预订用户旅行的例子来具体说明。在这种情况下,构建模块包括:

多代理交互的可见性

了解多个代理之间的交互方式非常重要。这种可见性对于调试、优化以及确保整个系统的有效性至关重要。为了实现这一点,你需要有工具和技术来跟踪代理的活动和交互。这可以通过日志记录和监控工具、可视化工具以及性能指标来实现。

例如,在为用户预订旅行的情况下,你可以有一个仪表板显示每个代理的状态、用户的偏好和约束以及代理之间的交互。这个仪表板可以显示用户的旅行日期、航班代理推荐的航班、酒店代理推荐的酒店以及租车代理推荐的租车。这可以让你清楚地了解代理之间的交互方式以及是否满足了用户的偏好和约束。

让我们更详细地看一下这些方面。

多代理模式

让我们深入探讨一些可以用来创建多代理应用的具体模式。以下是一些值得考虑的有趣模式:

群聊

当你想创建一个群聊应用程序,让多个代理可以相互通信时,这种模式非常有用。典型的用例包括团队协作、客户支持和社交网络。

在这种模式中,每个代理代表群聊中的一个用户,消息通过消息协议在代理之间交换。代理可以向群聊发送消息、从群聊接收消息以及响应其他代理的消息。

这种模式可以通过集中式架构实现,所有消息通过中央服务器路由,或者通过分散式架构直接交换消息。

群聊

任务交接

当你想创建一个应用程序,让多个代理可以相互交接任务时,这种模式非常有用。

典型的用例包括客户支持、任务管理和工作流自动化。

在这种模式中,每个代理代表工作流中的一个任务或步骤,代理可以根据预定义规则将任务交接给其他代理。

任务交接

协同过滤

当你想创建一个应用程序,让多个代理可以协作为用户提供推荐时,这种模式非常有用。

为什么需要多个代理协作?因为每个代理可以拥有不同的专业知识,并以不同的方式为推荐过程做出贡献。

举个例子,假设用户想要推荐购买股票的建议。

推荐

场景:退款流程

考虑一个场景,客户试图为某产品申请退款,可能会涉及多个代理,但我们可以将其分为专用于退款流程的代理和可用于其他流程的通用代理。

专用于退款流程的代理

以下是一些可能参与退款流程的代理:

通用代理

这些代理可以用于业务的其他部分。

以上列出了许多代理,包括专用于退款流程的代理以及可用于业务其他部分的通用代理。希望这能为你如何决定在多代理系统中使用哪些代理提供一些思路。

作业

设计一个多代理系统用于客户支持流程。识别流程中涉及的代理、它们的角色和职责,以及它们如何相互交互。考虑既包括客户支持流程中特定的代理,也包括可以用于业务其他部分的通用代理。

在阅读以下解决方案之前,请仔细思考,你可能需要比想象中更多的代理。

TIP: 想想客户支持流程的不同阶段,同时考虑任何系统中需要的代理。

解决方案

解决方案

知识检查

问题:什么时候应该考虑使用多代理?

解决方案测验

总结

在本课中,我们探讨了多代理设计模式,包括多代理适用的场景、使用多代理相较于单一代理的优势、实现多代理设计模式的构建模块,以及如何了解多个代理之间的交互情况。

对多代理设计模式还有疑问?

加入 Azure AI Foundry Discord,与其他学习者交流,参加办公时间并解答你的AI代理相关问题。

其他资源

规划设计

下一课

AI代理中的元认知


免责声明
本文档使用AI翻译服务Co-op Translator进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。