尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

MCP和Function Calling的区别

MCP和Function Calling的区别
📅 发布时间:2026/6/19 14:53:18

原文转载地址

之前一直浅浅看了一眼mcp,觉得和function calling并没有本质区别,被吹的太火了,这两天回头又看了一眼,又有了新的感悟。

让llm回答今天的天气

这种问题明显llm无法回答,因为llm无法感知外部世界,可是如果我们定义一个函数: getweather(day), 并向llm解释有这么一个函数,调用一下就可以知道今天的天气,只需要传入一个day参数就行。因此我们将参数,函数名,函数描述一并作为prompt传递给llm,llm就能知道调用这个函数的信息了。

真的能稳定调用成功吗?

我们知道llm的输出并不稳定,哪怕同一个输入都会产生不同答案。而写代码都知道,函数名,参数哪怕错一个字母,多一个括号,代码就报错,调用失败。

因此,llm一样会遇到这个问题: llm不一定会规规整整的调用函数的输出。llm可能会多一个括号,多一个分号,甚至说一些叽里咕噜客套话,里面藏着调用的代码,这对于我们从llm输出结果中找到调用函数的语句不利。

让llm学会稳定调用函数

为了稳定function calling,老老实实按照一定标准输出调用函数名字和参数,我们可以对llm针对性训练,该输出函数名的时候就输出函数名,后面必定跟着这个函数的参数以及值。

让llm调用更多的函数

不同的人写的函数难以统一,对函数的描述也不相同,人能理解,可是llm不一定会。

通过训练,llm可以学会了如何稳定调用A风格描述定义的function,但是万一有人换个B风格描述function来让llm调用,llm岂不是又抓瞎了,输出不稳定了。

mcp统一被调用的函数的描述规范

正是因为不同人描述函数风格习惯不一样,llm不会稳定调用函数,那么不如统一标准风格吧。

按照大家约定好的规则描述函数,比如先描述函数名,再描述参数名,不准反过来。而llm也按照这种风格的数据集进行训练,那么llm就能稳定调用这种风格描述的函数了。以后所有人都按照这种风格描述函数,就能让llm稳定调用任何新提供的函数,今天加一个获取股票的函数getstocks(xxx),明天加一个查询水电的函数getbills(xxx),都能稳定调用不报错了。

函数参数变化怎么办

我们知道,代码总是再不断地重构迭代的。比如还是查天气的函数getweather,函数提供一个参数day,现在重构升级了,函数变成getweather(day, location), 不仅仅可以查自己IP位置的天气,还能查看别的地方的天气,传入一个新的location参数就好了。

可llm哪知道函数接口变化了,只能费时费力去改prompt描述,所以mcp采用client和server模式,client会去向server询问当前这个外部函数的参数是什么,然后传回给llm,这样llm就知道最新的参数,再也不用担心接口变动而调用失败了。

总结

MCP提供了一种统一的外部接描述和调用规范,今后的llm都针对这种描述规范训练一下,llm就能稳定调用符合mcp规范的接口了,再也不用担心llm总是调用失败了。

mcp还将接口参数的描述从prompt端转移到server端,不再是写死接口参数,而是改成动态获取,以后接口随便怎么升级和改动,都能稳稳成功调用。

相关新闻

  • 《程序员修炼之道》 阅读笔记三
  • sg.绑定键盘事件
  • FastAPI 架构指南:用这份模版打造可扩展又安全的系统(附实战经验)

最新新闻

  • 2026上海黄金变现去哪靠谱?本地5家正规回收渠道深度拆解,第1家真的全能无短板 - 速递信息
  • 基于ACME协议的SSL证书自动化管理:从原理到实践
  • DeepSeek-V4架构解析:DSA稀疏注意力与MoE路由实战
  • 开源推理模型本地部署实战指南
  • 2026寄钢琴哪家物流便宜?贵重大件寄件渠道推荐 - 快递物流资讯
  • Claude大模型多轮对话中的认知退化现象实证分析

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号