游乐游手机版
首页/AI热点日报/热点详情

模型上下文协议与函数调用的关系与区别详解

类型:热点整理2026-07-12
MCP通过按需加载与分层调用机制优化传统FunctionCalling,解决上下文爆炸和跨模型兼容性问题。它不取代FunctionCalling,而是在其基础上提供统一、高效的基础设施,降低上下文占用,支持动态工具管理,适用于大规模多工具智能体系统。

探索 MCP 与 Function Calling:大模型智能体系统的优化之道

在构建大模型驱动的智能体(Agent)系统时,Function Calling 是让模型调用外部工具的核心机制。然而,随着工具数量增长、模型种类增多,传统 Function Calling 逐渐暴露出上下文爆炸、跨模型兼容性差等问题。MCP(Model Context Protocol) 应运而生,它通过按需加载、分层调用等机制,在不改变模型能力的前提下,为智能体系统提供了更高效、更统一的基础设施。本教程将系统解析两者的差异与联系,并详细拆解 MCP 的优化原理与实现流程。


一、Function Calling 的上下文爆炸风险与解决方案

核心问题: 每次调用模型时,所有函数的定义(functionstools)都会被注入到 system message 中,占用上下文窗口并按输入 token 计费。OpenAI 官方明确说明:

functions 会被注入到 system message 中,因此它们会占用上下文并按输入 token 计费;如果遇到上下文极限,应当减少函数数量或精简参数描述。”

只要所有输入 token(系统提示 + 函数列表 + 对话历史 + 用户提问)之和 没有超过 所选模型的最大上下文窗口,就不会触发 context_length_exceeded 错误;反之就会报错。

哪些场景下上下文容易“爆”?

  • 函数描述写得尤为冗长(例如:将完整 OpenAPI schema 逐字段贴进去);
  • 对话历史很长且未做截断
  • 一次性把所有函数都塞给中小窗口模型

解决方案: 精简函数描述、对历史对话进行摘要或截断、根据用户意图动态筛选需要暴露的函数——这正是 MCP 的核心思路之一。

来源:https://www.53ai.com/news/LargeLanguageModel/2025052068514.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。