Function Calling与MCP协议

根据Bilibili UP主堂吉诃德拉曼查的英豪的视频什么是Function Calling与MCP协议?它们为何要这样设计?做出的总结笔记

定义

Function Calling和MCP其实严格意义上不是一个东西。

  • Function Calling:大家希望赋予LLM感知环境、改变环境的能力,总的来讲就是“工具调用能力”。基于这个目标,先通过提示词工程实现了最初版本的Function Calling,但效果不佳。所以后来LLM提供商对这种场景做了针对训练,并提供参数让大家传入函数定义,以解决幻觉问题。
  • MCP:本质是一个协议。因为各家LLM提供商的大模型接口不一样,希望大模型调用的工具方式也不一样。调用方式不同,每个开发者就要针对性的写不同的调用代码逻辑,很是麻烦。于是就需要有一个协议,来标准化这件事。订好了这个协议,我们照着协议开发可以减少很多重复工作。

存在的问题

无论是Function Calling还是后来的MCP协议,其实都没有解决一个问题,就是上下文冗长,Token消耗大。这也是当前的一大问题。

上下文工程

最近这个词被提的很多,Function Calling和MCP协议就是这个名词的一个体现,可以理解为是提示词工程的一种延伸。

posted @ 2025-08-31 19:00  南山有榛  阅读(83)  评论(0)    收藏  举报