内容提要
文章讨论AI编程工具中常驻上下文与按需加载的token成本问题。常驻位包括规矩文件链、导入文件、规则、自动记忆和工具定义,每次开工都收费;按需加载如skill仅描述常驻,正文触发才读。判断标准是使用频率,而非重要性。建议用/context检查实际加载清单,避免浪费token。
延伸解读
常驻位不止规矩文件
很多人以为常驻上下文只有规矩文件,但文章指出至少包括五类:规矩文件链、@路径导入文件、未指定paths的规则文件、自动记忆前200行、工具定义。其中工具定义常被忽略,且往往占大头。MCP工具默认只加载名称,完整定义按需加载。检查/context可看到实际加载清单,避免凭印象判断。
按需加载的成本结构
skill这类按需加载机制的成本分两段:描述常驻,正文按需。平时只付一行描述的费用,触发时才读全文。因此省token的效果取决于命中率:天天触发的skill与常驻无异,一个月触发一次的几乎可忽略。文章强调,真正确定能省的是把低频内容移出常驻位,而不是依赖skill的命中率。
判断标准是频率而非重要性
决定内容放常驻位还是按需加载,唯一判据是使用频率,不是重要性。重要但低频的内容放常驻位等于每月交租。文章建议用/context查看实际加载清单,先看单子再减肥,避免凭印象删除。工具定义常被忽略,但可能占最大头,值得优先检查。
Q&A
AI编程工具中常驻上下文和按需加载的token成本有什么区别?
常驻上下文每次开工都会加载并计入token,按需加载只在需要时才读取正文,平时只占用少量描述信息。
Claude Code中常驻位包括哪些内容?
包括规矩文件链(如CLAUDE.md和CLAUDE.local.md)、@路径导入的文件、.claude/rules/中未指定paths的规则文件、自动记忆(只读前200行或25KB)、工具定义(MCP工具默认只加载工具名)。
如何判断一个内容应该放在常驻位还是按需加载?
判断标准是使用频率:每次开工都要用的放常驻位,特定活儿才用的放按需加载。重要性不是判断标准。
skill机制是如何节省token的?
skill的描述常驻,正文按需加载。平时只占用一行描述,只有触发时才读取正文。节省效果取决于命中率,频繁触发的skill节省有限。
如何检查实际加载的上下文清单?
在Claude Code中敲/context,查看Memory files栏;其他工具可查看请求的system段长度或用token计数接口统计。
为什么说把按需加载的内容放进常驻位是浪费?
因为常驻位每次开工都收费,如果内容不常用,就相当于为低频使用的内容支付高频费用,造成token浪费。