跳转至

工具调用与 MCP

工具调用让模型能够使用外部能力,例如搜索、数据库、代码执行、文件读写和业务 API。MCP(Model Context Protocol)可以理解为一种把工具和上下文标准化暴露给模型客户端的协议。

为什么需要工具调用

模型参数本身不适合保存所有实时信息,也不应该直接承担所有确定性计算。工具调用可以让模型:

  • 获取最新数据。
  • 执行精确计算。
  • 查询业务系统。
  • 操作文件或代码。
  • 调用专用模型或服务。

工具设计原则

  • 输入 schema 明确,减少自由文本歧义。
  • 返回结果结构化,便于模型继续推理。
  • 权限最小化,危险操作需要确认。
  • 工具错误要可解释,不能只返回失败。
  • 工具数量不要泛滥,优先做稳定常用工具。

MCP 的价值

  • 标准化工具暴露方式。
  • 统一资源、提示词和工具的上下文接口。
  • 降低不同客户端与工具服务之间的适配成本。
  • 更容易做权限控制和审计。

常见工具类型

  • Search:搜索网页、文档或知识库。
  • Database:SQL / NoSQL 查询。
  • Code Interpreter:运行代码、分析数据。
  • File System:读取、修改、生成文件。
  • Browser / GUI:操作网页或桌面应用。
  • Business API:订单、用户、工单、指标系统。

风险

  • 工具 hallucination:模型臆造不存在的工具参数。
  • 权限扩大:工具能做的事情超过任务需要。
  • 状态不一致:模型记忆中的状态和外部系统不一致。
  • 错误传播:工具结果错,模型继续基于错误结果生成。