本页目录5
要点速览
- 默认窗口 200K token(扩展上下文模型 1M);表现会随窗口变满而下降,管理上下文是第一要务。
- 启动即自动占位:系统提示(~4200)、auto memory MEMORY.md(~680,前 200 行/25KB)、环境信息、MCP 工具名、Skill 描述、CLAUDE.md 等。
- 文件读取是上下文消耗的大头——提示越具体(指明 auth.ts),Claude 读的文件越少。
- 调研类重任务交给子代理:它在独立窗口里读大量文件,只把摘要带回主会话。
- /compact 把历史压成约原来的 ~12%;/clear 在不相关任务间彻底清空;也可 /compact <重点>。
本文是对官方文档 Explore the context window 的中文要点整理,数字与字段以原文为准。
上下文窗口是什么
上下文窗口装着 Claude 当前能"看到"的一切:系统提示、整段对话、每个被读的文件、每条命令输出。默认上限 200,000 token(支持扩展上下文的模型为 1,000,000)。关键约束是:窗口越满,模型表现越容易下降——会开始忘掉早先的指令、犯更多错。所以上下文是最需要主动管理的资源。
启动时就自动占位的内容
一个会话还没开始干活,就已经加载了不少东西(以下 token 数为官方示例量级):
- 系统提示:约 4,200 token,定义行为/工具用法/输出格式,始终最先加载,你看不到。
- Auto memory(MEMORY.md):约 680 token,Claude 跨会话给自己记的笔记,加载前 200 行或 25KB(以先到者为准)。
- 环境信息:工作目录、平台、shell、OS、是否 git 仓库;git 分支/状态/近期提交作为单独块挂在系统提示末尾。
- MCP 工具(deferred):默认只列工具名(约 120 token),完整 schema 按需通过 tool search 加载。可用
ENABLE_TOOL_SEARCH=auto/false调整。 - Skill 描述、~/.claude/CLAUDE.md、项目 CLAUDE.md:各自占位,CLAUDE.md 每次会话都加载。
真正的大头:文件读取
会话跑起来后,文件读取主导上下文消耗。官方建议:
- 提示要具体:说"修 auth.ts 里的 bug"而不是"修登录 bug",Claude 就少读很多文件。
- 调研交给子代理:研究型任务让 子代理 在独立窗口里读文件,只把摘要带回主会话。后续追问会累加到同一上下文,委托子代理能把大块文件读取挡在主窗口之外。
满了怎么办:compact 与 clear
- 接近上限时 Claude Code 自动 compact:把历史摘要化(官方示例压到约原 token 的 12%),保留代码模式、文件状态、关键决策。
- 手动
/compact <重点>定向压缩,如/compact Focus on the API changes。 /clear在不相关任务之间彻底清空上下文——这是保持表现最有效的习惯。
把它可视化:状态栏
想实时看上下文用量,配一个状态栏,把 context_window.used_percentage 显示成进度条,一眼掌握还剩多少空间。