白话大模型——第四回 如何让大模型像人一样使用工具?
为了能够理解我接下来所说的内容,推荐你先回看白话大模型的前三回,以做到无缝衔接。
前面三回你已经知道了如何使用大模型?总结起来很简单,大模型就是一个见多识广的普通人,你可以通过和他聊天的方式,让它回答你的问题。
接下来请你想象这样一个场景。
你在检查小朋友的数学作业,他们已经学到了两位数乘除法,其中一个题目是计算37 x 24 等于几,这时你会怎么办?
我相信你一定会掏出手机,打开计算器,然后依次输入3 7 x 2 4 =,这时候计算器上就会显示出正确的答案。
人脑并不擅长计算大数的乘除法,所以需要借助计算器这类的计算工具来解决问题。
与之类似,大模型也不擅长特别大的数字的计算,你能不能想出办法,让它像人一样使用工具来解决问题呢?
大模型只是一段程序,没有身体,自然无法直接使用计算器。但请你思考一下,计算器是什么?
计算器本质上只是一段程序。你如果熟悉Scratch,可以将它简单的想象成Scratch中的一个自制积木。
这个自制积木的参数是两个数字和一个运算符号。你只要根据接收到的数字和运算符号,计算出对应的结果,这个积木是不是就可以作为一个计算器使用了?
现在工具已经有了,想要大模型使用这个计算器,是不是只需要让它提供两个数字和运算符号就可以了。
通常让大模型使用工具简单分为三个步骤,我们还是一步一步来看看它们具体怎么做。
第一步,向大模型提问,并告诉它可以使用的工具,得到需要使用的工具名称和参数
想要让大模型使用工具,自然你需要先告诉它有哪些工具可以使用?
经过前面三回合的学习,可能你已经想到,可以在提示词中加入对工具的描述。
工具的描述通常会包含工具的名字,工具的用处,以及使用工具需要传的参数。
这时大模型会自行进行判断,回答你的问题是否需要使用工具?如果需要使用,它将会返回给你对应的工具信息。
第二步,使用工具,拿到工具返回的结果。
拿到大模型返回的工具信息,你就可以手动去执行工具,获取工具返回的结果。
第三步,将工具得到的结果告诉大模型,让大模型回答你的问题。
敲黑板划重点:
-
1. 大模型使用的工具是一些写好的程序。 -
2. 大模型使用工具分三步: - 第一步,向大模型提问,并告诉它可以使用的工具(需要包含工具的描述信息,例如工具的作用和工具的参数),得到需要使用的工具名称和参数
- 第二步,使用工具,拿到工具返回的结果。
- 第三步,将工具得到的结果告诉大模型,让大模型回答你的问题。
- 3. MCP只是一种工具协议,帮助普通人能够更容易让大模型使用不同的工具。
如果觉得内容不错,欢迎你点一下「在看」,或是将文章分享给其他有需要的人^^
相关好文推荐:
0条留言