Ch14 Agent原理修订于 二〇二六年七月一日

工具调用演变

你在 第14章 · Agent 是怎么工作的 里看到 Agent(能自己干活的 AI)能”调用工具”。但 AI 最早是不会用工具的——它只会说话。怎么从”只会说话”变成”会用工具”的?这篇从头讲。

2022 年之前:AI 只会说话

最早的 AI 模型(GPT-3 时代,2020 年,GPT 是一种早期 AI 模型的名字)只能做一件事:你输入文字,它一个字一个字地输出。每个输出的最小单位叫 token——可以理解为一个词、一个字、或一个标点。

你可以让它”写一首诗”,“翻译一段话”,“总结一篇文章”。但你不能让它”帮我查今天的天气”或者”帮我算一下 12345 乘以 67890”——这些需要调用外部工具,AI 做不到。

唯一的办法是手动拼接——把工具的结果提前准备好,粘在问题后面。比如你想让 AI 总结一篇网页,你先自己把网页内容复制下来,贴在问题里说:“总结以下内容:…”。AI 以为自己”看到”了网页,其实是你手动塞给它的。

2023 年:AI 学会”叫工具”

2023 年 6 月,OpenAI 推出了 Function Calling(函数调用)1。这是一个巨大的变化:AI 不再只是”说话”,它可以”叫工具”。

具体怎么工作:

  1. 你事先定义好有哪些工具可用(比如”天气查询”、“计算器”、“搜索”)
  2. AI 收到你的问题时,自己判断:这个问题需要调用哪个工具?需要什么参数?
  3. AI 输出”请调用天气查询,城市=北京”
  4. 你的程序帮它执行天气查询,把结果”北京明天晴,25 度”返回给 AI
  5. AI 根据工具返回的结果,组织成自然语言回答:“明天北京晴天,气温 25 度左右,不用带伞。”

关键变化:AI 不再只是”处理文字”,它成了”决策中心”——判断该用什么工具、怎么用、怎么解读结果。

2024 年:标准化

OpenAI 叫 Function Calling,Anthropic(Claude 的开发商)叫 Tool Use——本质上是一回事,但名字和格式不同。

LangChain 和 LlamaIndex 这两个工具库做了标准化工作——不管底层 AI 是 OpenAI 还是 Anthropic,你定义工具的方式都一样。开发者不需要为每个 AI 重写一遍工具定义 2。

2024 年末:MCP 统一标准

2024 年 11 月,Anthropic 推出了 MCP(模型上下文协议)。它解决的不是”AI 怎么叫工具”,而是”工具的格式能不能统一”。

在 MCP 之前,你写了一个”天气查询”工具,只能在 OpenAI 的格式里用。想让它也能被 Claude 用?得再写一个版本。MCP 定了一套统一的工具描述格式——写一次,所有支持 MCP 的 AI 都能用。

详见 第15章 · Agent 之间的通信协议。

一张表看懂演变

时间叫什么AI 能做什么怎么实现的
2020-2022手动拼接只能说话人手动把工具结果粘在问题后面
2023.06函数调用判断该用什么工具AI 自己决定调用哪个工具
2024标准化跨平台使用同一套工具工具库封装
2024.11MCP写一次工具,处处能用统一的工具描述格式

跟你有什么关系

你每次用 AI 搜索(Perplexity、ChatGPT Search,都是 AI 搜索产品),背后就是函数调用的技术在工作——AI 判断你需要搜索,调用搜索工具,拿到结果后组织回答。

理解了 Function Calling 的演变,你就理解了 Agent 为什么能”干活”——不是 AI 本身变强了,是它学会了调用外面的工具。嘴变手的过程,就是这三年。

相关笔记

来源

注释

  1. OpenAI, “Function Calling and Other API Updates”, 2023.06.13, https://openai.com/index/function-calling-and-other-api-updates/ ↩

  2. LangChain, Tools Documentation ↩

关联7

知识图谱

局部图谱 · 点节点跳转