快速掌握AI智能体开发(第4讲)-记忆和工具
在前面,我们给 AI 装上了“大脑”(大模型),还学会了如何通过提示工程给它下达指令。但现在的 AI 依然有两个致命的短板:
- 记性差:
关掉对话框,它就彻底失忆,完全不记得你是谁。 - 没手脚:
它只能陪你聊天,没法帮你查实时天气、读写电脑文件或操作软件。
今天,我们就来给 AI 装上**“记忆系统”和“工具包”**,让它从一个只会空谈的聊天机器人,进化成能真正帮你干活的智能体(Agent)!
🧠 第一部分:如何让 AI 拥有“记忆”?
你可以把大模型想象成一个**“失忆的天才”**。每次你向它提问,它都是在一张全新的白纸上作答,完全不知道你们上一秒聊过什么。为了解决这个问题,我们需要给它外挂一个“记忆库”。
在开发中,我们通常把记忆分为两类:
短期记忆(工作记忆)
- 是什么:
其实就是当前的对话历史。 - 原理:
每次你向 AI 提问时,程序不仅会把你的新问题发过去,还会悄悄带上你们之前的几句对话。这样 AI 就能结合上下文来回答你。 - 局限:
这种记忆是临时的,一旦对话窗口关闭或历史记录太长超出了“上下文窗口”的限制,前面的内容就会被遗忘。
长期记忆(持久记忆)
- 是什么:
就像我们人类写在日记本或备忘录里的重要信息,比如你的个人偏好、核心约定、项目背景等。 - 通俗实现(文件快照法):
这是目前最主流且高效的方法。 -
程序会在你的电脑上创建一个专门的记忆文件(比如 memory.md)。 -
当你告诉 AI “请记住我叫小明,我喜欢简洁的回答”时,AI 会调用一个“写记忆”的工具,把这句话写进 memory.md文件里。 - 下一次
你再找它聊天时,程序会在后台自动把这个文件的内容读取出来,作为“系统设定”悄悄塞给 AI。 -
这样,哪怕隔了一周,AI 一看到文件里的内容,立刻就能想起:“哦,你是小明,你喜欢简洁!”
💡 核心点拨: 所谓的“记忆”,本质上就是在每次提问前,自动把相关的背景信息打包发给 AI。
🛠️ 第二部分:如何让 AI 拥有“工具”?
如果大模型是智能体的“大脑”,那么**工具(Tools)**就是它的“手脚”。通过工具,AI 就能突破纯文本的限制,去真实世界里执行任务。
工具到底是什么?
在技术上,工具通常被称为 Function Calling(函数调用)。简单说,就是你提前写好一些能执行具体功能的代码函数(比如“查询天气的函数”、“读取文件的函数”),然后把函数的名字、作用和需要的参数告诉 AI。
AI 调用工具的“四步循环”
AI 并不是直接操作你的电脑,而是通过一个严密的“思考-行动”循环来使用工具:
- 思考与规划:
你问 AI:“帮我查一下石家庄今天的天气。” AI 发现光靠自己的脑子(预训练知识)不知道今天的实时天气,但它记得你给它配备了一个叫 get_weather(城市名)的工具。 - 输出指令:
AI 不会直接告诉你天气,而是输出一段标准的指令(通常是 JSON 格式),意思是:“我决定调用 get_weather工具,参数是石家庄。” - 执行工具:
你的程序(Python 代码)接收到这段指令,去真正执行那个查天气的代码,并从天气接口获取到结果:“晴,25度”。 - 反馈与总结:
程序把“晴,25度”这个结果作为新的信息发回给 AI。AI 恍然大悟,最后组织语言回复你:“石家庄今天天气晴朗,气温 25 度,很适合出门哦!”
常见的 AI 工具包括:
- 搜索工具:
联网搜索最新新闻或资料。 - 代码执行器:
写代码并运行,用来做数学计算或数据分析。 - 文件操作:
读取、修改或创建你电脑上的文档。 - 软件 API:
帮你发邮件、订日历、操作 ERP 系统等。
🔄 第三部分:推理循环——智能体的“灵魂”
有了记忆和工具,还需要一个引擎把它们串联起来,这就是推理循环(Reasoning Loop)。
你可以把它想象成 AI 的**“内心独白”**。面对一个复杂任务,AI 会不断重复以下过程,直到任务完成:
- 观察:
看看用户的要求,再看看记忆库里有没有相关背景。 - 思考:
我现在的信息够回答问题了吗?不够的话,我需要用什么工具? - 行动:
调用工具,获取新信息。 - 再思考:
工具返回的结果有用吗?我是直接回答,还是需要继续查别的东西?
正是这个“思考、行动、观察、再思考”的循环,让 AI 能够像人类专家一样,一步步拆解并完成复杂的任务。
为了让你更直观地感受“记忆”和“工具”,建议进行以下观察和体验:
- 体验记忆:
找一个支持“记忆功能”的 AI 产品(如豆包的 Memory 功能,或国内一些带有“知识库/记忆”功能的AI助手)。告诉它一个你的个人习惯(比如“我是一名程序员,以后解释代码请用 Python 举例”)。然后开启一个全新的对话窗口,问它:“我是什么职业的?”,看看它是否能记住。 - 体验工具:
向 AI 提问一个它必须联网才能回答的问题,比如“今天石家庄的空气质量怎么样?”或者“帮我总结一下这篇网页的内容(贴一个链接)”。观察它在回答前,是否会显示“正在搜索”或“正在调用插件”的提示。
恭喜你!学完今天的内容,你已经掌握了 AI 智能体最核心的骨架。现在的你,已经具备了理解甚至动手开发一个基础智能体的能力!
下一步预告: 既然智能体这么强大,我们该如何评估它干得好不好?又该如何把它安全地部署上线,让它真正变成我们的生产力?下一阶段,我们将进入工程化与生产部署的学习!准备好了吗?💪
夜雨聆风