论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
一文搞懂MCP协议与Function Call的区别
一文搞懂MCP协议与Function Call的区别
罪恶克星
论坛元老
|
2025-3-23 07:56:21
|
显示全部楼层
|
阅读模式
楼主
主题
1946
|
帖子
1946
|
积分
5838
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
一、媒介
大家好,我是六哥!
本日咱们聊聊编程里两个听起来有点复杂的概念——MCP协媾和函数调用(function call),其实用大白话来讲,它们就是两种差异的“沟通方式”,就像咱们人与人之间互换也有差异的方式一样。下面我就用生活中的例子和Python代码,给大家好好讲讲它们的区别。
二、Function Call是啥
1、生活例子
咱先来说说Function Call。Function Call就比如你去餐厅点菜。你走进餐厅,跟服务员说“给我来一份红烧肉”,服务员听到你的话后,就去厨房把你的需求告诉厨师,厨师按照这个需求去做菜,做好了之后服务员再把菜端给你。在这个过程中,你点菜的这个动作就相称于一次Function Call,你是调用者,服务员是传递需求的媒介,厨师是现实执行任务的人。
2、Python代码例子
def make_red_cooked_pork():
return "一份香喷喷的红烧肉"
# 调用函数
dish = make_red_cooked_pork()
print(dish)
复制代码
在这段代码里,make_red_cooked_pork 就是那个“厨师”,它界说了如何做出红烧肉。而 dish = make_red_cooked_pork() 这行代码就是你“点菜”的动作,也就是一次Function Call。调用之后,函数会返回结果,末了把结果打印出来。
3、Function Call的特点
Function Call有个特点,就是它是同步的。啥意思呢?就是说你调用一个函数之后,程序会一直等着这个函数执行完,把结果返回给你,才会继承执行背面的代码。就像你在餐厅点菜后,得一直等着菜做好端上来,才能接着做别的事。
三、MCP协议又是啥
1、生活例子
MCP协议就像是你在网上购物。你在购物平台上下单买了一件衣服,下单之后,你不用一直等着衣服送到你手上才能去做别的事,你可以该干嘛干嘛,该上班上班,该追剧追剧。购物平台会在衣服准备好之后,安排快递给你发货,等快递到了你家附近,会给你发消息通知你取件。在这个过程中,你下单的动作就相称于通过MCP协议发送了一个请求,购物平台和快递就是处理这个请求的系统,它们会在符合的时间给你反馈结果。
2、Python代码例子
import asyncio
async def prepare_clothes():
print("开始准备衣服...")
await asyncio.sleep(3) # 模拟准备衣服需要3秒
print("衣服准备好啦,开始发货...")
return "一件漂亮的衣服"
async def order_clothes():
task = asyncio.create_task(prepare_clothes())
print("下单成功,你可以去做别的事啦。")
result = await task
print("衣服到啦:", result)
# 运行异步函数
asyncio.run(order_clothes())
复制代码
在这段代码里,prepare_clothes 函数就像是购物平台和快递,负责处理你买衣服的请求。order_clothes 函数里,asyncio.create_task(prepare_clothes()) 这行代码就相称于你下了单,程序不会等着 prepare_clothes 函数执行完,而是会继承执行背面的代码,打印出“下单成功,你可以去做别的事啦”。等 prepare_clothes 函数执行完后,再通过 await task 获取结果。
3、MCP协议的特点
MCP协议是异步的。也就是说,你发送一个请求之后,程序不会停下来等结果,而是会继承执行其他代码。等结果出来了,再返来处理这个结果。就像你网上下单后不用一直等着衣服到,还能去做其他事情。
四、MCP协议与Function Call的区别总结
1、同步与异步
Function Call是同步的,调用函数后程序会一直等候函数执行完返回结果,才继承执行后续代码;而MCP协议是异步的,发送请求后程序不会等候结果,会继承执行其他代码,等结果出来再处理。
2、执行方式
Function Call就像你在餐厅点菜,得等菜做好才能接着干别的;MCP协议就像网上购物,下单后可以去做其他事情,等东西到了再处理。
3、应用场景
Function Call得当那些需要立即得到结果,并且后续代码依赖这个结果的场景;MCP协议得当那些处理时间较长,不需要立即得到结果,并且不想让程序壅闭的场景,比如网络请求、文件读写等。
五、末端
通过上面的生活例子和Python代码,相信大家对MCP协媾和Function Call的区别有了更清晰的熟悉。其实编程里很多概念都能和生活中的事情接洽起来,这样理解起来就会容易很多。盼望大家都能在AI的门路上越走越顺!
好了本次就先介绍到这里吧 如果觉得对你有用的话 接待星标我啊
你们的点赞、在看、留言、分享是我持续更新的最大动力!(求求了)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
罪恶克星
论坛元老
这个人很懒什么都没写!
楼主热帖
2. 函数
从Android开发的角度比较MVC,MVP,MVVM ...
京东张政:内容理解在广告场景下的实践 ...
KAFKA EAGLE 监控MRS kafka之操作实践 ...
关键字和标识符
React技术栈 --》plugin与JSX语法使用 ...
dotnet 6 为什么网络请求不跟随系统网 ...
HCIA学习笔记十一:ARP地址解析协议 ...
数字图像增强的一般方法
Vue前后台数据交互实例演示,使用axios ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表