理解基于LLM的Agent及多Agent架构

理解基于LLM的Agent及多Agent架构

在这里插入图片描述

当今时代,大型语言模型(LLM)已成为一种强大的主体,能够以惊人的准确性和流畅性处理和生成类似人类的文本。然而,这些模型的潜力不仅限于内容生成,它们还可以作为多Agent 系统中的智能体加以利用,为协作解决问题、动态交互和复杂决策铺平道路。在本文中,我们将首先了解什么是基于 LLM 的 Agent ,它的优势以及一个用例。然后,我们将转向基于 LLM 的多 Agent 系统–什么是多 Agent 系统、多 Agent 系统的优势、类型以及使用实例的特点。

什么是基于 LLM 的Agent?

Agent 是一个自主单元,通过编程可以执行任务、做出决策并与环境通信。

同样,基于 LLM 的 Agent 是一个高级单元,它将 LLM 作为大脑来进行思考、做出决策并采取行动完成特定任务。这些 Agent 还可以拥有记忆,可以是短期记忆( Agent 的思路),也可以是长期记忆(对话历史)。它们还可以使用工具来执行任务,如上网搜索、使用计算器等。

让我们看看下面的示例–如果用户的天气条件不理想(如大雨、极端温度或大风),则以电子邮件的形式向用户发送个性化提示。例如:如果有可能下大雨,Agent 的建议可以包括携带雨伞;如果天气非常炎热,Agent 的建议可以包括穿浅色衣服等。

但是,它们无法访问外部环境,只能依赖于经过训练的信息。对于我们当前的例子来说,我们需要编写一些额外的代码来获取天气信息,然后使用 LLM 生成电子邮件内容。

这就是 Agent 的作用。它们可以与外部世界交互,获取信息,然后使用 LLM 生成内容。

要了解更多信息,请看下图:

在这里插入图片描述

气象咨询 Agent 架构

因此,我们的基于 LLM 的 Agent 将首先尝试获取用户的当前位置,以查找天气状况。因此,它将使用提供给它的工具来获取位置。获得位置后, Agent 将使用另一个工具从天气 API 获取当天的天气预报。根据天气预报和内存中前一天的预报,它将判断是否是突发天气情况。如果是,它就会根据天气情况为用户生成个性化的提示,并使用工具向用户发送电子邮件。

结合我们目前所学到的知识,我们可以列出使用 Agent 的优势如下:

  1. 执行专业化的复杂任务 - 通过集成工具, Agent 可以执行诸如调用应用程序接口、使用数学工具进行复杂计算等任务。

  2. 实时和动态交互 - Agent 可以与外部世界交互,并通过在线搜索、应用程序接口等获取实时数据。这使他们能够向用户提供动态回复。

  3. 提高准确性和可靠性–LLM 可能会提供一个笼统的答案,也可能在发送前不进行推理,但 Agent 可以确保其答案的准确性,因为他们会按照思路分步执行任务。

基于 LLM 的多 Agent 系统

在了解了基于 LLM 的单个 Agent 之后,让我们深入了解基于 LLM 的多 Agent 系统。基于 LLM 的多 Agent 系统由多个 Agent 组成,它们共同工作以实现一个共同目标。系统中的每个 Agent 都有特定的角色,专门执行特定的任务。多 Agent 系统背后的理念是团队合作意识。每个具有不同角色和背景的 Agent 都可以从不同的角度出发,为实现共同目标而合作。综上所述,使用基于 LLM 的多 Agent 系统有以下好处:

  1. 单一责任原则–每个 Agent 都有特定的角色,负责执行特定的任务。这可确保每个 Agent 都专注于自己的任务并出色完成。

  2. 分解复杂任务 - 可以将复杂任务分解成更小的任务,并分配给不同的 Agent 。这使得管理和执行复杂任务变得更加容易。

  3. 增强协作 - Agent 可以相互沟通并共享信息。这使他们能够协同工作,实现共同目标。

  4. 可扩展性 - 通过添加更多的 Agent 来执行额外的任务,系统可以很容易地进行扩展。这使得系统很容易适应不断变化的需求,并根据需要进行扩展。

  5. 容错 - 如果一个 Agent 未能提供预期输出,下一个 Agent 有可能会要求前一个 Agent 再次运行以生成答案。因此,系统具有容错性。此外,如果需要,它们还可以将任务委托给另一个 Agent 。

  6. 增强性能 - Agent 可并行执行任务。这可以加快任务执行速度,提高系统性能。

  7. 可重用性 - Agent 可在不同的系统中重用,以执行类似的任务。这使得重用现有 Agent 和快速构建新系统变得非常容易。

让我们来看一个实际用例,在这个用例中,这可能会有所帮助。

创建一个系统,在博客平台上发布一篇关于给定主题的文章。让我们将问题陈述分解成更小的任务,并思考如何使用基于 LLM 的多 Agent 系统来解决这个问题。

  • 第一部分是获取关于给定主题的内容。我们可以让一个 Agent 从互联网上的不同来源获取信息并进行编译。

  • 第二部分是撰写文章。

  • 第三部分是验证文章是否适合发布,例如检查抄袭、语法等,然后发布。

因此,我们的系统中有三个 Agent –研究 Agent 、写作 Agent 和发布 Agent。每个 Agent 都有特定的角色,负责执行特定的任务。请看下图,以便更好地理解:

在这里插入图片描述

在博客平台上发表文章的基于 LLM 的多 Agent 架构

  • 我们可以看到,所有三个 Agent 都获得了专门针对其任务的工具。所有 Agent 都被赋予了适当的角色、目标和背景,并使用了 Prompt Engineering 技能,以获得高质量的结果。

  • 如果第二个 Agent 发现对该主题所做的研究不足以撰写文章,它会再次要求第一个 Agent 提供更多信息。同样,如果第三个 Agent 发现所撰写的文章不适合发表,它就会回到第二个 Agent 那里,对文章提出反馈意见,并要求其重新撰写。这样,我们就有了一个更可靠、更高效的系统。

  • 这里讨论的多 Agent 系统类型是顺序型。顺序式流程确保任务一个接一个地按照线性顺序执行。

  • 另一种多 Agent 系统是分级式。在我们当前的示例中,如果在三个 Agent 的上方都有一个经理,他负责协调工作流程、委派任务并验证每个 Agent 的成果以确保质量,那么这就成为了一个分级系统。请看下图,以便更好地理解

在这里插入图片描述

基于分层 LLM 的多 Agent 框架

多 Agent 系统中的人工干预

在某些情况下,可能需要人工干预。例如:在我们当前的使用案例中,发布者 Agent 在完成所有检查后,可以要求人工再次确认文章是否可以发布。这就是 “人类在循环中(human in loops)” 概念的由来。人类在循环中指的是人类参与系统的决策过程。 因此,我们可以通过给出版 Agent 提供一个工具,让它能够在对文章不确定时请求人工干预。我们可以在提示中明确指出,当我们需要人工干预时, Agent 只能在需要时请求人工干预。

在这里插入图片描述

人类在基于 LLM 的多 Agent 架构的循环中

结论

选择独立的 LLM 或基于 LLM 的 Agent ,还是基于 LLM 的多 Agent 系统,取决于任务的复杂性和系统的要求。此外,在选择方法时,我们还可以考虑系统的响应时间、准确性和可靠性。与基于 LLM 的 Agent 和基于 LLM 的多 Agent 系统相比,独立 LLM 的响应时间较短。不过,与独立 LLM 相比,基于 LLM 的 Agent 和基于 LLM 的多 Agent 系统的系统准确性和可靠性更高。

  • 24
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值