前言

在 Day3 的学习中,我们完成了第一个简单的 AI Agent。

实现了:

  • 大模型理解用户需求

  • AI 自动选择工具

  • Python 执行具体任务

  • 工具结果返回给 AI

当时的 Agent 流程:

用户
 ↓
DeepSeek
 ↓
Tool Calling
 ↓
Python函数执行
 ↓
返回结果

但是这个 Agent 还有两个问题:

  1. 只能使用一个或少量固定工具

  2. 每次对话结束后,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 从“会计算”变成真正能够完成任务的智能助手。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐