AI Agent学习Day4:实现具有记忆能力的多工具Agent
前言
在 Day3 的学习中,我们完成了第一个简单的 AI Agent。
实现了:
-
大模型理解用户需求
-
AI 自动选择工具
-
Python 执行具体任务
-
工具结果返回给 AI
当时的 Agent 流程:
用户
↓
DeepSeek
↓
Tool Calling
↓
Python函数执行
↓
返回结果
但是这个 Agent 还有两个问题:
-
只能使用一个或少量固定工具
-
每次对话结束后,AI 不记得之前的信息
所以今天的目标是:
让 Agent 拥有多个工具,并且具备连续对话能力。
一、从单工具Agent到多工具Agent
1. 为什么需要多个工具?
现实中的 AI 助手不可能只会一种能力。
例如:
计算助手:
calculator()
翻译助手:
translate()
搜索助手:
search()
文件助手:
read_file()
如果用户提出不同任务,Agent 需要自己判断:
当前应该使用哪个工具?
二、多工具Agent的结构
之前:
Agent
|
|
calculator()
现在:
Agent
|
Tool Registry
/ | \
calculator multiply search
Agent 根据用户需求选择对应工具。
三、Tool Registry(工具注册表)
为了方便管理多个工具,我们使用一个字典保存工具。
例如:
tools_map = {
"calculator": calculator,
"multiply": multiply
}
这里:
左边:
工具名称
右边:
Python函数
当 AI 返回:
multiply
程序可以:
tools_map["multiply"]
找到对应函数。
这个设计非常重要。
因为以后增加几十个工具时,不需要写大量判断。
四、增加第二个工具
例如增加乘法工具:
def multiply(a,b):
return a*b
现在 Agent 有:
def calculator(a,b):
return a+b
def multiply(a,b):
return a*b
工具表:
tools_map = {
"calculator": calculator,
"multiply": multiply
}
五、为什么工具描述很重要?
AI 并不会直接读取 Python 代码。
它不知道:
def multiply():
是什么意思。
我们需要告诉 AI:
{
"name":"multiply",
"description":"计算两个数字相乘"
}
其中:
description 非常重要。
它决定 AI 是否能正确选择工具。
例如:
不好:
description:
这是一个工具
AI 不知道用途。
好的:
description:
计算两个数字相乘
AI 可以根据用户需求匹配。
六、Agent Memory(记忆能力)
1. 为什么需要记忆?
普通 API 调用:
每次请求都是独立的。
例如:
第一次:
用户:
计算12+34
AI:
结果46
第二次:
用户:
再乘2
如果没有历史:
AI 不知道:
什么东西乘2?
七、Memory的本质
很多人认为:
AI模型自己会永久记忆聊天。
实际上不是。
大模型本身:
输入
↓
计算
↓
输出
它不会自动保存历史。
所谓记忆:
实际上是:
每次请求时,把之前的聊天记录重新发送给模型。
例如:
messages=[
{
"role":"user",
"content":"计算12+34"
},
{
"role":"assistant",
"content":"结果是46"
},
{
"role":"user",
"content":"再乘2"
}
]
AI看到完整上下文后:
才能理解:
“再乘2”是什么意思。
八、Agent Loop(智能体循环)
这是今天最重要的概念。
普通程序:
开始
|
执行
|
结束
Agent:
思考
|
行动
|
观察结果
|
继续思考
|
行动
也叫:
Reason → Act → Observe
例如:
用户:
查询天气
AI:
思考:
需要天气工具
行动:
调用weather()
观察:
得到天气数据
回答:
今天温度25℃
九、Memory + Tool Calling完整流程
最终 Agent:
用户
|
↓
Memory
|
↓
DeepSeek
|
-----------------
| |
↓ ↓
普通回答 Tool Calling
|
↓
Python工具
|
↓
返回结果
|
↓
DeepSeek
|
↓
最终回答
十、今天学习的新知识总结
1. Multi Tool Agent
一个 Agent 可以拥有多个工具。
例如:
tools_map={
"calculator":calculator,
"multiply":multiply
}
2. Tool Registry
工具管理机制。
本质:
Python字典。
作用:
根据工具名称找到对应函数。
3. Memory
Agent保存上下文的能力。
本质:
messages=[]
保存历史消息。
4. Agent Loop
Agent不断循环:
思考
↓
行动
↓
观察
↓
回答
这是现代 AI Agent 的核心设计。
十一、今天最大的收获
经过 Day3 和 Day4 的学习,AI Agent 的核心结构已经清晰:
大模型 Brain
|
判断和决策
|
----------------------
| |
Memory Tools
记住上下文 执行任务
简单来说:
大模型负责思考,工具负责行动,Memory负责记忆。
总结
今天完成了 AI Agent 的重要升级:
从:
只能调用工具的简单Agent
升级到:
具有多个工具和上下文记忆能力的Agent
理解了:
-
Tool Registry
-
Multi Tool Agent
-
Memory
-
Agent Loop
这些概念也是后续学习:
-
LangChain
-
LangGraph
-
OpenAI Agents SDK
-
RAG系统
的基础。
下一阶段将继续学习如何让 Agent 操作真实数据,例如:
-
文件读取
-
PDF解析
-
图片OCR
-
网络搜索
让 Agent 从“会计算”变成真正能够完成任务的智能助手。
更多推荐



所有评论(0)