AI个人学习
和实操指南
资源推荐1

微软 AI Agent 入门课程:多智能体设计模式

当你开始着手一个涉及多个智能体的项目时,就需要考虑多智能体设计模式。然而,何时转向多智能体以及其优势可能并非显而易见。

简介

在本课程中,Microsoft 尝试回答以下问题:

  • 哪些场景适用于多智能体?
  • 与仅使用一个智能体执行多项任务相比,使用多智能体的优势是什么?
  • 实现多智能体设计模式的构建模块是什么?
  • 如何观察多个智能体之间的交互?

 

学习目标

在本课程结束后,你应该能够:

  • 识别适用多智能体的场景
  • 认识到使用多智能体相对于单一智能体的优势。
  • 理解实现多智能体设计模式的构建模块。

更宏观的视角是什么?

  • 多智能体是一种设计模式,允许多个智能体协同工作以实现共同目标*。

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

 

适用多智能体的场景

那么,哪些场景适合使用多智能体呢?答案是,在许多情况下,使用多个智能体都是有益的,尤其是在以下情况下:

  • 大型工作负载:大型工作负载可以划分为较小的任务并分配给不同的智能体,从而实现并行处理并更快地完成。这方面的一个例子是大型数据处理任务。
  • 复杂任务:与大型工作负载一样,复杂任务可以分解为较小的子任务并分配给不同的智能体,每个智能体专门负责任务的特定方面。这方面的一个很好的例子是自动驾驶汽车,其中不同的智能体管理导航、障碍物检测以及与其他车辆的通信。
  • 多样化的专业知识:不同的智能体可以拥有多样化的专业知识,使他们能够比单个智能体更有效地处理任务的不同方面。对于这种情况,一个很好的例子是医疗保健领域,智能体可以管理诊断、治疗计划和患者监护。

使用多智能体相对于单一智能体的优势

单一智能体系统可能适用于简单的任务,但对于更复杂的任务,使用多个智能体可以提供以下几个优势:

  • 专业化:每个智能体都可以专门负责特定任务。单一智能体缺乏专业化意味着你拥有一个可以完成所有任务的智能体,但在面对复杂任务时可能会混淆该做什么。例如,它最终可能会执行一项它并不最适合的任务。
  • 可扩展性:通过添加更多智能体而不是让单个智能体超负荷运行,可以更轻松地扩展系统。
  • 容错性:如果一个智能体发生故障,其他智能体可以继续运行,确保系统可靠性。

让我们举个例子,为用户预订行程。单一智能体系统必须处理行程预订过程的所有方面,从查找航班到预订酒店和租车。要使用单个智能体实现这一点,该智能体需要具备处理所有这些任务的工具。这可能会导致一个复杂且庞大的系统,难以维护和扩展。另一方面,多智能体系统可以让不同的智能体专门负责查找航班、预订酒店和租车。这将使系统更加模块化,更易于维护和扩展。


将此与夫妻店经营的旅行社和特许经营的旅行社进行比较。夫妻店将由一名代理处理行程预订过程的所有方面,而特许经营店将由不同的代理处理行程预订过程的不同方面。

 

实现多智能体设计模式的构建模块

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

让我们通过再次查看为用户预订行程的例子来更具体地说明这一点。在这种情况下,构建模块将包括:

  • 智能体通信:用于查找航班、预订酒店和租车的智能体需要进行通信并共享有关用户偏好和约束的信息。你需要决定此通信的协议和方法。具体来说,这意味着查找航班的智能体需要与预订酒店的智能体进行通信,以确保酒店预订的日期与航班日期相同。这意味着智能体需要共享有关用户旅行日期的信息,这意味着你需要决定 哪些智能体共享信息以及它们如何共享信息
  • 协调机制:智能体需要协调其行动,以确保满足用户的偏好和约束。用户偏好可能是他们希望酒店靠近机场,而约束可能是租车只能在机场提供。这意味着预订酒店的智能体需要与预订租车的智能体进行协调,以确保满足用户的偏好和约束。这意味着你需要决定 智能体如何协调其行动
  • 智能体架构:智能体需要具备内部结构来做出决策并从与用户的交互中学习。这意味着查找航班的智能体需要具备内部结构来决定向用户推荐哪些航班。这意味着你需要决定 智能体如何做出决策并从与用户的交互中学习。智能体如何学习和改进的例子可能是,查找航班的智能体可以使用机器学习模型根据用户过去的偏好向用户推荐航班。
  • 多智能体交互的可视性:你需要了解多个智能体之间的交互。这意味着你需要具备工具和技术来跟踪智能体的活动和交互。这可以采用日志记录和监控工具、可视化工具和性能指标的形式。
  • 多智能体模式:实现多智能体系统有不同的模式,例如集中式、分散式和混合式架构。你需要决定最适合你的用例的模式。
  • 人工干预:在大多数情况下,你需要人工干预,并且你需要指示智能体何时寻求人工干预。这可以采用用户要求智能体未推荐的特定酒店或航班的形式,或者在预订航班或酒店之前要求确认的形式。

 

多智能体交互的可视性

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

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

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

  • 日志记录和监控工具:你希望对智能体采取的每个操作进行日志记录。日志条目可以存储有关采取操作的智能体、采取的操作、采取操作的时间以及操作结果的信息。然后,此信息可用于调试、优化等。
  • 可视化工具:可视化工具可以帮助你以更直观的方式查看智能体之间的交互。例如,你可以拥有一个显示智能体之间信息流的图形。这可以帮助你识别系统中的瓶颈、低效率和其他问题。
  • 性能指标:性能指标可以帮助你跟踪多智能体系统的有效性。例如,你可以跟踪完成任务所需的时间、单位时间内完成的任务数量以及智能体提出的建议的准确性。此信息可以帮助你识别需要改进的领域并优化系统。

 

多智能体模式

让我们深入研究一些可用于创建多智能体应用程序的具体模式。以下是一些值得考虑的有趣模式:

群聊

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

在此模式中,每个智能体代表群聊中的一个用户,消息通过消息传递协议在智能体之间交换。智能体可以向群聊发送消息、从群聊接收消息以及响应来自其他智能体的消息。

此模式可以使用集中式架构(所有消息都通过中央服务器路由)或分散式架构(消息直接交换)来实现。

微软 AI Agent 入门课程:-1

任务交接

当你想要创建一个应用程序,其中多个智能体可以将任务相互交接时,此模式非常有用。

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

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

微软 AI Agent 入门课程:-2

协同过滤

当你想要创建一个应用程序,其中多个智能体可以协作向用户提出建议时,此模式非常有用。

你希望多个智能体进行协作的原因是,每个智能体可以拥有不同的专业知识,并且可以以不同的方式为推荐过程做出贡献。

让我们举一个例子,用户希望获得关于在股票市场上购买最佳股票的建议。

  • 行业专家:一个智能体可以是特定行业的专家。
  • 技术分析:另一个智能体可以是技术分析方面的专家。
  • 基本面分析:还有一个智能体可以是基本面分析方面的专家。通过协作,这些智能体可以向用户提供更全面的建议。

微软 AI Agent 入门课程:-3

 

场景:退款流程

考虑一个场景,客户试图获得产品退款,此过程中可能涉及多个智能体,但让我们将其划分为专门针对此流程的智能体和可用于其他流程的通用智能体。

专门针对退款流程的智能体

以下是一些可能参与退款流程的智能体:

  • 客户智能体:此智能体代表客户,负责发起退款流程。
  • 卖家智能体:此智能体代表卖家,负责处理退款。
  • 支付智能体:此智能体代表支付流程,负责退还客户的付款。
  • 解决方案智能体:此智能体代表解决方案流程,负责解决退款流程中出现的任何问题。
  • 合规智能体:此智能体代表合规流程,负责确保退款流程符合法规和政策。

通用智能体

这些智能体可以被你业务的其他部分使用。

  • 运输智能体:此智能体代表运输流程,负责将产品运回给卖家。例如,此智能体既可用于退款流程,也可用于通过购买进行的常规产品运输。
  • 反馈智能体:此智能体代表反馈流程,负责收集客户的反馈。可以随时获取反馈,而不仅仅是在退款流程中。
  • 升级智能体:此智能体代表升级流程,负责将问题升级到更高级别的支持。你可以在任何需要升级问题的流程中使用此类智能体。
  • 通知智能体:此智能体代表通知流程,负责在退款流程的各个阶段向客户发送通知。
  • 分析智能体:此智能体代表分析流程,负责分析与退款流程相关的数据。
  • 审计智能体:此智能体代表审计流程,负责审计退款流程以确保其正确执行。
  • 报告智能体:此智能体代表报告流程,负责生成有关退款流程的报告。
  • 知识智能体:此智能体代表知识流程,负责维护与退款流程相关的信息知识库。此智能体可以了解退款和你业务的其他部分。
  • 安全智能体:此智能体代表安全流程,负责确保退款流程的安全。
  • 质量智能体:此智能体代表质量流程,负责确保退款流程的质量。

前面列出了相当多的智能体,既包括专门针对退款流程的智能体,也包括可用于你业务其他部分的通用智能体。希望这能让你了解如何决定在多智能体系统中使用哪些智能体。

 

作业

为客户支持流程设计一个多智能体系统。确定流程中涉及的智能体、他们的角色和职责,以及他们如何相互交互。考虑专门针对客户支持流程的智能体和可用于你业务其他部分的通用智能体。

在阅读以下解决方案之前,请先思考一下,你可能需要的智能体比你想象的要多。

提示:考虑客户支持流程的不同阶段,并考虑任何系统所需的智能体。

解决方案

解决方案

 

知识检查

问题:你应该何时考虑使用多智能体?

  • [] A1:当你有一个小的工作负载和一个简单的任务时。
  • [] A2:当你有一个大的工作负载时
  • [] A3:当你有一个简单的任务时。

Solution quiz

 

总结

在本课程中,我们研究了多智能体设计模式,包括适用多智能体的场景、使用多智能体相对于单一智能体的优势、实现多智能体设计模式的构建模块,以及如何了解多个智能体之间的交互。

内容3
未经允许不得转载:首席AI分享圈 » 微软 AI Agent 入门课程:多智能体设计模式

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文