ai-agents-for-beginners

多代理设计

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

多代理设计模式

一旦你开始从事涉及多个代理的项目,就需要考虑多代理设计模式。然而,何时切换到多代理以及其优势可能并不立即明了。

介绍

本课我们将解答以下问题:

学习目标

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

更宏观的视角是:

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

该模式广泛应用于机器人学、自主系统和分布式计算等多个领域。

多代理适用场景

那么,什么场景适合使用多代理呢?答案是存在很多场景特别适合采用多代理,尤其是在以下情况:

多代理相较于单一代理的优势

单一代理系统适合简单任务,对复杂任务则可通过多代理获得诸多优势:

举例说明:为用户预订旅行。单一代理需处理整个流程(查找航班、预订酒店和租车)。为此,这个代理必须具备处理所有任务的工具,导致系统复杂且难以维护、扩展。相反,多代理系统可分为查找航班、预订酒店、租车等多个专属代理,使系统模块化、易维护且具扩展性。

类似对比旅行社店铺:一个夫妻店里单个代理处理全部流程,而加盟连锁则由不同代理分别处理业务环节。

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

实现多代理设计模式前,需要了解其构建模块。

依然以为用户预订旅行为例,这些构建模块包括:

多代理交互的可视性

了解多个代理如何相互作用非常重要,此能力对调试、优化及确保系统整体有效性至关重要。为此,需具备追踪代理活动及交互的工具和技术,形式包括日志工具、监控工具、可视化工具和性能指标。

以用户预订旅行为例,可建仪表盘显示各代理状态、用户偏好和限制及代理间交互。仪表盘显示用户出行时间、航班代理推荐的航班、酒店代理推荐的酒店及租车代理推荐的车辆,清晰展现代理如何协作及是否达到用户需求。

进一步介绍相关方面:

多代理模式

我们来探讨一些构建多代理应用的具体模式,包含以下有趣模式:

群聊

该模式适用于创建多个代理互相通信的群聊应用。典型应用包括团队协作、客户支持和社交网络。

每个代理代表群聊内的用户,代理间用消息协议交换信息。代理可向群聊发送消息、接收消息及回应其他代理。

该模式可用集中式架构实现,所有消息通过中央服务器中转,或用去中心化架构直接交换消息。

群聊

任务转接

该模式适合多个代理间转接任务的应用。

典型用例有客户支持、任务管理及工作流程自动化。

每个代理代表某个任务或工作流程步骤,代理根据预定义规则将任务转交给其他代理。

任务转接

协同过滤

该模式适用于多个代理协作给用户推荐内容的应用。

为何需要多个代理协作,因各代理具备不同专长,可在推荐过程中贡献各自优势。

举例用户想买股票推荐,一个代理专家某行业;另一个代理精通技术分析;再一个代理擅长基本面分析。协作后可给用户提供更全面推荐。

推荐

场景:退款流程

考虑顾客申请产品退款的场景,流程中涉及多个代理。我们将代理分为退款流程专属代理和可在其它业务中使用的通用代理。

退款流程专属代理

可能涉及的代理包括:

通用代理

这些代理可被业务其他部分使用。

以上列出了不少专属退款流程及通用代理,希望帮助你理解如何在多代理系统中选择合适代理。

作业

设计一个客户支持流程的多代理系统。识别流程中涉及的代理、它们的角色和职责,以及它们之间的交互。考虑客户支持专属代理及可用于业务其他部分的通用代理。

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

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

解决方案

解决方案

知识检测

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

解决方案测验

总结

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

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

加入 Microsoft Foundry Discord ,结识其他学习者,参加答疑时间,解答你的 AI 代理相关问题。

额外资源

上一课

规划设计

下一课

AI 代理中的元认知


免责声明: 本文件使用 AI 翻译服务 Co-op Translator 进行翻译。尽管我们力求准确,但请注意,自动翻译可能包含错误或不准确之处。请以原始语言版本的文档为权威来源。对于重要信息,建议采用专业人工翻译。因使用本翻译而引起的任何误解或误释,我们不承担任何责任。