第 3 课 · 它说「我要用工具」时,到底发生了什么
读这一课前你需要会什么:读过第 1、2 课。 你需要知道:它一圈一圈地写、它脑子里什么都不存、 以及我们能靠改那段送进去的文字来改变它的行为(第 2 课的上下文学习)。 出现的每一个新词都会当场用大白话讲清。讲不清楚的地方就是我的问题,请直接标出来。
这一课结束时你会
- 指着一段真实的请求内容说出每一块是干什么的;
- 说得出「它要调工具」这件事,我的代码凭什么认得出来——以及一共有几种认法;
- 说得出查到的结果为什么不能随便塞回去,以及正确的形状是什么。
1. 先看第 2 课留下的那个问题
第 2 课说:我们能靠在那段文字里写规矩来指挥它。
那就该问了:「你可以查天气」这句规矩,写下去之后会发生什么?
它不会去查。它办不到。 第 1 课说过,它只会读一段文字、往后面接一点。
它能做的只有一件事:把「我想查天气」这个意思,写成一段有固定形状的文字。
剩下的全是我们的活:
认出这段文字是一次调用请求 → 我们的代码
真的去查天气 → 我们的代码
把查到的结果放回它眼前 → 我们的代码
这一课讲的就是这三件事,以及它们各自的坑。