Claude Code /context:你的上下文都被什么吃了?
什么是 /context
用 Claude Code 时间一长,你一定遇到过这种情况:
- 对话进行到一半,突然提示”上下文快满了”
- 执行了几次大文件读取后,Claude 的回答质量明显下降
- 不知道到底是什么在占用上下文空间
/context 就是上下文的”仪表盘”。 它用一张彩色网格和详细的分类统计,告诉你当前的上下文窗口被什么占了、占了多少、还剩多少——以及怎么优化。
怎么用
在 Claude Code 交互模式下输入:
/context
不需要任何参数。它会立刻展示当前上下文的完整分析。
你会看到什么
彩色网格
⛁⛁⛁⛁⛁⛁⛁⛀⛀⛀
⛁⛁⛁⛁⛀⛀⛀⛀⛀⛀
⛀⛀⛀⛀⛀⛀⛀⛶⛶⛶
⛶⛶⛶⛶⛶⛶⛶⛶⛶⛶
⛶⛶⛶⛶⛶⛶⛶⛶⛶⛶
...
这是上下文使用量的直观可视化:
| 符号 | 含义 |
|---|---|
⛁(彩色) | 已使用的空间(占比 >= 70%) |
⛀(彩色) | 已使用的空间(占比 < 70%) |
⛝(彩色) | 自动压缩缓冲区 |
⛶(暗色) | 剩余可用空间 |
网格大小会根据你的终端宽度和模型上下文大小自适应:
- 200K 模型:10x10 网格(窄屏 5x5)
- 1M 模型:20x10 网格(窄屏 5x10)
分类统计
网格右边是详细的分类图例,每一项都显示了 Token 数量和占比:
| 分类 | 说明 |
|---|---|
| System Prompt | 基础系统提示词 |
| System Tools | 内置工具定义(Bash、Edit、Read 等) |
| MCP Tools | MCP 服务器的工具定义 |
| Custom Agents | 自定义 Agent 定义 |
| Memory Files | CLAUDE.md 和记忆文件 |
| Skills | 已加载的技能定义 |
| Messages | 对话消息(用户输入、Claude 回复、工具调用和结果) |
| Free Space | 剩余可用空间 |
| Autocompact Buffer | 为自动压缩预留的缓冲区 |
详细信息
在统计下方,还会展示各分类的具体内容:
- MCP Tools:列出每个 MCP 服务器加载了多少工具、延迟加载了多少
- Custom Agents:按来源分组(Project/User/Managed/Plugin/Built-in)
- Memory Files:列出每个 CLAUDE.md 文件的路径和 Token 占用
- Skills:列出已加载的技能
每个详细项旁边都有跳转提示,比如 - /mcp、- /agents、- /memory,方便你直接跳转到相关命令管理。
优化建议
/context 还会根据分析结果给出针对性的优化建议。比如:
- 上下文已满 80% 以上:“建议运行 /compact 来控制保留哪些内容”
- 某次工具调用结果过大:“Bash/Read/Grep 等返回了大量内容,考虑缩小查询范围”
- 记忆文件过大:“CLAUDE.md 文件占用了较多空间,考虑精简”
- 未启用自动压缩:“建议在 /config 中启用,或手动运行 /compact”
上下文窗口的基本知识
窗口大小
| 模式 | 大小 |
|---|---|
| 默认 | 200,000 Tokens |
| 1M 模式 | 1,000,000 Tokens(Sonnet 4.6 / Opus 4.6 可选) |
1M 模式需要模型支持,可以在模型名后加 [1m] 后缀来启用(如在 /model 中选择)。
上下文里都有什么
一个典型的 Claude Code 会话中,上下文由这些部分组成:
┌─────────────────────────────────┐
│ System Prompt(系统提示词) │ 固定开销
│ Tool Definitions(工具定义) │ 固定开销
│ Memory Files(CLAUDE.md 等) │ 半固定
│ Skills / Agents(技能/Agent) │ 半固定
├─────────────────────────────────┤
│ Message 1(用户输入) │
│ Message 2(Claude 回复) │
│ Message 3(工具调用 + 结果) │ 动态增长
│ Message 4(用户追问) │
│ ... │
├─────────────────────────────────┤
│ Autocompact Buffer(缓冲区) │ 预留 13,000 Tokens
│ Free Space(剩余空间) │
└─────────────────────────────────┘
“固定开销”是每次对话都存在的基础成本,“动态增长”的部分会随着对话进行不断膨胀。当动态部分接近上限时,就需要压缩了。
什么最吃上下文
根据实际使用经验,最容易”吃掉”上下文的是:
- 大文件读取——读一个 1000 行的文件,一次就能消耗数千 Token
- Bash 命令输出——
npm install、git log、build 输出等往往很长 - 多轮工具调用——每次工具调用(输入 + 输出)都会累积
- MCP 工具定义——如果你加载了很多 MCP 服务器,光工具定义就可能占不少空间
/context 和 /compact 的关系
/context 和 /compact 是一对搭档:
| 命令 | 作用 |
|---|---|
/context | 诊断——看清上下文被什么占了 |
/compact | 治疗——压缩对话历史,释放空间 |
典型工作流:
- 感觉 Claude 回复变慢或质量下降
- 运行
/context看看上下文使用情况 - 如果快满了,运行
/compact压缩 - 再运行
/context确认释放了多少空间
自动压缩
如果你在 /config 中开启了自动压缩(autocompact),Claude Code 会在上下文接近上限时自动触发压缩,不需要你手动操作。
自动压缩的触发阈值是:有效上下文窗口 - 13,000 Tokens。
/context 网格中的 “Autocompact Buffer” 就是这 13,000 Token 的预留空间——它确保在触发自动压缩时,还有足够的空间让 Claude 完成当前回复。
如果自动压缩连续失败 3 次,会自动停止(断路器机制),此时你需要手动运行 /compact。
状态栏中的上下文提示
除了 /context 命令,Claude Code 还在两个地方实时显示上下文信息:
状态栏
屏幕底部的状态栏会显示当前上下文使用百分比,让你时刻了解剩余空间。
输入框上方的警告
当上下文接近上限时,输入框上方会出现警告提示:
| 状态 | 提示内容 |
|---|---|
| 自动压缩开启 | ”X% until auto-compact”(暗色显示) |
| 自动压缩关闭 | ”Context low (X% remaining) - Run /compact”(黄/红色警告) |
| 支持 1M 升级 | 提示可以切换到 1M 上下文模式 |
实用技巧
技巧一:定期检查上下文
长时间的会话中,建议每隔一段时间运行 /context 看看使用情况。不要等到 Claude 提示你上下文不够了才去看——那时候可能已经丢失了一些重要的对话历史。
技巧二:控制工具输出大小
/context 的优化建议会告诉你哪些工具调用消耗了大量 Token。常见的优化手段:
- 读文件时指定行范围,不要一次读整个大文件
- Bash 命令用
| head或| tail限制输出 - 搜索时用更精确的模式减少结果数量
技巧三:精简 CLAUDE.md
如果 /context 显示 Memory Files 占了很多空间,说明你的 CLAUDE.md 可能太长了。保留关键信息,删除冗余内容。记住:CLAUDE.md 是每次对话都会加载的固定开销。
技巧四:善用延迟加载
MCP 工具支持延迟加载(deferred loading)。如果你加载了很多 MCP 服务器但不是每个都常用,延迟加载可以显著减少上下文中工具定义的占用。/context 会分别显示已加载和延迟加载的工具数量。
技巧五:考虑 1M 上下文
如果你经常遇到上下文不够用的情况,Sonnet 4.6 和 Opus 4.6 都支持 1M Token 的上下文窗口。在 /model 中切换到 1M 模式,上下文空间直接翻五倍。
当然,更大的上下文也意味着更多的 Token 消耗和更高的费用,按需选择。
写在最后
上下文窗口是你和 Claude Code 协作的”工作台”——台面越整洁,工作效率越高。
/context 让你看清这个工作台的状态:什么东西占了多少地方,哪些可以清理,剩余空间还能支持多久。把它当作定期体检——不一定每次都有问题,但知道状态总比不知道好。
如果上下文快满了,用 /compact 压缩;如果总是不够用,考虑升级到 1M 模式;如果某些固定开销太大,精简你的 CLAUDE.md 和 MCP 配置。
管理好上下文,就是管理好你和 AI 的协作效率。
更多同类文章
- 我做了个机器人,让团队在飞书里用 Claude Code
- Claude Code /fast:同样的 Opus,两倍速——值不值?
- Claude Code /init:10 秒自动生成 CLAUDE.md
- Claude Code MCP:让 AI 连接 GitHub、数据库等一切工具
- Claude Code /model:Opus、Sonnet、Haiku 怎么选?
- Claude Code 使用指南:从安装到实战,一篇就够(2026)
- Claude 全家桶:从聊天到写代码到自动办公,一文讲清楚
- CCBot - 研发提效 24 倍
- 震惊!程序员用这个工具,4分钟干完95分钟的活!效率暴涨24倍
- Claude Code /add-dir:被低估的 Monorepo 神器
- Claude Code /compact:释放上下文,不丢进度
- Claude Code /btw 命令详解:不打扰主线的快问快答
- Claude Code /stats:看看 AI 到底帮你写了多少代码
- Claude Code /status 命令详解:一眼看清会话全貌
- AI-first 创业公司,为什么只需要一种编程语言?
- Claude Code 引用外部知识的最佳实践:GitHub MCP + Context7
- Claude Code 省 Token 小技巧:感叹号的妙用
- Claude Code /resume 命令详解:别让对话白聊
- Claude Code /usage 命令详解:你的额度还剩多少
- Claude Code /tasks 命令详解:后台任务尽在掌控
- Claude Code Skills 详解:打造你的专属命令库
- Claude Code /plan 详解:先想清楚再动手
- Claude Code /memory 详解:让 AI 真正记住你的项目
- cc-ping:一行命令 Ping 所有 Claude Code 配置
- Claude Code /config:一文搞懂所有可调设置
- Claude Code /permissions:谁能干什么,你说了算
- Claude Code /hooks:让 AI 按你的规矩办事
- Claude Code /review:让 AI 帮你做 Code Review
- Claude Code /diff:这次对话改了什么,一目了然
- Claude Code /vim:在 AI 编程助手里用 Vim 键位
- Claude Code + Playwright MCP:AI 终于能"看见"页面了