Agent4S|从 LLM 到 Agent:记忆与工具
以会议记录和天气查询为例,解释Agent如何把历史信息放回上下文,并通过工具调用与执行循环,让大语言模型推进多步任务。
> 作者:胡梓贤 · [阅读微信原文 ↗](https://mp.weixin.qq.com/s?__biz=MzkyNjY0NjI3NA==&mid=2247485791&idx=1&sn=c89c4fa09f4cedf0a871eda665781192&chksm=c2356032f542e924603e2532ac09ed29f91ea6b0ec810c72c3328f646a9e5854318291169b76#rd)
# Agent4S|从LLM到Agent:记忆与工具
内容摘要
1、Agent 是围绕大语言模型搭建的任务执行系统。
2、所谓“记忆”,本质上是把历史信息重新组织进当前上下文。
3、工具调用和循环机制,让模型能在多步任务中查、做、再回答。
全文约 1465 字,阅读时间约 3 分钟。
很多人第一次接触 agent,会觉得它像是一种比聊天机器人更高级的 AI。准确地说,agent 不是模型,而是围绕大语言模型搭建的一套任务执行系统[1]。它不仅能回答问题,还能保存状态、调用工具,并在多步过程中持续推进任务,直到任务完成。
01
## 记忆:让 LLM "记住"对话
从最底层看,LLM 本质是一个函数,根据输入进行输出,并不像人一样有记忆,每一次文本生成请求本身是独立的。但是当我们在网页上和模型对话的时候,模型似乎记住了之前的聊天内容,那么模型是如何实现“记忆”的呢。答案就是每次发送给大模型消息的时候,并不是只发送当前的问题,而是有一个外部程序在管理对话:它会把历史信息保存下来,并在下一轮再次提供给模型。这个外部系统通常被称为agent。
这就引出了“上下文”这个概念。所谓上下文,就是这一次真正送进模型的全部信息:比如系统说明、用户问题、历史对话、检索到的资料,以及工具返回的结果。所谓“记忆”,本质上就是系统在需要的时候,把过去的重要信息重新放回当前上下文。
举个例子:你先把一份会议记录交给系统,让它总结内容;之后你再问“请问会议时间是什么”。你这次提出的问题会被agent 整理起来和前面的历史对话一并交给 LLM,再让 LLM 生成答案。正因为有agent 将历史信息整理发送给模型,模型就表现得像“记住了”会议记录。
Agent 记忆与上下文示意图
*图 1:Agent 通过上下文管理,把历史信息重新放入当前问题,让模型表现出“记忆”。*
02
## 工具:让 LLM 感知和操作外界
只有记忆还不够,因为模型本身并不能直接接触外部世界。它不知道实时天气,也不能自己去发邮件、查数据库或搜索网页。因此如果你向大模型提问,今天上海的天气,大模型大概率会回复,“抱歉,我无法获得实时天气信息”。要让它获得这些能力,需要给它接上“工具”。工具可以理解成系统额外挂给模型的外部能力:查询天气、检索文档、搜索网页、执行代码,甚至操作其他服务。
工具的使用过程通常是这样的:系统先把可用工具及其参数格式告诉模型;模型判断是否需要调用工具;如果需要,它会输出一个工具调用请求;然后由外部程序真正执行这个工具,再把执行结果返回给模型;最后模型根据结果生成对用户的回答。也就是说,真正动手调用工具的是外部系统,模型负责的是“决定何时调用、调用什么、传什么参数”。
下面图片详细展示了,当用户咨询天气时,信息流动的全过程。这里涉及到四个主题,用户,agent,大模型和工具。用户发出问题,上海的天气。Agent收到问题后,将当前所有的工具,包括天气查询工具,计算器工具以及问题打包发送给LLM。LLM收到Agent传来的信息,告诉Agent需要调用天气查询工具,然后Agent将查询结果以及之前的历史信息一并送给LLM,然后LLM返回问题答案,如此答案才通过Agent返回给用户。
Agent 调用工具的信息流示意图
*图 2:用户、Agent、大模型与天气查询工具之间的信息流动。*
本案例中只使用了查询天气的工具;如果包含多个工具,或者任务更复杂,这一过程会反复发生:系统会基于当前上下文生成下一步动作(例如调用工具),执行后再将结果加入上下文,继续生成后续步骤。这种迭代过程,就是 agent 的循环。
由此就组成了最简单的agent 系统,包括LLM,记忆,工具,循环,让模型不只是“说”,还能够在多步任务中“查、做、再回答”。
再往后发展,人们又提出了不少增强 agent 能力的技术。比如,上下文管理用来解决对话太长、信息太杂的问题;RAG 让系统可以先从外部知识库中检索资料,再交给模型生成答案;ReAct 让模型以推理与行动交替的方式推进任务;MCP 则提供了一种把 AI 应用标准化连接到外部工具和数据源的方法。
通过这些技术,agent 被进一步完备,从而能够完成更加复杂的任务,进行更加长时间的自主运行。
## 参考资料
1. Bilibili. 从 LLM 到 Agent Skill,一期视频带你打通底层逻辑! https://www.bilibili.com/video/BV1E7wtzaEdq/