前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯9799
  • AI 编程 Agent 意外泄露 13000 张截图
  • Rust 重写 Pi Agent:冷启动快 10.7 倍,内存缩减 7.6 倍
  • 本地RAG上下文压缩工具:裁减70% token且答案质量不降
  • 用企业私有数据构建专属生成式AI助手的实战指南
  • CodeGraph:AI编程助手的代码知识图谱工具
  • MCP官方参考实现合集发布
  • AI查日历0%准确率:时间工具将其提升至99%
  • 拦截AI Agent工具模式幻觉:Mock Gateway方案详解
  • VS Code 1.140:Copilot Agent支持多文件夹隔离与远程任务委派
  • Gemini 4 Argon发布:100万token输出能力
  • AI Agent 沙箱隔离可能被跨 Agent 蠕虫突破
  • 机器学习模型从Notebook到生产的完整路径
  • Agent Pipeline 设计核心:步骤与决策的本质区别
  • Perplexity 发布 pplx-embed-v2-context-9b:检索答案连带验证上下文的嵌入模型
  • R.A.H.S.I.框架:AI Agent执行完整性工程实践
  • Pi编码Agent一年唱衰MCP后拥抱:工程决策复盘
  • Magnitude:面向自主Agent的自优化推理引擎设计
  • AI编码Agent的六大反馈循环工程实践
  • AWS Nova Forge支持自定义多轮强化学习Reward函数
  • Qwen3.8-Max全自动化迭代33轮:阿里自研无人工干预训练流程
  • MCP工具和Skill文档正在消耗你大部分上下文窗口
  • 用promptfoo像测代码一样测试LLM Prompt
  • 不改代码实现LLM API成本降低70%
  • Gemini 4 Argon 幻觉率仅 15%,较 GPT-6 Astra 低 70%
  • AI Agent 函数调用实战:避免冗余工具调用
  • Google 发布最强模型 Gemini 4 Argon,主打编程与网络安全
  • Vercel Agent支持安装私有npm包和自定义registry
  • Google Gemma 4 开源发布:256K context 与多平台部署
  • 本地复刻OpenAI Dots:24小时上线开源AI Agent CLI
  • OpenAI 如何用一周推出 Jev 竞品
  • Gemini 4 Argon:追平OpenAI但仍未超越Anthropic
  • Gemini 4 Argon发布:100万输出Token覆盖编程、知识与网安
  • Google Docs/Sheets/Slides API全面支持评论与建议编辑
  • GPT-6.1 Sol发布:编码与计算机操控能力达Astra九成功力,价格仅五分之一
  • Vercel AI Gateway集成Browserbase网页搜索与抓取工具
  • MCP服务器限流与退避设计:防止Agent把账单跑爆
  • 安全让AI Agent部署:四规则让它永远删不了东西
  • Gemini 4 Argon 正式发布:能力大幅提升,但目前仅限「受信任的网络防御者」使用
  • 构建 Agent 数据工厂:Parquet + DuckDB + MCP 架构实战
  • Agent 规则文件是"君子协定":用机制设计让违规无利可图
  • Gemini 4 Argon 模型已发布,但你暂时还用不上
  • Google 发布 Gemini 4 Argon,号称进入下一代前沿智能时代
  • Gemini 4 Argon 测评:表现出色,但你暂时还用不上
  • OpenAI 联手 Synopsys 打造芯片设计 AI 模型 GPT-Synopsys
  • TokenCap:为什么我们用确定性 AST 重构而非让 LLM 生成代码
  • 实测:LLM 能否检出自己帮忙泄露的 Supabase 密钥
  • 三步让 Claude 后台 Agent 快 3-5 倍且更省钱
  • AI Agent 网络搜索 API 真实成本:10 万次搜索实际花销对比
  • Google 将 Gems 升级为 Skills,拥抱代理友好的提示格式
  • PageIndex:无向量数据库的推理型 RAG,可本地运行
  • dbx:25MB 搞定 100+ 数据库,支持 MCP 和本地 AI
  • 已加载 51 / 9799
8.0
热点
AI SCORE
编程提效2026-10-01 10:44

MCP工具和Skill文档正在消耗你大部分上下文窗口

dev.to · AI#AI Agent#MCP#上下文优化
Editor brief · 编辑速览

MCP服务器工具schemas每次请求都完整发送255个工具占71929 tokens,Skills目录全部加载占110万tokens,两者都是可优化的结构性开销。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

大家开始查第一张账单了。几乎没人发现还有第二张。

我说的意思是:打开你的 Agent 上下文,在你输入任何一个字符之前,数数已经加载了多少内容。这里有两项,它们来自两个不同的地方:

MCP 工具的 schema。每个已连接的服务器都会把其暴露的每个工具的完整 JSON 描述发送过来。

Agent 技能。你 skills 目录里的每一份 SKILL.md,都会整体加载进来。

我用 tiktoken(OpenAI 官方分词器)和 cl100k_base 编码测量了这两项。工具那边已经够糟了。技能这边更糟。而这两个问题可以用同一个思路解决。

账单 #1:工具的 schema

连接足够多的 MCP 服务器,光是工具描述就会吃掉你上下文窗口的很大一块。我用 255 个工具的目录做了基准测量。渲染成完整的 JSON schema,总共 71,929 个 token。

而且这不是一次性成本。每次请求都会重新发送这份 manifest。在一个会话里问十几个问题,你就要付十几倍的账单。

原因在于结构。选一个工具只需要知道它的名字。你不需要完整的 schema 来决定要不要调用某个东西。但默认的链路在每次请求时都会预先把 schema 发过来,而且是每个工具都发。所以你为那些你基本不会打开的文档付了费。

账单 #2:技能,这个没人审计

技能这边更庞大,因为它本身就是更大的东西。工具是名字加 schema。技能是整篇文档:指令、示例、工作流程、检查清单。当把目录暴露为"读你需要的 SKILL.md"时,朴素实现就会把整个目录都读一遍。

在这台机器上,skills 目录里有 418 个技能。把所有 SKILL.md 拼接起来,总共 1,109,242 个 token。

这塞不进任何上下文窗口,所以大多数做法都是做了看起来很谨慎、但实际上并没有的事:加载一部分——凭 Agent 猜测它需要什么,每次请求付几千个 token,永远如此。你察觉不到,因为账单分散在很多看起来合理的细小决定里。

同一个思路解决两张账单

这个洞见一旦看清,就变得相当平淡无奇了:选择某样东西只需要知道它的名字。

你不需要工具的完整 schema 来决定要不要调用它。

你不需要技能的完整文本来决定要不要读它。

所以先暴露名字,按需再取正文。

工具。255 个工具只保留名字的索引只有 581 个 token。相比原来的 71,929,减少了 99.2%。完整的 schema 只在你真正调用一个工具时才到达。

技能。一个常驻指针,39 个 token,取代了整个目录。一次查询返回少数几个匹配的技能,这次查询花 501 个 token。你只在最终选中的技能上才读完整的 SKILL.md。思路相同,账单不同。

指针的全部职责就一句话:不要加载目录,而是请求匹配项,然后只读那些文件。

我把这个做成了 mcptoon,一个零依赖的 CLI。它纯用 Python 标准库,227KB,让每个服务器和每个技能都保持配置好且可寻址,同时把它们的完整文本挡在上下文窗口之外。mcptoon manifest 给你工具的仅名字视图。mcptoon skills resolve "<你想做的事>" 把最佳匹配的技能以 JSON 形式返回。没有预装任何东西,在你选择之前什么也不会加载。

先测量你自己的数字

别拿我的目录当你的。税赋随你接入的东西等比增长,修复方案也一样。

统计你实际携带的内容。加载你真正的工具列表和真正的 skills 目录,用 tiktoken 处理一遍,然后把完整内容与仅名字的视图比较。如果差距很大,你就有一张值得削减的账单。如果差距很小,就不必折腾。

测量才是关键所在。这也是几乎所有人都跳过的步骤——所以第二张账单长期无人察觉。

当你有大量工具和技能时这才值得

如果你只跑几个服务器和十几个技能,这些都不重要。税赋真实存在但很小,而网关又是需要维护的另一个东西。不要为了优化而优化。

我的经验法则:先审计,只有当测量结果表明你的上下文确实拥挤时,才考虑上名字索引层。

值得讨论的部分

工具 schema 这边现在已经是一个已知问题。Anthropic 自己的工程文章提出了这个论点,Firecrawl 的基准测试也测量了同一任务:CLI 方式 1,365 个 token,MCP 方式 44,026 个 token,相差 32 倍。这个讨论正在进行。

技能这边则没有。为什么技能比工具消耗更大——因为技能是文档,而不是 schema。

所以我想在评论区得到一个答案:当你的 Agent 加载一个技能时,它加载的是指针,还是整个文件?如果你测量过这个数字,我很想看看,因为我怀疑大多数人在从未见到账单的情况下支付着第二张账单。

mcptoon 是开源的。按名字搜索。上面的数字是针对上述工具和技能目录的 tiktoken cl100k_base 测量结果。技能的数字反映的是一台机器上 418 个技能的目录,所以请把它当作一个量级参考,而不是一个常数。你自己运行 mcptoon status 会打印出你的数字。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
Qwen3.8-Max全自动化迭代33轮:阿里自研无人工干预训练流程
下一篇
用promptfoo像测代码一样测试LLM Prompt