智能助手不仅会动嘴,还要会动手!
Function Calling与Tools
依据上下文输出下一个TOKEN是大语言模型和核心工作模式。但是某些特定的应用场合下,例如当前时间、天气或者需要精确数学计算等无法通过预测输出的事实性信息,大语言模型往往会束手无策——它不掌握相关准确信息。
Function Calling(函数调用)就是解决这类问题的一种方案。这种方案的实现思想可以概括如下:
- 将特定功能封装为计算机可以执行的程序,例如获取当前天气。
- 将该函数的功能、所需要的参数以自然语言的形式描述清楚,然后嵌入大模型的上下文环境中。
- 大模型根据用户对话的上下文来判断是否需要调用工具。如果需要,则以规定好的形式(如JSON)与函数执行标记输出调用函数所需的参数。
- 当大模型的输出含有预定义的函数执行标记时,解析输出参数,调用对应的函数,再将调用结果返回给大模型。这一步可以从会话记录中隐藏,这样用户无感。
- 大模型结合函数调用的结果与之前的上下文,以自然语言的形式输出最终消息。
将类似功能的计算机程序、功能与参数描述等所需资源封装成一个一个方便大模型使用的模块,即为Tools(工具)。
所以,你可以将获取时间、天气、订票、叫车等等各种大模型天生不具备的功能封装成工具供大模型使用,让只会动嘴的大模型真正开始“动手”做事情。大语言模型成为真正负责思考的“大脑”,工具成为它的虚拟手臂,AI助手不再仅限于聊天,而是可以与现实交互,并解决具体问题。
MCP(Model Context Protocol)
💡
普通人其实不需要关注这部分内容。
当你有了成千上百个工具,你自然会面临一个现实问题:如何管理这些纷繁复杂的工具,让大语言模型能够准确识别并使用它们?
MCP的出现正是为了解决这个问题。MCP的本质是协议——规定工具与工具的使用者彼此使用何种方式沟通。遵循共同的协议,就像来自不同国家的人开始使用同一种语言沟通,可以极大的提升消息沟通效率。
MCP由Anthropic于2024年首次提出。这种概念已经在行业内获得普遍应用。你可以在它的官方网站获得完整学习资料。
What is the Model Context Protocol (MCP)? - Model Context Protocol

官方网站
同时它还提供了几乎全部主流语言的开发SDK,包括Rust。

总体来看,MCP的出现是这个行业走向成熟的标志。一方面大语言模型的迭代还在继续,新出的模型不断在突破能力的上限。另一方面,如何将AI大脑的思考能力转换为实际的应用,则促生了MCP的出现。智能助手不再局限于聊天对话框,它有了使用工具,改造现实的能力!
