跳到主要内容

原文:11-code-execution-with-mcp.md 来源:https://www.anthropic.com/engineering/code-execution-with-mcp

用 MCP 做代码执行:构建更高效的 Agent

发布于 2025 年 11 月 4 日

概述

本文阐述代码执行如何用模型上下文协议(Model Context Protocol, MCP)改善 AI Agent 的效率。Agent 不预先加载所有工具定义,而是按需写代码与 MCP 服务器交互——显著降低 token 消耗。


识别的关键问题

1. 工具定义过载

把数百乃至数千个工具定义直接加载进上下文,在处理用户请求之前就消耗大量 token。工具描述占据显著空间,增加响应时间和成本。

2. 中间结果消耗额外 token

Agent 顺序调用多个 MCP 工具时,中间结果必须反复经过模型上下文。大文档可能多次流过上下文,可能超过上下文窗口上限。

例:从 Google Drive 检索的会议转录传给 Salesforce,会两次流过上下文,对一个两小时会议可能增加 50,000+ token


代码执行解决方案

不用直接工具调用,把 MCP 服务器呈现为代码 API。Agent 写代码与工具交互,同时解决两个效率挑战:

  • 只按需加载必要工具
  • 在执行环境中处理数据再返回结果

把工具组织成文件系统

servers/
├── google-drive/
│ ├── getDocument.ts
│ └── index.ts
├── salesforce/
│ ├── updateRecord.ts
│ └── index.ts

Token 节省示例

提议方法把 token 使用从 150,000 降到 2,000——相比传统直接工具调用减少 98.7%


关键好处

渐进披露(Progressive Disclosure)

模型可以导航文件系统、按需读取工具定义。search_tools 函数可用可配置详细度级别找相关定义——保留上下文同时启用高效工具发现。

上下文高效的工具结果

Agent 可在代码中过滤和变换结果再返回。例如把 10,000 行电子表格过滤到待处理订单,让模型只看到相关行而非整个数据集。

控制流效率

循环、条件、错误处理在代码环境执行,不需要交替的模型评估和工具调用。这降低复杂工作流的延迟和 token 消耗。

隐私保护操作

中间结果默认保留在执行环境。敏感数据可以在工具间流动而不进入模型上下文。MCP 客户端可在数据到达模型前自动 token 化个人身份信息。

例:客户 email、电话、姓名可以从 Google Sheets 流到 Salesforce,同时在模型视图中保持 token 化。

状态持久化与 Skills

带文件系统访问的代码执行让 Agent 能:

  • 保存中间结果并恢复工作
  • 持久化可复用代码作为未来操作的函数
  • 构建演化的高级能力工具箱

Agent 可以把工作实现保存为带文档的可复用 Skills,随时间提升专业任务表现


实施考虑

文章承认代码执行引入复杂性。安全执行需要

  • 沙箱基础设施
  • 资源限制
  • 监控系统
  • 安全考虑

运营开销和安全要求必须与降低的 token 成本和延迟收益权衡。


行业背景

Cloudflare 发布过类似发现,把这种方法称为"Code Mode"。核心洞察一致:LLM 擅长写代码——把工具呈现为代码 API 而非直接函数调用时,它们能有效组合工具交互。