No history yet

理解 MCP 与 CLI

连接 AI 与世界

假设你想让朋友帮你预订一家餐厅。你只需要说:“嘿,能帮我订一个周五晚上七点,在‘美味坊’的两人位吗?” 你的朋友能理解这个请求,并使用手机应用或打电话完成预订。

现在,想象一下让 AI 做同样的事情。AI 无法直接“打电话”或“使用应用”。它需要一种方式来与外部世界——那些应用、数据库和服务——进行交互。这就是 AI 工具交互发挥作用的地方。它为 AI 提供了与外部工具对话并执行任务的途径。目前,主要有两种模式:模型上下文协议 (MCP) 和命令行界面 (CLI)。

模型上下文协议 (MCP)

想象一下,你有一堆来自不同制造商的电子设备,每个设备都有自己独特的充电接口。你需要为每台设备准备一根特定的充电线,这会非常麻烦。现在,如果所有设备都采用同一种标准接口,比如 USB-C,你只需要一根线就能为所有设备充电。生活会变得简单得多。

模型上下文协议 (MCP) 就扮演着 AI 世界里“USB-C”的角色。它是一个开放标准,旨在为 AI 模型与外部工具的连接方式提供统一规范。

可以将 MCP 视为 AI 应用的通用翻译器——就像 USB 端口让你能将任何设备连接到电脑一样,MCP 让 AI 模型能够以标准化的方式连接到任何工具或服务。

MCP 的核心理念是“即插即用”。它使用一种名为 JSON-RPC 的技术,通过网络发送结构化的消息。这意味着,只要工具开发者遵循 MCP 标准,任何兼容的 AI 模型都可以轻松地发现并使用这个工具,而不需要为每个工具编写定制的集成代码。

JSON-RPC

noun

一种轻量级的远程过程调用 (RPC) 协议。它使用 JSON 格式来编码数据。简单来说,它是一种让程序通过网络请求另一台计算机上的程序执行并获取结果的标准方式。

古老的 CLI 为何依然重要

如果 MCP 是现代的、用户友好的 USB-C,那么命令行界面 (CLI) 就像是更基础、更底层的电线和焊接工具。CLI 是一个纯文本界面,开发者通过输入命令来与程序交互。它已经存在了几十年,远在图形界面普及之前。你可能在电影里见过程序员在黑色屏幕上敲着绿色文字,那通常就是 CLI。

在 AI 时代,CLI 之所以依然重要,在于它的强大能力:可组合性。你可以将多个简单的 CLI 工具像乐高积木一样组合起来,创建一个复杂的自动化工作流。每个工具只做一件事,并把它做好。这种设计哲学让它极其灵活和强大。

MCP 追求的是标准化和易用性,而 CLI 追求的是灵活性和可组合性。

CLI 工具通常通过标准输入/输出 (stdio) 进行通信。一个工具的输出可以直接作为下一个工具的输入,形成所谓的“管道”。这种方式简单、直接且高效,非常适合自动化任务。

Token 消耗与上下文开销

无论 AI 使用 MCP 还是 CLI,它都需要理解工具是做什么的以及如何使用它。这些描述信息会占用 AI 的“注意力”或“短期记忆”,我们称之为上下文窗口。上下文窗口的大小是有限的,就像人一次只能记住几件事一样。

用来描述工具的文本会消耗 Token,Token 是 AI 处理文本的基本单位(可以粗略地理解为一个单词或一个汉字)。描述越详细,消耗的 Token 就越多。这就是所谓的上下文开销。

MCP 的工具定义通常更详细和结构化,因为它需要精确描述函数、参数和数据类型,这会导致更高的 Token 消耗。相比之下,CLI 工具的描述可以非常简洁,通常只包含命令名称和几个选项。更少的 Token 消耗意味着为实际任务留出了更多宝贵的上下文空间,这可能会提升 AI 在复杂推理中的表现。

因此,在选择工具交互模式时,需要在 MCP 的标准化与 CLI 的高效、低开销之间做出权衡。

Quiz Questions 1/5

根据提供的文本,AI工具交互的主要目的是什么?

Quiz Questions 2/5

在描述AI与工具交互的两种模式时,文本将模型上下文协议(MCP)比作“USB-C”。这个比喻强调了MCP的哪个核心特点?

现在你已经了解了连接 AI 与外部工具的两种主要方式,以及它们各自的优缺点。