Anthropic 出手,大幅降低 MCP 的 Token 消耗

以前要实现一个 Agent,需要手动完成一个个 API 的接入和调试,现在有了 MCP,接入外部能力的工作简单了许多。

但 MCP 多了之后,模型上下文中塞入了大量的工具定义,导致模型既慢,又浪费 Token

直到看到了 Anthropic 的《Code execution with MCP: Building more efficient agents》,我才发现 MCP 的调用原来也是可以很高效的。

传统 MCP 的效率瓶颈

MCP 在规模化应用中有两个关键短板:

工具定义"占满"上下文

为了让智能体知道如何使用工具,MCP 方式会把所有工具的功能描述、参数要求等加载到模型的上下文中。

在大规模项目中,这些定义信息可能就会占用数十万 Token,不仅拖慢响应速度,还会大幅增加使用成本。

中间结果重复消耗资源

智能体完成复杂任务时,往往需要多次调用工具,并传递中间结果。

比如将云盘文档同步到业务系统,文档会在云盘 MCP 和业务系统 MCP 中多次传输,导致上下文超出限制,甚至任务中断。

解决方案:代码执行

代码执行的核心逻辑,是把 MCP 工具从 "直接调用的功能" 转变为 "可由代码调用的 API"。

智能体不再被动接收全部的工具定义,而是根据需要自动编写代码进行 MCP 调用,这一方案带来了多重提升:

渐进式披露,减轻上下文负担

将工具以代码形式呈现在文件系统上,能让模型按需读取工具定义,而非预先全部读取。

"渐进式披露"的工作流程如下:

1、预加载极简提示: 在 LLM 的上下文窗口中,我们只植入工具的名称、主要参数和功能的精炼代码签名(例如 tool.searchOrders(customer_id: str))。这部分信息占用的 Token 非常少。

2、Schema 外部化: 所有工具冗长、复杂的 JSON Schema 和验证规则,被移出 LLM 上下文,存储在外部的 MCP Server 的"工具注册中心"。

3、代码触发查找: 当 LLM 生成代码 tool.searchOrders('U456') 并发送给 Server 执行时,Server 才会去其外部的工具注册中心查找 searchOrders 的完整定义,并用它来执行 API 调用。

本地处理数据,减少中间传输

面对大文件、海量数据任务时,智能体可以编写代码,在执行容器中先筛选、处理,最后只需把结果返回给模型,避免大量冗余数据消耗传输 Token。

这个思路竟然与我们上半年实现"问数"的思路类似。不过,我们当时还没有意识到这样节省 Token 传输,我们仅仅是因为 text2sql 不太可靠,采用了智能体调用各种"算子"(各种已有的数据处理类 API)。

简化复杂流程,降低操作成本

在一些复杂场景中,比如系统监控通知、批量处理数据场景中,代码执行模式还可以利用代码的循环、条件判断逻辑,简化实现,减少智能体的反复工具调用,大幅减少延迟及操作成本。

数据隐私保护

除了上述提升效率、降低成本的益处外,代码执行还有一个隐藏的好处。

由于中间结果默认保留在安全的执行环境中,原始数据无需进入模型的上下文,只有统计结果才会返回给智能体,这在很大程度上可以保护用户的数据隐私

结语

尽管 Anthropic 在某些政策上存在争议,但其在 Agent 道路上的技术探索不得不说非常值得学习。

推荐大家多关注他们的技术博客,收益良多~

相关推荐
大模型真好玩40 分钟前
LangChain DeepAgents 速通指南(三)—— 让Agent告别混乱:Tool Selector与Todo List中间件解析
人工智能·langchain·trae
孟祥_成都1 小时前
【全网最通俗!新手到AI全栈开发必读】 AI 是如何进化到大模型的
前端·人工智能·全栈
牛奶2 小时前
AI辅助开发的基础概念
前端·人工智能·ai编程
东坡肘子2 小时前
OpenClaw 不错,但我好像没有那么需要 -- 肘子的 Swift 周报 #125
人工智能·swiftui·swift
风象南9 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶10 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶10 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考13 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab13 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab13 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯