竞品对比与选型
函数调用、工具调用与 MCP
厘清 Function Calling 与 Tool Calling 与 MCP 在模型参数、工具执行与协议职责方面的职责边界。
发布日期: · QVeris团队制作

AI Agent 分层架构指南 — 解释执行层、抽象层和协议系统,以及 QVeris 如何通过能力路由将它们连接起来。
执行 · 抽象 · 协议 · 路由
什么是函数调用?
函数调用是一种模型级执行机制:LLM 输出结构化 JSON 参数,而不是自然语言文本。它回答“应调用哪个函数,以及使用什么参数?”,定义模型如何表达调用特定函数的意图。
函数调用由模型 API 直接提供。OpenAI、Anthropic 和 Google 都实现了它 — 模型接收可用函数定义列表,并可以用命名函数和提供解析参数的结构化 JSON 对象响应。模型不执行函数。它输出要调用哪个函数以及使用什么参数。开发者的代码负责实际运行该函数。
范围:单次调用。模型决定调用 get_stock_price(symbol="AAPL") 并输出 {"name":"get_stock_price","arguments":{"symbol":"AAPL"}}。这就是函数调用。它不在多个股票价格 API 之间选择、不管理 API 密钥、不处理重试、不验证 Schema — 这些是更高层的关注点。
什么是工具调用?
工具调用是 Agent 级抽象层,负责工具选择、调用、多工具协同和执行流程。它回答“Agent 应为这个任务使用哪个工具?”,位于函数调用之上。
工具调用位于 LLM 和实际工具实现之间。当 Agent 可以访问 10 个不同的市场数据工具时,工具调用决定调用哪一个 — 不仅仅是函数名称和参数,还包括哪个提供商、哪个 API 和哪个执行路径。它管理生命周期:选择 → 执行 → 验证 → 重试 → 回退。
范围:多工具。工具调用跨多个工具、提供商和执行尝试进行协调。它是防止 Agent 仅仅因为名称听起来正确就调用错误工具的层。
什么是 MCP?
MCP(模型上下文协议)是标准化工具协议层,定义工具如何描述、暴露并连接到 AI 模型和 Agent,包括工具 Schema 格式、服务器定义、能力元数据和执行接口。它回答“工具如何暴露给 AI Agent?”
MCP 由 Anthropic 创建,为 MCP 服务器提供通用规范来声明其可用工具、资源和提示。MCP 服务器发布任何 MCP 兼容客户端都可以读取的清单。这种标准化使工具连接具有可预测性 — 每个工具不再有自定义集成格式,MCP 兼容的工具共享一种通用语言。
范围:生态系统。MCP 标准化了整个行业的工具暴露。它不选择使用哪个工具、不管理重试、不跨提供商路由。MCP 使工具更容易连接。更高的层使它们更容易选择和可靠执行。
分层架构模型
第 1 层 函数调用 — 执行
模型输出结构化 JSON,指定函数名称及参数。它回答“应调用哪个函数、使用哪些参数?”,运行在模型层,由 OpenAI、Anthropic 和 Google 等提供。
第 2 层 工具调用 — 抽象
Agent 层负责工具选择、调用、多工具协同、重试和执行流程。它回答“Agent 应为这个任务使用哪个工具?”,运行在 Agent 层。
第 3 层 MCP — 协议
这是一套规范工具如何描述、暴露和连接的标准。它回答“工具如何暴露给 AI Agent?”,运行在生态层,由 Anthropic 创建。
第 4 层 QVeris — 路由
能力路由层帮助 Agent 按任务意图发现工具、调用前检查 Schema,并在多家提供商之间路由。它回答“哪项能力最适合这个任务?”,横跨整个技术栈。
关键差异表
| Concept | Level | 用途 | 核心问题 | Scope |
|---|---|---|---|---|
| 函数调用 | 模型 | 结构化执行格式 | 模型如何调用函数? | 单次调用 |
| 工具调用 | Agent | 工具选择与执行 | Agent 应使用哪个工具? | Multi-tool |
| MCP | 协议 | 工具标准化 | 工具如何暴露? | Ecosystem |
| QVeris 路由 | 路由 | 跨提供商选择能力 | 哪项能力最合适? | 跨工具智能 |
为什么需要所有层
当层次被压缩为单一层时,AI Agent 会失败。每一层解决其下层无法解决的独特问题:
仅使用函数调用
无法在工具之间进行选择。模型可以输出 get_price("AAPL"),但无法判断应使用 10 个价格 API 中的哪一个、哪个具有正确的 Schema,或哪个当前可用。
仅使用工具调用
没有 MCP 时,每个工具都采用自定义集成格式;没有路由层时,工具选择被硬编码且非常脆弱,只要更换一家提供商,Agent 就可能失效。
仅使用 MCP
MCP 标准化连接方式,但不负责选择工具、管理重试、处理回退或按任务意图路由。它回答“有哪些工具?”,而不是“我应该使用哪个工具?”
没有路由层
没有 QVeris 或同类路由层时,Agent 会硬编码对提供商的依赖。提供商更改 API、实施速率限制或宕机时,Agent 就没有恢复路径。
真实系统中的执行流程
MCP vs 工具调用实践
| 维度 | MCP | 工具调用 | 函数调用 |
|---|---|---|---|
| 定义内容 | 工具暴露格式 | 工具执行逻辑 | 模型输出格式 |
| 回答的问题 | 如何描述工具? | 选择哪个工具? | 如何调用函数? |
| 运行层级 | 协议/生态层 | Agent 层 | 模型层 |
| 由谁规范? | Anthropic MCP 规范 | Agent 框架 | 模型 API(OpenAI、Anthropic、Google) |
| 是否负责选择? | No | Yes | No |
| 是否负责回退? | No | 取决于路由实现 | No |
常见误解
✔ 事实:MCP 标准化工具暴露;工具路由(函数调用 + 工具调用 + QVeris)负责选择、执行和回退。它们属于不同层级。
✔ 事实:函数调用输出要调用的函数及其参数,但不会在提供同一能力的 10 家不同提供商之间进行选择;那属于工具调用和路由。
✔ 事实:工具调用是执行逻辑,MCP 是协议规范;执行与标准化是两类不同的问题。
✔ 事实:生产级 AI Agent 需要全部四层。压缩层级会产生只能在演示中运行、却在真实条件下失效的脆弱系统。
QVeris 能力路由层
QVeris 作为能力路由层运行在 MCP 和工具调用系统之上。它不替代函数调用、工具调用或 MCP — 它提供将它们连接成生产级 Agent 架构的路由智能。
发现
根据任务意图在 MCP 服务器、外部 API 和能力目录中查找相关工具,而不是依赖硬编码工具名称。
Inspect
调用前验证 Schema、检查认证、评估成本与延迟并阅读提供商说明,尽早发现不匹配。
调用与路由
安全执行选定工具;失败时路由到已排序的回退方案。只要仍有回退工具,就不应直接回复“无法完成任务”。
验证与报告
检查输出结构、时间戳和来源元数据,并返回在四个层级中都具备完整可追踪性的结构化结果。
QVeris 是能力路由层。它不替代函数调用、工具调用或 MCP。它在其上提供路由智能 — 帮助 Agent 发现、检查和跨工具及 MCP 系统路由。阅读文档 → 或 查看定价 →。
生产架构模式
快速上手指南
用清晰的架构构建生产级 AI Agent 系统
QVeris 提供连接函数调用、工具调用和 MCP 的能力路由层,形成生产级 Agent 架构。Discover 和 Inspect 永久免费。
探索金融 Agent 工具阅读 QVeris 文档