使用 MCP 执行代码:构建更高效的 AI 代理
摘要
随着MCP协议的广泛应用,AI代理连接数百甚至数千个工具时面临两大挑战:工具定义占用过多上下文窗口、中间结果消耗大量令牌。文章提出将MCP服务器作为代码API而非直接工具调用的解决方案,通过代码执行环境实现工具定义按需加载和数据本地处理,可将令牌消耗从15万降至2千(节省98.7%),同时提供隐私保护和状态持久化等额外优势。
内容框架与概述
文章开篇指出MCP作为连接AI代理与外部系统的开放标准,自2024年11月发布以来获得快速采用,但随着连接工具数量增长,出现了效率瓶颈。作者从两个维度剖析问题:一是所有工具定义预加载导致上下文窗口过载,代理可能需处理数十万令牌才能响应请求;二是中间结果必须经过模型传递,例如一份2小时会议记录可能额外消耗5万令牌。
针对这些问题,文章提出代码执行与MCP结合的解决方案。核心思路是将MCP服务器暴露为文件系统中的代码API,代理通过探索目录结构按需加载所需工具定义,并在执行环境中直接处理数据而非全部传回模型。文章通过Google Drive到Salesforce的实际案例,展示了传统方式与代码执行方式的对比,后者显著减少了令牌消耗。
文章最后总结了代码执行方式的多重优势:高效的上下文使用、数据在执行环境中预处理、隐私保护(中间结果默认不进入模型)、以及状态持久化能力。作者强调这种方法让模型发挥其擅长编写代码的优势,构建更高效的AI代理。
核心概念及解读
MCP(模型上下文协议):一种连接AI代理与外部工具和数据的开放标准协议,开发者只需实现一次即可接入整个集成生态系统,避免了为每个工具单独开发集成的碎片化问题。
上下文窗口过载:当代理连接大量工具时,所有工具定义预加载会占用大量上下文空间,导致模型在处理实际请求前就消耗了数十万令牌,增加延迟和成本。
代码执行环境:允许代理编写并执行代码与MCP服务器交互的运行时环境,代理可通过文件系统探索发现工具、按需加载定义、在本地处理数据后再返回结果。
按需加载(On-demand Loading):将工具定义组织为文件树结构,代理通过浏览目录和读取特定文件来获取所需工具接口,而非一次性加载全部定义,实现98.7%的令牌节省。
隐私保护操作:中间结果默认保留在执行环境中,只有明确返回的数据才进入模型上下文,有效防止敏感信息意外泄露给模型。
原文信息
| 字段 | 内容 |
|---|---|
| 原文 | Code execution with MCP: building more efficient AI agents |
| 作者 | @AnthropicAI |
| 发表日期 | 未知 |
此摘要卡片由 AI 自动生成