ai对话平台中的functioncalling+mcp

项目中mcp和functioncalling到底做了什么?

mcp是模型上下文协议,是ai与外部工具tool、数据源交互的通用标准化协议,ai界的usb-c万能接口,解决的是工具接入标准化的问题;functioncalling 是agent与大模型之间工具调用约定的对话格式,大模型输出结构化json指令,主动调用外部api、函数、工具执行的实际操作。

项目中我把工具能力层标准化成了独立的mcpserver,然后主聊天服务通过mcpclient去连接和调用这些工具,模型测通过functioncalling is来做工具的选择,这样就形成了,模型决策、服务端编排、mcp工具执行、结果回填、前端可视化的完整闭环,相比于把工具直接写死在业务代码中,这种方式更标准、更容易扩展,也更适合后续接入更多工具来严谨成完整的agent平台。

为什么是functioncalling+mcp的组合

纯functioncalling的能力边界:在ai对话项目中,function calling能够解决让模型知道什么时候调用工具的问题,但是function calling本身并不负责工具标准化管理,跨服务工具的复用,工具协议统一,工具注册、校验、元信息暴露,以及更通用的工具生态接入

**为什么要引入mcp:**当工具数量开始增长,或者是要把工具能力从业务聊天中拆出来,单纯把工具都写在主服务中的话就会遇到问题,比如:聊天编排和工具执行耦合严重,工具元信息不够标准化,后续接入更多工具的话维护成本很高,很难对外说自己是具备标准化agent工具层能力

**引入mcp的核心目标:**做工具层标准化,把工具能力抽离成标准的mcpserver,而不是散落在业务服务中的私有函数;降低业务编排层和工具执行层耦合,主服务负责对话编排,模型交互,状态回传,mcpserver负责工具暴露,参数校验,工具执行,工具结果返回;为后续平台演进预留空间,比如说之后需要更多的业务工具,多个mcpserver,更标准的agent架构

mcp及functioncalling的作用分别是什么

functioncalling:模型通过function calling自主决定调用哪个工具,负责决策。也就是模型理解哪些工具可用,根据用户的问题决定要不要调用工具,模型生成需要调用的工具名和调用参数

mcp:负责用标准的协议暴露工具,提供工具的描述,schema,调用入口,让宿主系统通过标准客户端调用这些工具,也就是负责执行工具逻辑

模型通过function calling产出工具调用意图,后端把这种意图映射到mcpclient上执行.

前端负责交互和展示,Express 负责编排和转发,MCP 负责工具的定义和执行,Qwen 模型负责意图理解和决策。Function Calling 让模型能够自主决定何时调用工具、调用哪个工具,MCP 提供了标准化的工具接口,SSE 实现了实时的流式输出,三者配合实现了智能化的多 Agent 协作对话体验。

相关推荐
网安蟹佬霸12 分钟前
OSINT开源情报收集实战:从信息搜集到资产测绘(2026最新万字保姆级指南)
前端·网络·安全·web安全·网络安全·开源
别动我齐刘海14 分钟前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
单线程_0131 分钟前
【源码阅读】Vue3 Tokenizer 词法分析器完整状态机流转深度梳理(3.4+ 新版架构)
前端
PBitW1 小时前
PM 丢来 3 个 Excel、12 个功能、4 种情形?用 TRAE Work 30 分钟整理成前端开发文档
前端·trae
0566462 小时前
agent学习——流式响应与文本切分
网络·python·学习
for_ever_love__3 小时前
python基础语法学习: 面向对象的三大特性
开发语言·python·学习
风骏时光牛马3 小时前
AIAgent高可用架构:弹性容错与故障自愈的落地实践
前端
IT_陈寒3 小时前
Vue的响应式什么时候会失灵?这个坑我踩了
前端·人工智能·后端
烟锁池塘柳03 小时前
解决 Firefox 浏览器网页文本选中高亮不明显问题(含仅修改特定网站高亮显示的方案)
前端·firefox
Patrick_Wilson3 小时前
Web 认证方案技术指南
前端·后端·面试