Anthropic 的组织级消息用量报告把用量分成 4 类:未缓存输入、缓存写入、缓存读取和输出。这不代表每种 Claude Code 账户都能看到同一份报告,却说明 Token 消耗不只来自代码文件。官方用量报告字段说明也没有说每轮对话都会完整载入代码库。本周先选一项相似任务,检查文件读取、工具返回和会话历史,再收紧下一次任务的范围;实际效果要看用量记录,别预设节省比例。
适合经常用 Claude Code 分析大型代码库、发现用量偏高的开发者。
如果你要为团队建立上下文管理习惯,文中的复盘清单也可以作为日常检查流程。
Claude Code 的高用量:先区分整库重读与局部读取
用量偏高是否就代表 Claude Code 每轮都重新读了整个项目?不能这样推断。任务范围较宽、关键路径尚未定位,或前一步结果不足以回答后续问题,都可能让 Claude Code 继续搜索、打开不同文件,或再次确认事实;这不等于每轮都把整个仓库完整载入。
先检查会话里实际发生了什么。Claude Code 的交互模式可以用 Ctrl+O 展开会话记录,查看工具调用过程;据此核对是否反复打开同一路径、搜索范围是否不断扩大,以及命令结果是否大量进入对话。交互模式文档说明了记录查看方式。
还要区分“再次搜索”和“重复内容”。两次搜索可能返回相同代码,也可能分别找到调用方和测试用例;后一种情况提供了新信息,不应一概当成浪费。判断是否值得调整时,同时观察读取路径、工具返回内容和任务有没有转向。
文件、工具输出与历史对话:上下文从哪里累积
代码库分析的 Token 主要可能花在哪些环节?可以先按三类内容排查:文件内容、工具返回和已有对话。用量报告里的缓存输入与普通输入是计量分类,不能单独证明某段内容来自代码库重复读取。
| 来源 | 可能进入上下文的内容 | 你该检查什么 |
|---|---|---|
| 文件内容 | 源码、配置、测试文件、项目指引 | 是否打开无关目录或大文件;相同内容是否再次读取 |
| 工具输出 | 搜索匹配、命令输出与错误信息、MCP 返回 | 是否保留了完整日志或过宽的搜索结果;后续是否还需要这些内容 |
| 历史对话 | 早先的提问、决定、解释和任务背景 | 旧任务是否仍与当前目标有关;是否反复补充相同背景 |
项目指引也可能进入上下文。官方文档说明,启动时会加载找到的内存文件;子目录里的指引则在访问相关目录树时才会纳入。你可以用 /memory 检查当前加载的内存文件,排查重复、过时或过度细节的说明。内存文档解释加载规则与查看方式。
工具输出同样会带来负担。Anthropic 的 MCP 文档指出,MCP 工具输出超过 10,000 个 Token 时会显示警告,默认输出上限为 25,000 个 Token。这不是所有工具调用的统一成本,但如果工具返回大量日志、数据库记录或搜索结果,就值得改用筛选、分页,或只返回摘要。MCP 输出限制与警告。
注意:超过输出上限的内容可能被保存到文件,并在对话中以路径代替完整内容。不要因此假设它永远不会进入上下文;如果后续又读取该文件,相关内容仍可能再次被纳入。
范围宽还是目标明确:把每次读取对准一个问题
想减少读取带来的上下文成本,提问时该怎么收窄范围?先限定目录、问题和交付结果,再决定是否修改代码。下面两种问法允许的工作范围不同:
| 提问方式 | 示例 | 可能带来的工作范围 |
|---|---|---|
| 宽泛 | “帮我检查这个项目的架构问题,并修复所有明显问题。” | 目标容易扩展到多个目录、多个问题和多轮核验 |
| 明确 | “只分析 src/auth 中登录失败的处理;先找入口和相关测试,只报告原因,不修改文件。” |
目录、问题、输出和是否修改都更清楚 |
宽泛提问不一定必然消耗更多,但它允许任务自然扩张。明确提问能让你和 Claude Code 共享完成标准,也更容易判断哪些读取有必要。还不清楚入口时,先让它列出候选文件和选择理由;确认路径后再深入分析。范围已经明确,就直接指定路径,避免每次都从仓库根目录泛搜。
从定位到交接:本周按步骤检查一次任务
第一步:写清任务边界。把目标写成可验收的问题,例如“定位登录接口返回 401 的原因”,而不是“检查认证模块”。同时注明不做什么,例如不重构、不修改其他错误处理。
第二步:指定起始路径与读取顺序。给出相关目录、入口文件或报错位置。若入口未知,先要求定位候选文件并简要说明依据;确认后再读取源码、调用方和测试。这样既保留必要探索,也避免无关目录被纳入。
第三步:收紧搜索和命令结果。先限定搜索目录和文件类型,再根据结果扩大范围。优先保留匹配行、错误摘要或必要上下文;完整构建日志、长历史记录和全部搜索结果,只有在确实需要时才交给 Claude Code。对 MCP 数据源,优先使用筛选条件和分页,而非一次性取全量结果。
第四步:精简项目指引,避免重复背景。保留项目架构、重要约定和常用测试命令;临时任务说明留在当前请求里,不要持续堆进通用指引。重复粘贴背景前,先检查它是否已经在 CLAUDE.md 或会话记录中。重复流程可以考虑整理成按需调用的 Skill;官方文档说明,Skill 正文在使用时才加载,而 CLAUDE.md 内容的加载方式不同。Skills 文档比较了两者的加载时机。
第五步:把不相关的工作分开。修复同一个缺陷、检查对应测试和验证改动,可以放在同一段会话里,因为前面的信息仍有用。如果接下来转去写无关设计文档、排查另一项服务问题,或改变目标,就开一个聚焦的新会话,只带上必要结论。继续长对话不一定比提供简短交接摘要更省。
团队共用设置也需要定期维护。把团队规则与个人偏好放在适合的作用范围,确认设置确实生效;不要把所有规则塞进一个通用说明文件。设置文档列出了不同设置文件的作用范围。
前后对照:用相似任务验证优化效果
怎样确认调整真的降低了分析代码库的 Token 消耗?不要只看单次任务总量。任务难度、模型、核验轮次、工具结果大小,以及账户或服务的计量方式,都可能影响结果。尽量选目标相似、代码范围接近、验证要求一致的任务;不要把简单问答与跨模块排错直接比较。
- [ ] 记录任务目标、涉及目录、模型与验证要求,避免把不同难度的任务混为一谈。
- [ ] 检查会话记录中是否多次读取相同路径,区分复读与读取新依赖、新测试。
- [ ] 检查搜索、构建、测试和 MCP 的输出,标出完整日志、重复错误和无关结果。
- [ ] 复核
CLAUDE.md是否含有重复指令、过时命令或所有任务都用不上的长流程。 - [ ] 新任务开始时只带必要的交接信息;如果目标已变,就结束旧任务并开启聚焦会话。
- [ ] 在你实际可用的账户或组织用量界面核对记录,不要把组织级 API 报告当成所有 Claude Code 方案都会提供的明细。
命令行文档列出继续最近会话、按会话恢复等操作。它们方便你接着工作,但是否继续旧会话,仍应看旧上下文对当前目标有没有帮助。命令行参考列出了会话继续与恢复方式。
完成复盘后,按主要成本来源收紧下一次任务:重复文件内容多,就限定读取路径;工具返回太长,就先筛选和摘要;历史对话不再相关,就切分任务并写清交接要点。先从一项本周任务开始,记录观察结果,再决定团队是否需要固定这套做法。
如果你目前依赖本机运行,设备睡眠、临时离线和开发环境随设备变化,可能打断长任务或增加交接成本;远程 Mac 则让工作环境留在远端,但也要考虑网络延迟、权限与持续负载是否适合你的工作方式。若你需要远程 Mac 环境承载开发或 Agent 工作流,可查看 Hashvps 的方案说明,并通过 Hashvps 帮助中心核实实际交付与使用方式。若本机条件稳定、工作负载长期固定,本地运行也可能更合适。
给 AI 编程任务一台专属云端 Mac
Hashvps 提供搭载 Apple Silicon M4、原生 macOS 的云端 Mac,适合运行开发工具、构建与测试任务。
通过 SSH 或 VNC 远程连接,把代码分析、构建和调试环境与本地工作区分开。