MemoryLake
返回全部文章
Tutorial2026 年 11 月 2 日·11 分钟阅读

Claude Code 中的 /context 显示什么?如何阅读细分、检查加载了哪些记忆文件以及释放空间 (2026)

您在 CLAUDE.md 中写了一条规则,但 Claude 似乎没有遵守。或者某个会话感觉很沉重,压缩(compaction)比预想中更早到来,而您想知道空间都去哪了。在 Claude Code 中,这两个问题的第一步都是相同的:运行 /context。

Anthropic 的命令参考将其描述为“以彩色网格形式可视化当前上下文使用情况”的一种方式。其故障排除指南更具体地说明了为什么要运行它:“首先运行它以确认您的 CLAUDE.md、规则或技能描述是否已存在。”

本指南涵盖了 /context 显示的内容、如何阅读每个类别、如何使用它检查加载了哪些记忆文件、它不列出哪些内容,以及当窗口接近满额时该怎么办。

/context 的作用

/context 打印当前会话上下文窗口中所有内容的细分。Anthropic 的命令概述简明地阐述了其目的:“当对话变长时,/context 显示什么填满了窗口,而 /compact 则对其进行总结以释放空间。”

输出包含三个部分:

  • 彩色网格:按类别显示窗口的填充程度。
  • 细分列表:列出每个类别及其包含的内容。
  • 建议与警告:命令参考指出它“显示针对上下文密集型工具、记忆膨胀的优化建议以及容量警告”。

它在您运行 Claude Code 的任何地方都有效。在终端中,它是一个斜杠命令。在 Claude Desktop 应用中,Anthropic 表示您可以“在提示框中输入 /context,以在聊天中打印该会话上下文窗口的按类别细分”。

/context all

在全屏模式下,/context 会折叠逐项细分以保持网格可见。添加 all 参数可以展开它。Anthropic 的功能概述还指出它适用于 MCP 服务器:“运行 /context all 以查看每个加载的 MCP 工具使用了多少 token。”

如何阅读细分

Anthropic 的配置故障排除指南列出了这些类别:“系统提示词、系统工具、MCP 工具、带有加载源的自定义子代理、记忆文件、技能和对话消息。”每一个类别都能告诉您不同的信息。

系统提示词和系统工具 (System prompt and system tools)

这些是 Claude Code 自身的指令和内置工具。它们存在于每个会话中。它们设定了底线:即在您输入任何内容之前,会话所占用的空间。

MCP 工具 (MCP tools)

此行显示来自已连接 MCP 服务器的工具。默认情况下,MCP 工具定义是延迟加载的。Anthropic 的描述是:“在 Claude 使用特定工具之前,只有工具名称和服务器指令会消耗上下文。”您可能会看到标记为 (deferred)(已延迟)或 (loaded on-demand)(按需加载)的工具,这意味着它们的完整定义在任务需要时才会加载。

如果此类别很大,/context all 会显示哪个服务器的工具占用了空间。Anthropic 对拥挤窗口的建议包括禁用您不使用的服务器,这会从上下文中移除它们的工具定义。

自定义子代理 (Custom subagents)

您定义的子代理会出现在这里,以及每个代理的加载来源。当两个定义重名,或者项目级和用户级代理重叠时,来源就显得尤为重要。

记忆文件 (Memory files)

当规则未被遵守时,这是需要检查的类别。它列出了为该会话加载的 CLAUDE.md 文件和自动记忆(auto memory)。Anthropic 的上下文窗口指南指出,/context 提供“按类别的实时细分及优化建议,包括加载了哪些 CLAUDE.md 和自动记忆文件”。

使用它来回答一个问题:您预期的文件是否真的加载了?如果您的项目根目录 CLAUDE.md、用户级 CLAUDE.md 或 CLAUDE.local.md 不在列表中,那么无论文件里写了什么,Claude 在此会话的当前时间点都没有读取它。

技能 (Skills)

技能部分显示上下文中的技能描述。它比 skills 命令的范围更广:Anthropic 指出该部分“还包括捆绑技能,而 /skills 并不列出这些”。技能主体在调用技能时加载;描述则是从一开始就驻留在上下文中的内容。

消息 (Messages)

这是您的对话:您的提示词、Claude 的回复、Claude 读取的文件内容以及命令输出。在一个漫长的会话中,这是随着您的工作不断增长的类别。在会话期间加载的路径限定规则(path-scoped rules)和子目录 CLAUDE.md 文件也会作为消息历史的一部分出现在这里。

使用 /context 检查您的记忆文件

当规则未被遵守时,Anthropic 的故障排除指南规定了顺序:先确认文件已加载,然后查看它是如何编写的。

如果文件未列出

检查文件所在位置。并非每个 CLAUDE.md 都会在会话开始时加载。Anthropic 的记忆文档指出:“工作目录上方目录层级中的 CLAUDE.md 和 CLAUDE.local.md 文件会在启动时加载。子目录中的文件则按需加载。”

这就是为什么子目录文件可能不在列表中而没有任何错误的原因。故障排除指南直接说明了这一点:“子目录 CLAUDE.md 文件是按需加载而非在会话开始时加载,因此它们不会出现在该细分中。”一旦 Claude 读取、写入或编辑该子目录中的另一个文件,Claude Code 就会加载它。我们的子目录 CLAUDE.md 限制指南涵盖了这些文件在加载时的上限。

规则的工作方式相同。没有 paths 前置属性的规则在启动时加载。路径限定规则在 Claude 处理匹配文件时加载,因此在此之前它不会被列出。我们的 Claude Code 规则指南解释了 paths 如何决定规则何时加载。

如果您依赖 AGENTS.md,也请在这里检查它。Claude Code 仅在某些配置下读取它;我们的 Claude Code AGENTS.md 支持指南涵盖了哪些文件会关闭它。

如果文件已列出但被忽略

那么加载不是问题所在。Anthropic 的指南指出:“如果 /context 确认文件已加载但 Claude 仍未遵循特定指令,问题很可能出在指令的编写方式,而不是它是否已加载。”

它列举了常见原因:指令“过于模糊以至于可以有多种解释”、两个文件给出了冲突的指示,或者文件“太长导致单个规则获得的关注较少”。记忆文档中的尺寸建议是“每个 CLAUDE.md 文件目标控制在 200 行以内”。如果两个层级不一致,我们的协调冲突 CLAUDE.md 层级指南将引导您查找并修复冲突。

自动记忆 (Auto memory)

自动记忆也会出现在记忆文件下,并有其自身的限制。Anthropic 表示:“MEMORY.md 的前 200 行或前 25KB(以先到者为准)会在每次对话开始时加载。”超过该点的任何内容都不会在会话开始时加载。我们的 Claude Code 自动记忆指南涵盖了这些文件的存放位置以及如何管理它们。

后续命令

/context 告诉您窗口中有什么。每个类别的详细信息存在于其他命令中。Anthropic 的故障排除指南将它们配对使用:

  • /memory:显示跨用户和项目范围的记忆文件位置,允许您打开每一个,并提供对自动记忆文件夹和开关的访问。
  • /skills:列出项目、用户和插件源中的可用技能。
  • /mcp:显示已连接的 MCP 服务器及其状态。
  • /doctor:运行设置检查。Anthropic 指出它会“标记过大的记忆文件和未使用的扩展”。
  • /status:显示活动的设置源,包括托管设置。

当窗口接近满额时

/context 显示窗口的填充程度,并在您超过限制时发出警告。

超过限制警告

Anthropic 的错误参考指出,当对话增长超过模型的上下文窗口时,/context 会“在其输出顶部显示警告”。警告会告诉您超出了多少以及哪个命令可以释放空间。在您处理之前,请求将失败并提示“prompt-too-long”(提示词过长)错误。

在具有 1M 窗口的模型上,警告可能指的是压缩窗口(compaction window)而非完整的上下文窗口。Anthropic 解释说:“压缩窗口可以低于模型的上下文窗口,因此超过它的请求仍可能成功。”

释放空间的方法

Anthropic 的建议,大致按其改变程度排序:

  • /compact:总结之前的轮次并在保留会话的同时释放空间。
  • /clear:开始全新的对话。我们的 /clear 指南涵盖了哪些内容能在清理后保留。
  • 禁用未使用的 MCP 服务器:使用 /mcp disable 移除它们的工具定义。
  • 修剪大型 CLAUDE.md 文件,或将指令移至仅在相关时加载的路径限定规则中。

与相关命令的比较

几个命令从不同角度观察会话:

  • /context:显示窗口中的内容以及每个类别占用的空间。
  • /memory:打开并编辑记忆文件本身。
  • /compact:通过总结减少窗口中的内容。
  • /doctor:检查设置中的问题,包括过大的记忆文件。
  • /btw:询问侧面问题而不增加窗口负担。

人们常犯的错误

假设 CLAUDE.md 已加载,仅仅因为文件存在。 存在不等于加载。/context 显示的是此会话中的实际内容。

将缺失的子目录文件视为 Bug。 那些是按需加载的,一旦 Claude 处理该文件夹中的文件就会加载。

当一条规则被忽略时添加更多规则。 如果 /context 显示文件已加载,问题很可能是措辞、冲突或长度。更多规则会使长度问题恶化。

在压缩即可解决时选择清理。 /clear 是重新开始。/compact 保留会话并释放空间。

忽略 MCP 行。 几个拥有大量工具的服务器可能会占用明显的窗口份额。/context all 会显示具体情况。

解决方案:将 /context 纳入您的设置检查

第 1 步:在重要的会话开始时运行 /context

在执行长任务之前,运行 /context 并阅读记忆文件类别。确认您预期的 CLAUDE.md 文件和规则已列出。如果缺失,请在编辑之前检查它的存放位置。

第 2 步:治本而非治标

如果文件已加载但 Claude 仍然遗漏了某条规则,请重写该规则使其更具体,解决层级间的冲突,并保持每个 CLAUDE.md 简短。将仅对部分代码库有效的指令移至路径限定规则中。

第 3 步:为工作保留窗口空间

在漫长的会话中,当速度变慢时检查 /context。禁用不使用的 MCP 服务器,在自然断点处进行压缩,并在不相关的任务之间进行清理。

在 MemoryLake 中设置

/context 显示的是从一台机器和一个代码库加载的一个会话的内容。而您需要的一些内容并不受限于这些:适用于跨代码库的决策、您会给任何助手的偏好,以及您不想在每个 CLAUDE.md 中重复的事实。

MemoryLake 是一个记忆层,用于将这些内容保存在一个由您维护的列表中,供 Claude Code 以及您连接的其他助手(如 ChatGPT 和 Codex)使用。

您可以用自己的语言亲自编写条目。不会从您的 CLAUDE.md 文件、规则、自动记忆、Claude Code 会话或任何供应商的存储中读取、写入或删除任何内容。/context 仍将按照 Anthropic 描述的方式工作。

第 1 步:创建 API 密钥

登录并从控制面板生成密钥。该密钥属于您的 MemoryLake 工作区,与您的 Claude 账户是分开的。

MemoryLake 控制台显示 API 密钥屏幕,在此处创建并复制新密钥以供代理使用
MemoryLake 控制台显示 API 密钥屏幕,在此处创建并复制新密钥以供代理使用

第 2 步:上传您的第一批记忆

从您在解决方案第 2 步中发现的跨 CLAUDE.md 文件重复的事实开始:适用于单个代码库之外的决策、约定和约束。每个条目一个要点,并注明日期。

MemoryLake 工作区显示已上传的首批文档,列出了每个成为可搜索记忆的文件
MemoryLake 工作区显示已上传的首批文档,列出了每个成为可搜索记忆的文件

第 3 步:连接您的 AI 和代理

连接 Claude Code 和您使用的其他助手。这些事实将在下一个会话、另一个代码库和其他工具中可用。

MemoryLake 集成屏幕列出了可以连接到记忆层的 AI 客户端和代理框架
MemoryLake 集成屏幕列出了可以连接到记忆层的 AI 客户端和代理框架

这在实践中改变了什么

第一个区别是您不再靠猜。未被遵循的规则要么在细分中缺失,要么存在但措辞不当,/context 会告诉您是哪一种。

第二个是您知道空间去哪了。MCP 工具、记忆文件和消息各有一个数值,因此您可以修剪沉重的内容而不是清理所有内容。

第三个是更短的指令文件。当跨项目的事实存在于别处时,每个 CLAUDE.md 都可以专注于其自身的代码库。

Claude Code 中 /context 的最佳实践

在长任务之前运行它。 确认您预期的记忆文件已列出。

当规则被忽略时,先检查记忆文件。 然后检查措辞和冲突。

记住按需加载。 子目录 CLAUDE.md 文件和路径限定规则在 Claude 处理匹配文件后才会出现。

使用 /context all 获取 MCP 详情。 它显示每个工具的 token 数。

阅读警告行。 它指出了释放空间的命令。

将其与 /memory 和 /doctor 配合使用。 一个显示加载了什么;另一些则打开文件并标记过大的文件。

保持 CLAUDE.md 简短。 Anthropic 的目标是每个文件控制在 200 行以内。

结论

/context 显示了 Claude Code 会话上下文窗口中的所有内容,按类别细分:系统提示词、系统工具、MCP 工具、自定义子代理、记忆文件、技能和消息。它是规则未被遵循时首先要运行的命令,因为它会告诉您文件是否已加载。

如果文件缺失,请检查它的存放位置,因为子目录文件和路径限定规则是按需加载的。如果它存在但被忽略,请查看措辞。当窗口接近满额时,/context 会显示空间去向以及哪个命令可以释放它。

常见问题

Claude Code 中的 /context 显示什么?

按类别细分当前会话的上下文窗口:系统提示词、系统工具、MCP 工具、自定义子代理、记忆文件、技能和对话消息,并提供建议和容量警告。

如何检查 CLAUDE.md 是否在 Claude Code 中加载?

运行 /context 并查看记忆文件类别。如果您的 CLAUDE.md 未列出,则 Claude 在此会话中未读取它。

为什么我的子目录 CLAUDE.md 没有出现在 /context 中?

子目录 CLAUDE.md 文件是按需加载的,一旦 Claude 读取、写入或编辑该子目录中的文件,它们才会加载,因此不会在会话开始时的细分中出现。

/context all 的作用是什么?

它展开逐项细分,并显示每个加载的 MCP 工具使用了多少 token。

/context 和 /memory 有什么区别?

/context 显示窗口中的内容及其占用的空间。/memory 列出记忆文件的位置并允许您打开和编辑它们。

当 /context 显示我超过限制时该怎么办?

运行 /compact 总结之前的轮次,或运行 /clear 重新开始。您还可以禁用未使用的 MCP 服务器并修剪大型 CLAUDE.md 文件。