00:00:00Closco 团队刚刚修复了 MCP 最大的问题,
00:00:03他们添加了工具搜索功能,
00:00:05通过在使用工具前先搜索工具名称,
00:00:07而不是将所有可用工具预加载到上下文中,
00:00:10从而将上下文减少了高达 95%。要知道,
00:00:13预加载可能会占用数万个 token,
00:00:15甚至在你写第一个提示词之前就被消耗掉了。
00:00:18但为什么以前不是这样工作的呢?
00:00:21他们是从 Cloudflare 那里偷来的这个技术吗?
00:00:24点击订阅,让我们深入了解一下。
00:00:26MCP 服务器无处不在,
00:00:28有 GitHub 的、
00:00:29Docker 的、
00:00:30Notion 的,
00:00:31甚至还有一个 Better Stack 的,
00:00:34我听说它非常好用。
00:00:35随着人们在代码之外的所有事情上都使用 Claude Code 和大语言模型,看来 MCP 短期内不会消失。
00:00:43但它也有自己的问题:命名冲突、
00:00:46命令注入,
00:00:46以及最大的问题——token 效率低下,
00:00:50因为来自已连接服务器的所有工具通常都会被预加载到模型的上下文窗口中,
00:00:55以便让模型获得完整的可见性。
00:00:57包括工具名称、
00:00:58工具描述、
00:00:59完整的 JSON 模式文档(其中包含可选和必需参数、
00:01:03它们的类型、
00:01:04各种约束条件),
00:01:06基本上是大量数据。
00:01:07Redis 团队使用了来自四个不同服务器的 167 个工具,
00:01:11这在编写提示词之前就占用了超过 60,
00:01:14000 个 token。
00:01:15几乎占据了 Opus 20 万 token 上下文窗口的一半,而且这还不包括技能和插件。
00:01:21所以如果你有很多服务器,可能会占用相当多的 token。
00:01:25是的,
00:01:26我知道市面上有一些模型,
00:01:27比如 Gemini,
00:01:29拥有 100 万 token 的窗口,
00:01:31但模型往往会随着你向上下文中添加的内容越多而表现越差。
00:01:35那么解决这个问题的最佳方法是什么呢?
00:01:37我在网上看到了两种流行的路径:程序化方法,
00:01:39也就是 Cloudflare 所采用的方法,
00:01:42以及搜索方法,
00:01:43也就是 Claude Code 团队所采用的方法。
00:01:46我稍后会谈谈程序化方法,但首先,让我们来谈谈搜索流程,它的工作原理是这样的。
00:01:53首先,Claude 会检查预加载的 MCP 工具是否超过上下文的 10%。
00:01:59也就是说,如果上下文窗口是 20 万 token,那就是 2 万 token。
00:02:04如果没有超过,则不会发生任何变化,模型会正常使用 MCP 工具。
00:02:10但如果超过了,Claude 就会使用自然语言动态发现正确的工具,并根据提示词加载三到五个最相关的工具。
00:02:22它只会将这些工具完全加载到上下文中,供模型正常使用。
00:02:27这实际上是他们在 GitHub 上被请求最多的功能,
00:02:31它的工作方式类似于 AgentSkills,
00:02:35后者只将技能名称和描述加载到上下文中,
00:02:38当它发现一个它认为相关的技能或提示词中提到的技能时,
00:02:42就会将该特定技能的所有内容加载到上下文窗口中。
00:02:46简而言之,就是渐进式披露。
00:02:47Anthropic 和 Cursor 在对 MCP 工具使用这种方法时都看到了巨大的好处。
00:02:53但程序化方法又如何呢?
00:02:55这种方法是通过让模型通过代码来编排工具,而不是进行 API 调用。
00:03:01因此,
00:03:01对于这三个需要根据前一个响应依次工作的工具,
00:03:05Claude 可以编写一个 Python 脚本来完成所有这些编排,
00:03:11而不是进行单独的 API 工具调用,
00:03:14然后执行代码并将结果呈现给模型。
00:03:16Cloudflare 更进一步,
00:03:19让模型为所有可用工具编写 TypeScript 定义,
00:03:23然后在沙箱(通常是 Worker)中运行代码。
00:03:27Claude Code 团队实际上尝试过程序化方法,
00:03:31但发现搜索方法效果更好,
00:03:33考虑到 Claude 非常擅长编写代码,
00:03:36我发现这真的很难相信。
00:03:38而且,
00:03:38Vercel 发布的 Agent Browser CLI 无头 Chromium 工具在 Claude Code 中运行得非常好,
00:03:47我相信如果你能用类似 MCPorter 这样的工具把所有 MCP 工具转换成 CLI 命令,
00:03:54模型运行特定工具的 CLI 命令会比把东西加载到上下文中要简单得多,
00:03:59效率也更高,
00:04:00不过这只是我个人的看法。
00:04:01总的来说,我很高兴 MCP 服务器的问题正在被关注和解决,这也许能说服我安装不止一个服务器。