惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
I
InfoQ
H
Help Net Security
GbyAI
GbyAI
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
Y
Y Combinator Blog
L
LangChain Blog
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
博客园 - Franky
D
Docker
Jina AI
Jina AI
罗磊的独立博客

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解
AI最大的误解:LLM实际上并不会调用工具
nextdata · 2026-06-16 · via 博客园_首页

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

用户
  ↓
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(服务员)
   ↓
顾客

LLM = 决策者
工具 = 执行者

或者更简单地说:

LLM 思考。
代码 行动。

总结

LLM 做决策,
代码 来执行。

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