上下文管理
上下文是Claude的工作记忆。它读取的每个文件、运行的每个命令、您发送的每条消息——都会占用上下文窗口中的空间。
什么是上下文窗口?
将上下文窗口想象成Claude可以在其记忆中保存的空间量。每当您输入提示、Claude读取文件、运行工具调用或接收工具调用结果时,这些都会添加到上下文窗口中。由于空间有限,优化您使用它的方式就变得很重要。

上下文填满时会发生什么
当您接近限制时,上下文窗口会自动进行压缩。压缩会总结重要细节并移除不必要的工具调用结果以释放空间。请注意,此过程可能会丢失一些细节。


命令
您可以使用/compact命令手动运行压缩。这会压缩到该时间点之前的所有内容。当您想要释放上下文空间,同时保留之前工作内容的记忆时,这非常方便。

如果您想完全从头开始,不保留之前会话的任何记忆,请运行/clear。这会移除所有内容。

要检查您的上下文状态,请运行/context命令。您将获得上下文大小的高层概览、占用最多空间的类别,以及显示细分情况的可视化图表。

何时使用哪个命令
一般的经验法则是:
-
使用
/compact,当您正在处理某个特定功能并接近上下文限制但需要继续时。保持上下文与您当前的功能相关是很重要的。 -
使用
/clear,当您想要开始一个新功能时。您不希望之前的对话给新事物带来偏见。对于您希望Claude在各个会话之间记住的内容,请将它们放入您的CLAUDE.md文件中,这样它就不必从头重新发现这些内容。
节省上下文空间的技巧
要具体明确。 一个模糊的提示可能看起来更小,但从长远来看实际上会消耗更多上下文。没有明确的指示,Claude被迫更多地探索您的代码库并进行自己的推理——这比一个详细的提示要占用更多的上下文空间。
管理您的MCP服务器。 MCP服务器默认会将其所有可用工具加载到上下文中,即使您没有使用它们。如果您配置了与当前项目无关的服务器,请考虑将它们关闭。您也可以尝试使用"Skills",它们的工作方式与MCP服务器类似,但不会预先将所有内容加载到上下文中。
使用子代理。 子代理与您的主代理并行运行,但拥有完全独立的上下文窗口。对于您只需要答案的任务——比如"身份验证端点位于哪里?"——子代理会完成这项工作,并仅将摘要返回给您的主代理,从而保持您主要上下文的整洁。
回顾
在Claude Code中管理上下文至关重要。使用/compact来总结长会话,使用/clear来重新开始。要有效利用您的上下文窗口:对您的提示要具体明确,检查当前上下文正在消耗什么,并使用子代理来委派那些您只需要结果的任务。