使用 Cursor 深度体验 3 个 MCP Server,惊艳但并不实用?
大语言模型刚出来的时候,只是通过预训练的模型来生成回答内容。这个时候的模型有两个主要的缺点:
- 有些数据它不知道,比如 2024 年 3 月训练的模型,就不知道 2024 年 5 月的事情;
- 没法使用外部工具。这里的工具我们可以等效理解为函数调用,比如我有个发表文章的工具函数,我没法用自然语言让大模型来帮我调用这个函数。
为了解决这两个问题,OpenAI 最先在模型中支持了 function calling
功能,他们在这篇博客: Function calling and other API updates 有介绍。
背景:理解 Function Calling
这时候,我们就可以告诉模型,我有这么几个工具,每个工具需要什么参数,然后能做什么事情,输出什么内容。当模型收到具体任务的时候,会帮我们选择合适的工具,并解析出参数。之后我们可以执行相应的工具,拿到结果。并可以接着循环这个过程,让 AI 根据工具结果继续决定往下做什么事情。
我在网上找了个动图,可以来理解下有了 function calling 后,做事情的流程: