SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

工具注册表和模型上下文协议

工具注册表是一份名单,告诉你有哪些工具可用。MCP 是一套沟通规则,决定了工具怎么被发现、怎么被调用、怎么回报结果。有名单没规则,等于有电话号码但双方不会说同一种语言。

寓言

号码簿和电话线

老郑的配货中心有一本厚厚的供应商号码簿,里面记录了每个供应商能提供什么零件、联系方式、配送范围。新来的调度员小周翻了翻号码簿,觉得工具很齐全,可以直接开工。

小周拿起电话挨个打过去。第一个供应商接了电话,但只会说法语,小周说中文,两人比划了半天,订单没下成。第二个供应商说他们不再做这个业务了,号码簿上没更新。第三个供应商倒是能沟通,但要求订单必须按特定格式发邮件,不能电话口头下单。

小周把问题报给老郑。老郑说:号码簿只管「有哪些人」,不管「怎么跟他们打交道」。你需要一套统一的通信协议——用什么语言、发什么格式、怎么确认收到、怎么回报结果、出错时怎么重试。

老郑带人花了两周,给所有供应商发了一套标准:统一用 JSON 格式的订单模板,统一用 HTTPS 传输,统一在收到订单后三秒内返回确认码,失败时统一返回错误码和原因。还在号码簿旁边加了一个「可用性探测器」,每天自动检查哪些供应商还活着。

新的调度系统上线后,小周只需要输入需要的零件类型,系统自动从注册表里匹配合格的供应商,用统一协议发起询价、下单、追踪。一个调度员一天能处理过去三个人的订单量。

后来有个客户问老郑:你们的号码簿不就是你们的「工具系统」吗?老郑说:号码簿是工具注册表,但真正让工具能用的是一整套通信协议。注册表是你的通讯录,协议是你们的共同语言加上对话规则。

一个同行听了老郑的经验,回去把自己公司的工具列表做得更漂亮了,但没管通信协议。一个月后上线的 Agent 对着注册表发愣:工具都在,但不知道怎么叫它们干活。

老郑后来给每本号码簿的封面加了一行字:此簿需配合通信协议使用,单独持有无效。 这条线终于接稳。稳。

工具注册表

一个目录或清单,记录 Agent 可以调用哪些外部工具、每个工具的接口描述和参数规格。它解决的是「有什么可用」的问题。

模型上下文协议 (MCP)

一套标准化的通信协议,定义了模型与外部工具之间如何发现、连接、调用和交换数据。它解决的是「怎么用」的问题,包括认证、请求格式、响应格式和错误处理。

故事对应

  • 号码簿:工具注册表,列出可用工具的清单和描述。
  • 供应商各说各的语言:没有统一协议时,每个工具的调用方式不一致。
  • 老郑制定的统一标准:MCP 这类协议做的事——标准化发现、调用、响应流程。
  • 可用性探测器:协议层面的健康检查和动态发现机制。
  • 号码簿封面加的那行字:注册表的价值依赖于通信协议的存在。

落到项目里

搭建 Agent 工具系统时,先定通信协议再填注册表。协议定了(MCP 或其他标准),后面加新工具只是往注册表里增条目。反过来先攒一堆工具再补协议,每个工具的接入方式都不一样,改造成本远超预期。评审时问一句:换一个工具实现,Agent 需要改代码还是只改注册表配置?