LLM 代理简介

这篇文章最初发表在 NVIDIA 技术博客上。

想象一下 大型语言模型 (LLM) 应用程序,它旨在帮助金融分析师回答有关公司业绩的问题。通过精心设计的检索增强一代 (RAG) 流程,分析师可以回答诸如"X corporation 在 2022 财年的总收入是多少?"这样的问题,而经验丰富的分析师可以轻松地从财务报表中提取这些信息。

现在考虑以下问题:"23 财年第二季度财报电话会议的三个要点是什么?关注公司正在构建的技术护城河。"这是财务分析师希望在报告中回答的问题类型,但需要投入时间来回答。

我们如何开发解决方案来回答上述问题?显而易见,这些信息需要的不仅仅是通过收益调用进行简单查找。这种查询需要规划、量身定制的焦点、内存、使用不同的工具,并将复杂的问题分解为更简单的子部分~~.~~这些概念组合在一起,本质上就是我们所说的 LLM 智能体。

在本文中,我将介绍由 LLM 支持的代理,并讨论代理的概念以及它在企业应用中的一些用例。欲了解更多信息,请参阅构建您的首个 LLM 智能体应用。在那篇博文中,我将介绍生态系统演练,探讨构建 AI 智能体的可用框架,并为任何使用问答 (Q&A) 智能体的人提供入门指南。

什么是 AI 智能体?

虽然 LLM 驱动的智能体的定义尚未得到广泛接受,但它们可以被描述为一个系统,可以使用 LLM 来推理问题,创建解决问题的计划,并借助一组工具执行计划。

简而言之,智能体是一个具有复杂推理能力、内存和执行任务手段的系统。

此功能最初在以下项目中得到应用:AutoGPTBabyAGI。在这些案例中,智能体能够在最少的干预下解决复杂问题。为了进一步阐述,以下是一个由 LLM 支持的智能体应用的通用架构(图 1)。

图 1.智能体的一般组件

智能体由以下关键组件组成(有关这些组件的更多详情,请稍后查看):

  • 智能体核心
  • 显存模组
  • 工具
  • 规划模块

智能体核心

智能体核心是中央协调模块,用于管理智能体的核心逻辑和行为特征。您可以将其视为智能体的"关键决策模块"。这也是我们定义的位置:

  • **智能体的一般目标:**涵盖智能体的总体目标和具体目标。
  • **执行工具:**本质上是一个简短的列表或"用户手册",包含代理可以访问的所有工具。
  • **解释如何使用不同的规划模块:**提供不同规划模块的效用以及在何种情况下使用它们的详细信息。
  • 相关显存:这是一个动态部分,用于在推理时填充与用户之前对话中最相关的内存项目。"相关性"根据用户提出的问题来确定。
  • **智能体角色(可选):**此角色描述通常用于让模型倾向于使用某些类型的工具,或在智能体的最终响应中注入特定的典型特征。

图 2.智能体核心中不同模块组装方式的基本模板。

显存模组

内存模组在 AI 代理中发挥着至关重要的作用。内存模组本质上可以被视为代理内部日志以及与用户交互的存储。

内存模组有两种类型:

  • **短期记忆:**智能体在尝试回答用户提出的问题(即智能体的"思路")时,所经历的动作和想法的分类账。
  • 长期内存:记录用户与客服之间发生事件的行动和想法的分类账。这是一个日志,包含了跨越数周或数月的对话历史记录

内存需要的不仅仅是基于语义相似性的检索。通常,综合评分由语义相似性、重要性、递归性和其他特定于应用程序的指标组成。它用于检索特定信息。

工具

工具是定义明确的可执行工作流,代理可以用来执行任务。它们通常可以被视为专用的第三方 API.

例如,坐席可以使用 RAG 工作流生成上下文感知答案,使用代码解释器解决复杂的编程任务,使用 API 在互联网上搜索信息,甚至可以使用任何简单的 API 服务,例如天气 API 或用于即时消息应用程序的 API.

规划模块

分析一系列财务报告以回答分层业务问题等复杂问题通常需要细致入微的方法。对于由 LLM 提供支持的智能体,可以通过结合使用两种技术来处理这种复杂性:

  • 任务和问题分解
  • 反射或评论家

任务和问题分解

复合问题或推理信息需要进行某种形式的分解。例如," NVIDIA 上次财报电话会议的三个要点是什么?"

回答此问题所需的信息不能直接从长达一小时的会议记录中提取。但是,可以将问题分解为多个问题主题:

  • "讨论最多的是哪些技术变革?"
  • "有业务阻力吗?"
  • "财务结果如何?"

每个问题都可以进一步细分为子部分。也就是说,专业的 AI 智能体必须指导这种分解。

反射或评论家

ReAct、Reflexion、Chain of Thought 和 Graph of think 等技术已成为批评或基于证据的提示框架。这些技术已被广泛用于提高 LLM 的推理能力和响应能力。这些技术还可用于细化智能体生成的执行计划。

企业应用代理

虽然智能体的应用实际上是无限的,但以下是一些有趣的案例,可能会对许多企业产生巨大的影响:

  • "与您的数据对话"智能体
  • 智能体群体
  • 推荐和体验设计代理
  • 定制的 AI 作者代理
  • 多模式代理

"与您的数据对话"智能体

"与您的数据交流"不是一个简单的问题。存在许多简单的 RAG 管道无法解决的挑战:

  • 源文档的语义相似性
  • 复杂的数据结构,如表格
  • 缺乏明显的上下文(并非每个数据块都包含其来源的标记)
  • 用户提出的问题的复杂性
  • ... 以及更多

例如,回顾之前提到的收入电话会议记录(2023 年第 3 季度 | 2024 年第 1 季度)。如果问到"数据中心收入从 2023 年第 3 季度到 2024 年第 1 季度增加了多少?"要回答这个问题,您基本上需要解答三个子问题(即,我们需要一个规划模块):

  • 2023 年第 3 季度的数据中心收入是多少?
  • 2024 年第一季度的数据中心收入是多少?
  • 两者之间有何区别?

在这种情况下,您需要一个智能体,它可以访问执行问题分解的规划模块(生成子问题并搜索答案,直到更大的问题得到解决)、检索特定信息的 RAG 管道(用作工具),以及准确处理子问题的内存模块。在由 LLM 提供支持的智能体:构建您的首个智能体应用中,我将详细介绍这种类型的案例。

智能体群体

可以将智能体群理解为一组智能体协同工作,以便在单个环境中共存,这些智能体可以相互协作以解决问题。智能体的去中心化生态系统非常类似于协同使用多个"智能"微服务来解决问题。

多智能体环境,例如 生成式智能体ChatDev,一直深受社区的欢迎(图 3)。这是为什么呢?通过使用 ChatDev 等框架,您可以以低成本组建一个包括工程师、设计师、产品经理、首席执行官和代理在内的团队,来构建基础软件。例如,制作像 Brick Breaker 或 Flappy Bird 这样热门游戏的原型,成本可能低至 50 美分!

借助大量智能体,您可以在数字公司、社区甚至整个城镇中部署应用,例如用于经济研究的行为模拟、企业营销活动、物理基础设施的 UX 元素等。

图 3.ChatDev 环境中多个代理的示例

如果没有 LLM,这些应用程序目前无法进行模拟,并且在现实世界中运行成本极高。

用于推荐和体验设计的智能体

互联网可以处理推荐系统。基于对话的 推荐系统 可用于打造个性化体验。

例如,可以考虑在电子商务网站上使用 AI 智能体,该智能体可帮助您比较产品,并根据您的一般要求和选择提供推荐。此外,还可以构建类似于礼宾服务的完整体验,由多个智能体协助最终用户浏览数字商店。选择要看的电影或要预订的酒店房间等体验可以制作成对话,而不仅仅是一系列决策树式对话!

定制的 AI 作者代理

另一个强大的工具是拥有个人 AI 作者,可以帮助您完成诸如联合创作电子邮件或准备参加时间敏感的会议和演示等任务。使用常规创作工具的问题是,必须根据不同的受众定制不同类型的材料。例如,投资者推销的措辞必须与团队演示不同。

智能体可以利用您之前的工作。然后,您让智能体根据您的个人风格塑造智能体生成的推销,并根据您的特定用例和需求自定义工作。对于一般的 LLM 微调而言,此过程通常过于细致入微。

多模式代理

仅将文本作为输入,您就无法真正"与您的数据通信"。所有提到的用例都可以通过构建可以消化图像和音频文件等各种输入的多模态代理来增强。

图 4.基于图形回答问题的多模态代理示例

这只是解决企业挑战所需遵循的方向的几个示例。数据管护、社交图形和领域专业知识的代理都是开发社区为企业应用所追求的活跃领域。

下一步?

由 LLM 提供支持的坐席与典型的聊天机器人应用程序不同,因为它们具有复杂的推理技能。由坐席核心、内存模块、工具集和规划模块组成,坐席可以在各种企业环境(从数据管护到高级电子商务推荐系统)中生成高度个性化的答案和内容。

要了解智能体技术生态系统的概述(例如实现框架、必读论文、文章和相关主题),请参阅 构建您的首个智能体应用。问答智能体无框架实现的演练有助于您更好地理解与数据的交流。

阅读原文

相关推荐
扫地的小何尚4 天前
什么是大型语言模型
人工智能·语言模型·自然语言处理·机器人·gpu·nvidia
点云兔子6 天前
NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址
wifi·ip·nvidia·nx·hotspot·nano
self-motivation9 天前
gpu硬件架构
硬件架构·gpu·nvidia·tensor·cuda
程序员非鱼14 天前
深入解析神经网络的GPU显存占用与优化
人工智能·深度学习·神经网络·机器学习·nvidia·cuda
扫地的小何尚1 个月前
NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
人工智能·aigc·llama·gpu·nvidia·cuda·英伟达
布鲁格若门1 个月前
AMD CPU下pytorch 多GPU运行卡死和死锁解决
人工智能·pytorch·python·nvidia
centurysee1 个月前
【一文搞懂】GPU硬件拓扑与传输速度
gpu·nvidia
算家云2 个月前
moffee模型部署教程
人工智能·python·github·markdown·nvidia·ppt·幻灯片制作
坐望云起2 个月前
Ubuntu20.04 更新Nvidia驱动 + 安装CUDA12.1 + cudnn8.9.7
linux·ubuntu·nvidia·cuda·onnx·1024程序员节
RZer2 个月前
NVIDIA 发布适用于网络安全的 NIM Blueprint
安全·web安全·nvidia