用60 多张定制可视化图表,助你轻松搞懂 LLM Agent

LLM Agent 正在变得越来越普及,似乎逐渐取代了我们熟悉的“常规”对话型 LLM。这些令人惊叹的能力并非轻易实现,而是需要许多组件协同工作。

img

本文通过 60 多张定制化可视化图表,带你深入探索 LLM Agent 领域,了解其核心组件,并进一步探讨多代理框架。

1、什么是 LLM Agent?

要了解 LLM Agent 是什么,我们首先需要探讨 LLM 的基础能力。传统意义上,LLM 的核心功能只是进行下一个 token 的预测。

img

通过连续采样多个 token,我们可以模拟对话,并利用 LLM 为我们的问题提供更详尽的答案。

img

然而,当我们继续“对话”时,任何给定的 LLM 都会暴露其主要缺点之一:它无法记住对话内容!

img

此外,LLM 在许多其他任务上也经常出错,比如基本的数学运算(如乘法和除法):

img

这是否意味着 LLM 很糟糕?当然不是!我们并不需要 LLM 具备所有能力,因为我们可以通过外部工具、记忆系统和检索系统来弥补其缺陷。

借助外部系统,LLM 的能力可以得到增强。Anthropic 将这种方式称为“增强型 LLM”(The Augmented LLM)。

img

例如,当面对一个数学问题时,LLM 可能会选择使用适当的工具(如计算器)。

img

那么,这种“增强型 LLM”算是一个 Agent 吗?不算,但也可以说稍微算是……

让我们从 Agent 的定义开始:

“一个 Agent 可以被视为通过传感器感知环境,并通过执行器对环境采取行动的任何事物。”
—— Russell & Norvig,《人工智能:一种现代方法》(2016)

Agent 会与环境交互,通常由几个重要组成部分构成:

  • Environments(环境) —— Agent 所交互的世界
  • Sensors(传感器) —— 用于观察环境
  • Actuators(执行器) —— 用于与环境交互的工具
  • Effectors(效应器) —— 决定如何从观察到行动的“思维”或规则

img

这一框架适用于所有与各种环境交互的 Agent,例如机器人与物理环境交互,或 AI Agent 与软件交互。

我们可以稍微泛化这一框架,使其适用于“增强型 LLM”。

img

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

为了选择需要采取的操作,LLM Agent 有一个关键组件:它的规划能力。为此,LLM 需要能够通过链式思维(chain-of-thought)等方法进行“推理”和“思考”。

img

通过这种推理行为,LLM Agent 可以规划出需要执行的操作。

img

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

img

根据系统的设计,LLM Agent 可以具有不同程度的自主性。

img

根据不同的观点,系统越多地依赖 LLM 来决定其行为方式,就越“像 Agent”。

在接下来的章节中,我们将通过 LLM Agent 的三个主要组成部分——记忆、工具和规划,来探讨各种实现自主行为的方法。

2、 记忆

LLM 是遗忘型系统,或者更准确地说,在与其交互时,它并不会执行任何记忆存储的功能。

例如,当你向 LLM 提出一个问题后,再跟进另一个问题,它不会记得之前的问题内容。

img

我们通常将这种记忆称为短期记忆,也叫工作记忆,它起到一个缓冲区的作用,用于存储(几乎)即时的上下文信息。这包括 LLM Agent 最近执行的操作。

然而,LLM Agent 还需要能够跟踪可能几十步的操作,而不仅仅是最近的行动。

img

这被称为长期记忆,因为理论上 LLM Agent 可能需要记录几十甚至上百步的操作。

img

接下来,让我们探讨几种为这些模型提供记忆的方法。

短期记忆

为模型启用短期记忆最直接的方法是利用模型的上下文窗口(context window),也就是 LLM 能够处理的 token 数量。

img

上下文窗口通常至少为 8192 个 token,有时甚至可以扩展到数十万 token!

较大的上下文窗口可以将完整的对话历史作为输入提示的一部分,从而实现对话跟踪。

img

只要对话历史能被包含在 LLM 的上下文窗口内,这种方式就是一种模仿记忆的不错方法。然而,与其说是实际记住对话,不如说我们是通过输入“告知” LLM 对话的内容。

对于上下文窗口较小的模型,或者当对话历史过多时,我们可以改用另一个 LLM 来总结迄今为止发生的对话内容。

img

通过不断总结对话,我们可以使对话内容保持较小的规模。这种方式能够减少 token 的数量,同时只保留最重要的信息。

长期记忆

LLM Agent 的长期记忆包括需要在较长时间内保留的过去操作记录。

一种常见的启用长期记忆的方法是将所有过去的交互、操作和对话存储在一个外部向量数据库中。

构建这样的数据库时,首先需要将对话内容嵌入为能够捕捉其语义的数值表示。

img

构建数据库后,我们可以将任何给定的提示(prompt)嵌入为向量表示,并通过与数据库中的嵌入向量进行比较,找到最相关的信息。

img

这种方法通常被称为 Retrieval-Augmented Generation(RAG)。

长期记忆还可以涉及跨会话保留信息。例如,你可能希望 LLM Agent 记住它在之前会话中完成的研究内容。

此外,不同类型的信息可以对应于不同类型的记忆进行存储。在心理学中,有许多记忆类型的划分,而 Cognitive Architectures for Language Agents 论文将其中的四种类型与 LLM Agent 相关联。

img

这种区分有助于构建具备代理能力的框架。例如,语义记忆(关于世界的事实)可以存储在与工作记忆(当前和最近的情况)不同的数据库中。

3、工具

工具使 LLM 能够与外部环境(如数据库)进行交互,或者使用外部应用程序(如运行自定义代码)。

img

工具通常有两种使用场景:一是获取数据以检索最新信息,二是执行操作,比如安排会议或订餐。

为了实际使用某个工具,LLM 需要生成与该工具 API 兼容的文本。我们通常期望生成可以格式化为 JSON 的字符串,这样可以轻松地将其传递给代码解释器。

img

需要注意的是,这种方式并不限于 JSON,我们还可以直接在代码中调用工具!

你还可以生成供 LLM 使用的自定义函数,例如一个简单的乘法函数。这通常被称为函数调用(function calling)。

img

一些 LLM 如果提示得足够准确和全面,几乎可以使用任何工具。目前大多数主流的 LLM 都具备这种工具使用能力。

img

一种更稳定的工具访问方法是通过对 LLM 进行微调(后续会详细介绍这一点!)。

工具的使用可以按照固定的顺序进行(如果代理框架是固定的)……

img

……也可以由 LLM 自主决定使用哪个工具以及何时使用。像上图中的 LLM Agent,实际上是由一系列 LLM 调用组成的(但具备自主选择操作/工具等的能力)。

img

换句话说,中间步骤的输出会被反馈回 LLM,以继续后续处理。

img

Toolformer

工具使用是一种增强 LLM 能力并弥补其缺陷的强大技术。因此,近年来关于工具使用和学习的研究工作发展迅速。

img“Tool Learning with Large Language Models: A Survey” 论文图片表明,随着对工具使用的关注不断增加,(Agentic)LLMs 预计将变得更加强大。

这项研究的重点不仅在于通过提示让 LLM 使用工具,还在于专门训练它们如何使用工具。

其中一个最早提出的技术叫做 Toolformer,这是一种能够决定调用哪些 API 以及如何调用的模型。

它通过使用 [ 和 ] 符号来表示调用工具的开始和结束。例如,当给出一个提示 “5 乘以 3 等于多少?” 时,模型会生成令牌,直到遇到 [ 符号为止。

img

接下来,它会生成令牌直到遇到 → 符号,这表示 LLM 停止生成令牌。

img

随后,工具会被调用,其输出将被加入到目前为止生成的令牌中。

img

当遇到 ] 符号时,表示 LLM 可以继续生成后续内容(如果需要)。

Toolformer 通过精心生成包含大量工具使用场景的数据集来实现这种行为。对于每个工具,手动创建一个 few-shot 提示,并用它来采样包含这些工具使用的输出结果。

img

工具的输出会根据工具使用的正确性、输出结果以及损失降低情况进行过滤。最终生成的数据集被用来训练一个 LLM,使其遵循这种工具使用的格式。

自 Toolformer 发布以来,已经出现了许多令人兴奋的新技术,例如可以使用数千种工具的 LLM(如 ToolLLM)或能够轻松检索最相关工具的 LLM(如 Gorilla)。

无论哪种方式,目前大多数 LLM(截至 2025 年初)都已经被训练得可以通过 JSON 生成轻松调用工具(正如之前提到的那样)。

模型上下文协议(Model Context Protocol,MCP)

工具是 Agentic 框架中的一个重要组件,它允许 LLM 与世界互动并扩展其能力。然而,当你有许多不同的 API 时,启用工具使用变得麻烦,因为任何工具都需要:

  • 手动追踪并提供给 LLM
  • 手动描述(包括其预期的 JSON 结构)
  • 在其 API 发生变化时手动更新

img

为了使工具在任何给定的 Agentic 框架中更容易实现,Anthropic 开发了模型上下文协议(Model Context Protocol,MCP)。MCP 对天气应用、GitHub 等服务的 API 访问进行了标准化。

它由三个组件构成:

  • MCP Host — 管理连接的 LLM 应用程序(例如 Cursor)
  • MCP Client — 与 MCP 服务器保持 1:1 的连接
  • MCP Server — 为 LLM 提供上下文、工具和功能

img

例如,假设你想让某个 LLM 应用程序总结你代码仓库中最新的 5 次提交。

MCP Host(与客户端一起)会首先调用 MCP Server,询问有哪些工具可用。

img

LLM 接收到信息后,可以选择使用某个工具。它通过 Host 向 MCP Server 发送请求,然后接收结果,结果中包括所使用的工具。

img

最后,LLM 接收到结果,并解析出一个答案返回给用户。

img

这个框架通过连接到任何 LLM 应用程序都可以使用的 MCP 服务器,使工具的创建变得更加容易。因此,当你创建一个与 Github 交互的 MCP 服务器时,任何支持 MCP 的 LLM 应用程序都可以使用它。

4、规划

工具的使用可以让 LLM 提升其能力。这些工具通常通过类似 JSON 的请求来调用。

但是,在一个 Agentic 系统中,LLM 如何决定使用哪个工具以及何时使用呢?

这就涉及到了规划。在 LLM Agent 中,规划指的是将给定任务分解为可操作的步骤。

img

这个计划使模型能够不断反思过去的行为,并在必要时更新当前计划。

img

为了在 LLM Agent 中实现规划,我们首先需要了解这项技术的基础,即推理。

推理

规划可操作步骤需要复杂的推理行为。因此,在完成任务规划的下一步之前,LLM 必须能够展示出这种行为。

“推理型” LLM 是指那些在回答问题之前倾向于“思考”的模型。

img

我在这里对“推理”和“思考”这两个词的使用稍微宽松一些,因为我们可以讨论这是否更像是人类的思考过程,还是仅仅将答案分解为结构化的步骤。

这种推理行为大致可以通过两种方式实现:对 LLM 进行微调或特定的提示工程。

通过提示工程,我们可以创建 LLM 应遵循的推理过程示例。提供示例(也称为少量示例提示,few-shot prompting)是一种引导 LLM 行为的绝佳方法。

img

这种提供思维过程示例的方法被称为思维链(Chain-of-Thought),它能够实现更复杂的推理行为。

即使不提供任何示例(零示例提示,zero-shot prompting),也可以通过简单地说“让我们一步一步来思考”来启用思维链。

img

在训练 LLM 时,我们可以为其提供包含类似思维过程的足够多的数据集,或者让 LLM 自己发现其思维过程。

一个很好的例子是 DeepSeek-R1,它通过奖励机制来引导思维过程的使用。

img

推理与行动

在 LLM 中启用推理行为固然很好,但这并不一定使其能够规划出可操作的步骤。

我们目前关注的技术要么展示推理行为,要么通过工具与环境交互。

img

例如,思维链(Chain-of-Thought)纯粹专注于推理。

最早将这两个过程结合起来的技术之一被称为 ReAct(Reason and Act)。

img

ReAct 通过精心设计的提示工程来实现这一点。ReAct 提示描述了三个步骤:

  • 思考(Thought)- 针对当前情况的推理步骤
  • 行动(Action)- 要执行的一组动作(例如,工具)
  • 观察(Observation)- 针对行动结果的推理步骤

这个提示本身非常简单明了。

img

LLM 使用这个提示(可以用作系统提示)来引导其行为,以循环的方式进行思考、行动和观察。

img

它会持续这种行为,直到某个动作指定返回结果为止。通过不断迭代思考和观察,LLM 可以规划行动、观察输出并相应调整。

因此,与具有预定义和固定步骤的 Agent 相比,这一框架使 LLM 能够表现出更具自主性的代理行为。

反思

没有人,即使是具备 ReAct 的 LLM,也并非每次都能完美完成任务。失败是过程的一部分,只要你能对这个过程进行反思。

这正是 ReAct 所缺少的部分,而 Reflexion 技术弥补了这一不足。Reflexion 是一种利用语言强化来帮助代理从先前失败中学习的技术。

该方法假设了三种 LLM 角色:

  • 执行者(Actor)- 根据状态观察选择并执行动作。我们可以使用诸如 Chain-of-Thought 或 ReAct 等方法。
  • 评估者(Evaluator)- 对执行者产生的输出进行评分。
  • 自我反思(Self-reflection)- 反思执行者采取的动作以及评估者生成的评分。

img

添加了记忆模块来跟踪动作(短期)和自我反思(长期),帮助代理从错误中学习并识别改进的行动。

一个类似且优雅的技术称为 SELF-REFINE,其中对输出进行优化和生成反馈的动作被反复执行。

img

同一个 LLM 负责生成初始输出、优化后的输出以及反馈。

img“SELF-REFINE: Iterative Refinement with Self-Feedback”论文中的注释图。

有趣的是,这种自我反思行为,无论是 Reflexion 还是 SELF-REFINE,都与强化学习的行为非常相似,即根据输出质量给予奖励。

5、多代理协作(Multi-Agent Collaboration)

我们探讨的单一代理存在几个问题:工具过多可能使选择变得复杂,上下文变得过于复杂,任务可能需要专业化。

相反,我们可以转向多代理(Multi-Agents),这是一种多个代理(每个代理都可以访问工具、记忆和规划能力)彼此之间以及与环境交互的框架:

img

这些多代理系统通常由专门的代理组成,每个代理都配备了各自的工具集,并由一个主管(supervisor)进行监督。主管负责管理代理之间的通信,并可以将特定任务分配给专门的代理。

img

每个代理可能拥有不同类型的工具,但也可能存在不同的记忆系统。

在实践中,有数十种多代理架构,但它们的核心通常包含两个组成部分:

  • 代理初始化(Agent Initialization)— 如何创建单个(专门的)代理?
  • 代理协调(Agent Orchestration)— 如何协调所有代理?

img

让我们探索各种有趣的 Multi-Agent 框架,并重点介绍这些组件是如何实现的。

人类行为的交互模拟

可以说,最具影响力且非常酷的多 Agent 论文之一是《生成式代理:人类行为的交互模拟》(Generative Agents: Interactive Simulacra of Human Behavior)。

在这篇论文中,他们创建了能够模拟可信人类行为的计算软件代理,这些代理被称为生成式代理(Generative Agents)。。

img

赋予每个生成式代理的配置文件使其以独特的方式行为,有助于创造出更有趣和动态的行为。

每个代理在初始化时都配备了三个模块(记忆、规划和反思),这与我们之前在 ReAct 和 Reflexion 中看到的核心组件非常相似。

img

记忆模块是这个框架中最重要的组件之一。它存储了规划和反思行为,以及迄今为止的所有事件。

对于任何给定的下一步或问题,记忆会被检索出来,并根据其新近性、重要性和相关性进行评分。得分最高的记忆会被共享给 Agent。

img《生成式代理:人类行为的交互模拟》论文中的注释图

这些组件共同作用,使 Agent 能够自由地进行行为并相互交互。因此,几乎没有太多的 Agent 协调工作,因为它们并没有特定的目标需要完成。

img来自交互演示的注释图

这篇论文中有太多精彩的信息片段,但我想特别强调他们的评估指标。

他们的评估主要以 Agent 行为的可信度为指标,并由人类评估者对其进行评分。

img《生成式代理:人类行为的交互模拟》论文中的注释图

它展示了观察、规划和反思在这些生成式代理的表现中是多么重要。正如之前探讨的,没有反思行为,规划是不完整的。

模块化框架

无论你选择哪种框架来创建 Multi-Agent 系统,它们通常都由几个组成部分构成,包括 Agent 的配置文件、对环境的感知、记忆、规划以及可用的动作。

img

实现这些组件的流行框架包括 AutoGen 17、MetaGPT 18 和 CAMEL 19。然而,每个框架处理 Agent 之间通信的方式略有不同。

以 CAMEL 为例,用户首先创建问题并定义 AI User 和 AI Assistant 角色。AI User 角色代表人类用户,并将引导整个过程。

img

之后,AI User 和 AI Assistant 将通过相互交互来协作解决查询。

img

这种角色扮演方法实现了 Agent 之间的协作通信。

AutoGen 和 MetaGPT 的通信方式有所不同,但归根结底都体现了这种协作通信的本质。Agent 有机会相互交流,以更新其当前状态、目标和下一步计划。

在过去的一年里,尤其是最近几周,这些框架的发展呈现爆炸式增长。

img

2025 年将会是令人无比兴奋的一年,因为这些框架会不断成熟和发展!

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

<think>嗯,用户想了解或实现LLM代理在数据分析方面的应用,特别是技术和实现方法。首先,我需要明确LLM代理在数据分析中的具体应用场景。比如数据预处理、探索性分析、预测建模等。然后要考虑技术实现的关键点,比如如何让LLM理解数据、生成代码或调用工具。 用户可能已经知道一些基本概念,但需要更具体的步骤和技巧。可能需要分模块讲解,比如核心架构、关键技术、实现步骤等。同时,用户可能对如何集成外部工具或处理数据隐私有疑问,所以得涵盖这些方面。 记得要引用提供的资料,比如引用[1]提到的Personal LLM Agents Survey,可能涉及代理的设计模式。引用[2]中的数据预处理和偏差检测步骤,可以关联到数据清洗部分。 还要考虑用户的实际操作,可能需要提供示例代码,比如Python中使用LangChain或AutoGPT的片段。但根据系统指令,代码块需要用反引号包裹,并确保LaTeX格式正确,比如数学公式用$...$。 生成的相关问题要围绕技术挑战、性能优化、多模态数据处理和伦理问题,这些都是用户在实现过程中可能遇到的后续问题。需要确保问题有针对性,帮用户深入理解。 最后,检查回答是否符合结构要求:分点清晰,引用正确,代码示例合适,相关问题相关性强。确保使用中文,避免使用Markdown,保持口语化但专业。</think>### LLM代理在数据分析中的技术实现与应用 LLM代理通过自然语言交互和自动化工具调用,显著提升了数据分析的智能化水平[^1]。以下是关键技术和实现步骤: 一、核心架构模块 1. **自然语言接口层** - 支持类似SQL的查询语句解析:$SELECT \ AVG(sales)\ FROM \ dataset \ WHERE \ region="Asia"$ - 实现意图识别和上下文跟踪 2. **认知推理引擎** ```python class AnalysisAgent: def __init__(self, dataset): self.memory = DataCache(dataset) self.tools = [StatsTool(), VizTool(), MLTool()] def execute_query(self, query): plan = self._generate_plan(query) return self._execute_steps(plan) ``` 二、关键技术实现 1. **数据理解增强** - 自动生成数据画像: $$f(x) = \frac{1}{N}\sum_{i=1}^{N} (x_i - \mu)^2$$ - 异常值检测算法集成 2. **工具调用机制** - 动态选择Pandas/Matplotlib等库 - 支持自定义函数注册: ```python @register_tool def trend_analysis(df, window=5): return df.rolling(window).mean() ``` 三、典型实现步骤 1. 数据预处理阶段 - 自动处理缺失值(引用[2]的预处理方法) - 类型推断与格式转换 2. 分析执行阶段 - 将自然语言转换为可执行代码 - 结果验证与置信度计算:$confidence = 1 - \frac{error}{threshold}$ 3. 可视化生成 - 自动选择图表类型 - 生成可交互的Dashboards 四、优化方向 1. 引入RAG技术增强领域知识 2. 实现多轮对话修正机制 3. 构建数据分析工作流模板库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值