上下文是 Claude 的工作记忆。它读取的每个文件、运行的每个命令、你发送的每条消息——都占用上下文窗口的空间。
将上下文窗口视为 Claude 内存中可以容纳的空间量。每当你输入提示、Claude 读取文件、运行工具调用或接收工具调用结果时,都会添加到上下文窗口中。由于空间有限,优化使用方式变得很重要。
当你接近限制时,上下文窗口会自动 压缩。压缩会总结重要细节并删除不必要的工具调用结果以释放空间。请注意,此过程可能会丢失细节。
你可以使用 /compact 命令手动执行压缩。这会压缩到那时为止的所有内容。当你想要释放上下文空间同时保留之前工作记忆时,这很方便。
如果你想完全从头开始,不保留之前会话的记忆,运行 /clear。这会清除所有内容。
要检查上下文状态,运行 /context 命令。你会得到上下文大小的高级概述、占用最多空间的类别,以及显示分布的可视化图表。
一般经验法则:
使用 /compact 当你正在处理特定功能并接近上下文限制但需要继续时。保持上下文与当前功能相关很重要。
使用 /clear 当你想开始一个新功能时。你不希望之前的对话对新内容产生偏见。对于你希望 Claude 跨会话记住的内容,将它们放在 CLAUDE.md 文件中,这样它就不需要从头重新发现。
要具体。 模糊的提示看起来可能更小,但从长远来看实际上消耗更多上下文。没有明确的指令,Claude 被迫更深入地探索你的代码库并自己推理——这比详细的提示占用更多的上下文空间。
管理你的 MCP 服务器。 MCP 服务器默认将其所有可用工具加载到上下文中,即使你没有使用它们。如果你配置了与当前项目无关的服务器,考虑关闭它们。你也可以尝试 "Skills",它的工作方式类似于 MCP 服务器,但不会预先将所有内容加载到上下文中。
使用子代理。 子代理与主代理并行运行,但具有完全独立的上下文窗口。对于只需要答案的任务——比如 "认证端点在哪里?"——子代理完成工作并将摘要返回给主代理,保持主上下文的整洁。
在 Claude Code 中管理上下文至关重要。使用 /compact 总结长会话,使用 /clear 从头开始。要有效使用上下文窗口:提示要具体、检查当前上下文的占用情况,并使用子代理委派只需结果的任务。
登录 参与讨论