跳转到内容

Code execution with MCP - Building more efficient agents

这是一篇 Anthropic 于 2025-11-04 发布的工程文章。文章的核心判断是:当 agent 连接到大量 Model Context Protocol (MCP) 服务器与工具时,直接把所有工具定义和中间结果都塞进模型上下文会快速推高 token 成本与延迟;更可扩展的做法,是让 agent 在代码执行环境中把 MCP 服务器当作代码 API 来调用。

  • 文章把当前 MCP agent 的两个主要低效来源说得很明确:一是预加载全部工具定义会挤占上下文窗口,二是每次工具调用的中间结果都要经过模型转写和再传递。
  • Anthropic 提出的替代模式是“code execution with MCP”:把每个工具包装成文件系统中的代码接口,让模型通过浏览目录、读取少量接口文件来按需发现工具,而不是一次性读入整套 schema。
  • 在文中的示例里,这种方式把一次任务的 token 消耗从 150,000 降到 2,000,相当于节省 98.7%;文章把这视为时间和成本都显著改善的证据。
  • 这种模式带来的收益不只是不省 token。它还允许 agent 在执行环境里先过滤大数据集、做聚合与 join、运行循环和条件分支,再只把必要结果回传给模型。
  • 文章特别强调隐私与安全控制:中间结果可以默认停留在执行环境中,敏感字段还可以在 MCP 客户端层面先被 tokenization,再在目标工具调用时还原。
  • 代码执行也让 agent 更容易持久化状态,例如把中间结果写入文件、恢复未完成任务、保存可复用脚本,并进一步沉淀成 SKILL.md 驱动的高层技能。
  • Anthropic 同时明确提醒,这种架构的代价是真实存在的:你需要安全沙箱、资源限制、监控和额外运维;这并不是“白捡”的优化。

ℹ️ Conflict:

  • 文中的 150,000 -> 2,000 是特定任务示例,不应外推成所有 MCP 工作流都会获得同量级收益。
  • 这篇文章支持的是“在大规模工具场景下,代码执行比直接 tool calling 更高效”这一工程判断;但在工具数量较少、风险较低的场景里,直接工具调用仍可能是更简单的默认方案。
  • Anthropic, “Code execution with MCP - Building more efficient agents”, 2025-11-04: https://www.anthropic.com/engineering/code-execution-with-mcp
  • 原文摘录:[llm-wiki/raw/anthropic/Code execution with MCP - Building more efficient agents](/raw/anthropic/Code execution with MCP - Building more efficient agents.md)
  • 中文翻译:通过 MCP 进行代码执行——构建更高效的智能体