白话大模型——第四回 如何让大模型像人一样使用工具?

为了能够理解我接下来所说的内容,推荐你先回看白话大模型的前三回,以做到无缝衔接。

白话大模型——第一回 大模型就是一个见多识广的普通人

白话大模型——第二回 使用大模型最重要的事,没有之一

白话大模型——第三回 所谓的知识库,到底是在做什么?

前面三回你已经知道了如何使用大模型?总结起来很简单,大模型就是一个见多识广的普通人,你可以通过和他聊天的方式,让它回答你的问题。

接下来请你想象这样一个场景。

你在检查小朋友的数学作业,他们已经学到了两位数乘除法,其中一个题目是计算37 x 24 等于几,这时你会怎么办?

我相信你一定会掏出手机,打开计算器,然后依次输入3 7 x 2 4 =,这时候计算器上就会显示出正确的答案。


人脑并不擅长计算大数的乘除法,所以需要借助计算器这类的计算工具来解决问题。

与之类似,大模型也不擅长特别大的数字的计算,你能不能想出办法,让它像人一样使用工具来解决问题呢?

大模型只是一段程序,没有身体,自然无法直接使用计算器。但请你思考一下,计算器是什么?

计算器本质上只是一段程序。你如果熟悉Scratch,可以将它简单的想象成Scratch中的一个自制积木

这个自制积木的参数是两个数字和一个运算符号。你只要根据接收到的数字和运算符号,计算出对应的结果,这个积木是不是就可以作为一个计算器使用了?


现在工具已经有了,想要大模型使用这个计算器,是不是只需要让它提供两个数字和运算符号就可以了。

通常让大模型使用工具简单分为三个步骤,我们还是一步一步来看看它们具体怎么做。

第一步,向大模型提问,并告诉它可以使用的工具,得到需要使用的工具名称和参数

想要让大模型使用工具,自然你需要先告诉它有哪些工具可以使用?

经过前面三回合的学习,可能你已经想到,可以在提示词中加入对工具的描述。

工具的描述通常会包含工具的名字,工具的用处,以及使用工具需要传的参数。

这时大模型会自行进行判断,回答你的问题是否需要使用工具?如果需要使用,它将会返回给你对应的工具信息。



第二步,使用工具,拿到工具返回的结果。

拿到大模型返回的工具信息,你就可以手动去执行工具,获取工具返回的结果。


第三步,将工具得到的结果告诉大模型,让大模型回答你的问题。

最后一步还是熟悉的配方,将第二步从工具中得到的答案合并到提示词中,再让大模型回答你的问题。
看到这里,你的脑子中是不是出现了黑人问号的表情。
你心里可能会想,既然还需要你自己来按计算器,你干嘛还要去问大模型,简直是多此一举。
其实,上面的演示只是为了让你明白大模型是如何使用工具。
实际使用大模型的过程中,会有一个程序来帮助你告诉大模型有哪些可以使用的工具,接着程序会拿到大模型返回的工具名称和参数,去使用工具得到结果,最后在帮你把结果告诉大模型,从而回答你的提问。
对你来说,只需要正常提问就可以了。
另外还有几个实际发生与上面的解释不同的地方。
大模型使用工具时,并不是用提示词和大模型对话,而是有专门处理工具的参数。
你可以想象成大模型在听到你提问的时候,他还有一个小纸条在旁边,专门用来记录有哪些工具,并且会把使用工具的过程也记录在这张小纸条上。
为了方便大模型获取到工具的信息,小纸条上记录的也不是上面演示那样的普通文字,而是有特殊格式的JSON字符串。
如果你经常使用大模型应用,前几个月你一定听到过一个很火的词,MCP。其实它并没有什么神奇的地方,只是一种管理工具的协议。
在有MCP之前,如果你想要让大模型使用工具,需要先在自己的电脑上开发好一个工具程序。然后在使用大模型时,要让大模型的辅助程序知道有这个工具,并去使用工具。
这就使得工具的使用门槛比较高,如果你不懂编程,很可能无法让大模型使用工具。
有了MCP之后,大家提前约定好了一种工具的格式。所有人开发的工具,都要照着这种格式做,并且可以将做好的工具分享出来。
这样大模型的辅助程序就可以通过MCP自己发现有哪些工具,然后去使用它们。那怕你不懂编程,只要给大模型配置好别人分享的MCP地址,就能使用这个地址中提供的工具。
但是,对于大模型使用工具的过程,自己开发的工具和MCP提供的工具,本质上没有什么区别,都是上面所说的三个步骤,所以你也不需要跟着网络媒体过渡的神话MCP。
任何一种技术出来之后,你只需要搞清楚它的原理和它所能解决的问题,就不会被网络上的新闻头条每天带着乱跑,也能更有效的使用它。

敲黑板划重点:

  1. 1. 大模型使用的工具是一些写好的程序
  2. 2. 大模型使用工具分三步:
  3.     第一步,向大模型提问,并告诉它可以使用的工具(需要包含工具的描述信息,例如工具的作用和工具的参数),得到需要使用的工具名称和参数
  1.     第二步,使用工具,拿到工具返回的结果。
  2.     第三步,将工具得到的结果告诉大模型,让大模型回答你的问题。
  3. 3. MCP只是一种工具协议,帮助普通人能够更容易让大模型使用不同的工具。


 

 

如果觉得内容不错,欢迎你点一下「在看」,或是将文章分享给其他有需要的人^^


相关好文推荐:

白话大模型——第三回 所谓的知识库,到底是在做什么?

白话大模型——第二回 使用大模型最重要的事,没有之一

白话大模型——第一回 大模型就是一个见多识广的普通人

如何为你的群聊增加一个AI助手?

Scratch AI扩展工具使用说明(更新)

白话三国(全120回)

白话西游(全100回)

0条留言

留言