MCP 冷启动税:工具服务器开销如何在智能体第 7 步发生累加
一个 200 毫秒的工具调用在火焰图(flame graph)上看起来就像是杂音。但在 Agent 循环中堆叠七个这样的调用,杂音就变成了信号 —— 模型在 800 毫秒内完成了思考,但用户却等待了 4.5 秒,因为每一次工具调用都在重新支付首个调用已经吸收掉的启动成本。残酷之处在于,这种成本在任何单一的追踪(trace)中都不会显示为异常。它表现为干脆利落的 Demo 与反应迟缓的生产环境 Agent 之间的差异,而大多数团队会将其归咎于模型。
Model Context Protocol (MCP) 已成为 Agent 工具链的默认集成界面,这意味着它也成了延迟(latency)堆积的重灾区。MCP 的设计 —— 基于 stdio 或可流式 HTTP 的 JSON-RPC、能力协商(capability negotiation)、动态工具发现 —— 对于一个必须桥接任意客户端和服务器的协议来说是正确的。但它隐含的单次调用成本结构对于 Agent 实际的访问模式并不友好。Agent 的模式不是“每个会话调用一次工具”,而是“每轮对话调用七个工具,每个会话进行四十轮对话”。
这篇文章将探讨这种错配:冷启动税究竟存在于何处,为什么它在长生命周期的 Agent 中是叠加而非被摊销(amortize)的,以及如何通过“预热池”(warm-pool)规范将数秒的惩罚降低到 100 毫秒以下。
