外观
MCP 与 Function Calling 有什么区别?如何选择?
标准回答
Function Calling 管模型如何提出调用;MCP 管应用如何连接外部能力,常常在同一条链路中配合。
- 应用可把 MCP 工具转换为模型可理解的工具定义。
- 模型选择工具后,应用校验参数和权限,再通过 MCP Client 调用 Server。
- 服务结果交回模型,完成下一轮决策或回答。
通俗例子
模型提出 searchDocs,程序校验后让 MCP Client 调用知识库 Server,结果再交回模型;不是用了 MCP 就不再需要模型调用格式。
深入解释
**两种约定分别连接哪一段:**Function Calling 描述模型如何输出工具名与参数;MCP 描述应用客户端如何发现、读取或调用外部服务提供的能力。前者靠近模型输出,后者靠近外部接入。
**同一个请求怎样配合:**模型要求 searchDocs,应用检查后通过 MCP Client 调知识库服务,再将检索结果交回模型。也可以不用 MCP 而直接调内部函数,所以二者不是互斥方案。
易混淆点
使用 MCP 不会取消 Function Calling,也不意味着任何模型都会直接说 MCP。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
ai-Q203