AI最大的误解:LLM实际上并不会调用工具

大多数初学者以为是这样的:

用户↓
GPT↓
天气 API

但事实并非如此。

真相是:

用户↓
GPT↓
描述工具调用的文本↓
你的 Python 代码↓
天气 API↓
你的 Python 代码↓
GPT↓
回答

这是 AI 工程中最重要的概念之一。


黄金法则

LLM 只做一件事:

生成下一个 token。

就这样。

  • 不会调用 API。
  • 不会访问数据库。
  • 不会发送邮件。
  • 不会查询天气。
  • 不会预订航班。

只会生成文本。


想象 GPT 被困在一个盒子里

把 GPT 想象成一个被锁在房间里的非常聪明的人。

这个人可以:

  • ✅ 阅读文本
  • ✅ 书写文本

这个人不能:

  • ❌ 访问互联网
  • ❌ 打开数据库
  • ❌ 调用 API
  • ❌ 运行 Python
  • ❌ 发送邮件

这个人唯一能做的,就是在纸上写下指令。

这就是 LLM 的工作方式。


示例 1:天气机器人

用户问:

德里的天气怎么样?

大多数人想象的是:

用户↓
GPT↓
天气 API↓
回答

现实:

用户↓
GPT↓
"我需要深圳的天气"↓
Python 代码↓
天气 API↓
Python 代码↓
GPT↓
回答

GPT 首先生成类似这样的内容:

{"tool": "get_weather","city": "Shenzhen"
}

注意一个重要的事情。

GPT 并没有调用天气 API。

GPT 仅仅是生成了描述工具调用的文本。


你的代码才是真正干活的

你的 Python 代码看到:

{"tool": "get_weather","city": "Shenzhen"
}

然后执行:

weather = get_weather("Shenzhen")

现在 API 才被真正调用了。

返回结果可能是:

{"temperature": 36,"condition": "Sunny"
}

你的代码将结果发回给 GPT。

然后 GPT 写出:

德里的天气是 36°C,晴天。


把 GPT 想象成一个经理

想象一家公司。

经理(GPT) 说:

查一下德里的天气。

员工(Python 代码) 实际执行:

  • 调用 API
  • 获取结果
  • 返回结果

经理(GPT) 向客户解释结果:

36°C,晴天。

GPT 是经理。

你的代码是员工。

经理从不离开办公室。


示例 2:SQL 数据库

用户问:

我们有多少客户?

GPT 无法访问数据库。

GPT 生成的是:

SELECT COUNT(*)
FROM customers;

你的代码执行这条 SQL。

数据库返回:

12567

你的代码发送:

{"customer_count": 12567
}

回给 GPT。

GPT 回复:

您目前有 12,567 位客户。

再次强调:

GPT 从未接触过数据库。

你的代码做了这件事。


示例 3:发送邮件

用户说:

给 John 发一封邮件。

GPT 无法发送邮件。

它只能生成:

{"tool": "send_email","to": "john@example.com","subject": "Meeting","body": "Let's meet tomorrow."
}

你的代码接收到这段内容。

然后:

send_email(...)

才被真正执行。

没有你的代码:

什么也不会发生。


你永远不会忘记的心智模型

想象一家餐厅。

顾客:

我要一份披萨。

服务员(GPT):

写下订单。

5号桌要一份披萨。

厨房(工具/API):

实际烹饪披萨。

服务员(GPT):

把披萨端回来。

服务员从不做饭。

厨房从不与顾客交谈。

各司其职。

顾客↓
GPT(服务员)↓
工具/API(厨房)↓
GPT(服务员)↓
顾客

每个 AI 工程师都应该记住的公式

LLM = 决策者
工具 = 执行者

或者更简单地说:

LLM 思考。
代码 行动。

总结

LLM 做决策,
代码 来执行。

这一句话几乎解释了你将构建的每一个 AI Agent、聊天机器人、智能助手和工具调用系统。