当前位置: 首页 > news >正文

图解LLM智能体(LLM Agents):构建与运作机制的全面解析

LLM智能体:构建与运作机制

LLM智能体(LLM Agents)正在迅速普及,似乎逐渐取代了我们熟悉的传统对话式LLM。这些令人惊叹的能力并非凭空而来,而是需要多个组件协同工作。LLM Agents架构
本文包含超过60张定制插图,将深入探讨LLM智能体的领域、其核心组件以及多智能体框架的工作原理。

文章目录

  • LLM智能体:构建与运作机制
    • 什么是LLM智能体?
      • 智能体的定义
    • 记忆
      • 短期记忆
      • 长期记忆
    • 工具
      • Toolformer
      • 模型上下文协议(MCP)
    • 规划
      • 推理
      • 推理与行动
      • 反思
      • 多智能体协作(Multi-Agent Collaboration)
      • 模拟人类行为的交互式代理
      • 模块化框架

什么是LLM智能体?

要理解LLM智能体是什么,首先我们需要了解LLM的基本能力。传统上,LLM的核心功能不过是“下一个词预测”。
Next-Token预测

通过连续采样多个词,我们可以模拟对话并让LLM生成更长的回答。

对话生成

然而,当我们继续“对话”时,任何LLM都会暴露出其主要缺点之一:它无法记住之前的对话!记忆缺失
此外,LLM在许多任务上表现不佳,例如基本的数学运算(乘法和除法):数学运算失败
这是否意味着LLM很糟糕?绝对不是!LLM不需要全能,因为我们可以借助外部工具、记忆系统和检索机制来弥补其不足。

通过外部系统,LLM的能力可以得到增强。Anthropic将其称为“增强型LLM”。增强型LLM

例如,当面对数学问题时,LLM可以选择使用适当的工具(如计算器)。
使用计算器
那么,这种“增强型LLM”就是智能体吗?不完全是,但某种程度上是……


智能体的定义

智能体是可以被视为通过传感器感知环境并通过执行器作用于环境的任何事物。
——Russell & Norvig,《人工智能:现代方法》(2016)

智能体与环境交互,通常由以下几个重要组件组成:

  • 环境——智能体交互的世界
  • 传感器——用于观察环境
  • 执行器——用于与环境交互的工具
  • 效应器——决定如何从观察到行动的“大脑”或规则

智能体框架
该框架适用于各种与不同环境交互的智能体,例如与物理环境交互的机器人或与软件交互的AI智能体。

我们可以对该框架进行一些泛化,使其适合“增强型LLM”。
增强型LLM框架

通过“增强型LLM”,智能体可以通过文本输入(因为LLM通常是文本模型)观察环境,并通过工具(如网络搜索)执行某些操作。

为了选择采取哪些行动,LLM智能体有一个关键组件:规划能力。为此,LLM需要能够通过链式思维等方法进行“推理”和“思考”。

链式思维

通过这种推理行为,LLM智能体可以规划出必要的行动步骤。
规划行为

这种规划行为使智能体能够理解当前情境(LLM)、规划下一步(规划)、采取行动(工具)并跟踪已采取的行动(记忆)。

智能体循环

根据系统的不同,LLM智能体可以具备不同程度的自主性。
自主性等级

可以说,一个系统越“智能”,LLM就越能决定系统的行为方式。

在接下来的部分中,我们将通过LLM智能体的三个主要组件——记忆工具规划——探索各种自主行为的方法。


记忆

LLM是一种健忘的系统,或者更准确地说,在交互过程中不会进行任何记忆。

例如,当你向LLM提问后紧接着再问另一个问题时,它不会记住前者。短时记忆问题

我们通常将这种记忆称为短期记忆,也叫工作记忆,它充当即时上下文的缓冲区。这包括LLM智能体最近采取的行动。

然而,LLM智能体还需要记录可能数十个步骤,而不仅仅是最近的行动。长期记忆需求

相关文章:

  • 网络编程——套接字、创建服务器、创建客户端
  • PyQt基础——简单闹钟ui实现(图形化界面、定时器事件)
  • CH347使用笔记:CH347结合STM32CubeIDE实现单片机下载与调试
  • [Banana Pi BPI-R4] RDK 和联发科推出Wi-Fi 7 宽带 CPE 的新硬件参考平台
  • 大语言模型中的 Function Calling
  • Oracle ASM Failgroup故障组
  • vulhub-Billu-b0x攻略
  • DevOps工具链
  • 【c++】内存序 和 内存一致性模型
  • HAL库实现SPI读写FLASH(W25Q32)
  • 组合Composition(has-a)
  • python日期
  • [Mysql]创建数据库基础
  • Rocky Linux 9.x 基于 kubeadm部署k8s 1.32
  • 【H2O2 | 软件开发】前端深拷贝的实现
  • 基于javaweb的SpringBoot公司日常考勤系统设计与实现(源码+文档+部署讲解)
  • CMake基础之-控制流
  • 【备赛】遇到的小问题-1
  • 施磊老师高级c++(一)
  • 8. Merge Sorted Array
  • 射箭世界杯上海站摘得两银,中国队新周期冲击韩国缩小差距
  • 印度证实印巴已同意停火
  • 巴基斯坦空袭印度多地空军基地,巴战机进入印领空
  • 巴基斯坦首都及邻近城市听到巨大爆炸声
  • 习近平会见缅甸领导人敏昂莱
  • 上海“电子支付费率成本为0”背后:金融服务不仅“快”和“省”,更有“稳”和“准”