MCP 要解决的那件事 — 30 个连接件变成 13 个
这一章讲三件事: MCP 出现之前工具是怎么接给模型的、为什么那样接会爆炸; 那份共同的规矩到底规定了什么;以及参与这件事的三个角色各自站在哪儿。
它在全书链条里的位置: 第 01、02 章讲清了「动手」是什么。 从这一章起,全书转向「怎么让动手这件事不必每次重做一遍 」。 第 04 章开始动手写代码,而这一章是那些代码的地图。
1. 先看现象:每加一个模型,工具都要重接一遍
这一节说明:在共同规矩出现之前,把一个工具接给模型是一件多不划算的事。
假设你写了一个「读文件」的小程序,想让模型能用上它。 你去查文档,发现每家模型厂商收工具的方式都不一样:
- 有的要你在请求里放一个
tools列表,每项按它规定的那几格填; - 有的没有这个位置,要你把工具的名字、说明、参数写进发给模型的那段话里;
- 那几格各叫什么名字、参数怎么描述、模型答应用工具时回复长什么样——三家三个样。
于是你为「读文件」写了三段接线代码,一家一段。
接下来你写第二个工具「跑测试」——三段又要重写一遍。
书里把这件事的历史交代得很清楚:在 MCP 之前,自建生成式 AI 平台的公司、 以及 LangChain 这样的公开框架,各自想出了不同的办法让用户实现工具再传给模型, 而每一种模型都要有自己的接线件1。