上下文窗口管理与 Token 优化
进阶篇的前三篇,我们学会了用子智能体分解任务、用 Hooks 自动化流程、用 MCP 扩展能力。工具越来越强大,但你可能已经遇到过这样的情况:
聊着聊着,Claude 突然「忘了」之前讨论过的方案。或者你明明说过「不要改那个文件」,它还是改了。又或者对话到后半段,回答的质量明显下降,开始重复啰嗦。
这些问题指向同一个根源——上下文窗口。
理解它、管理它,是让 Claude Code 在真实项目中持续可靠工作的关键。
上下文窗口是什么
想象你在一张书桌前工作。桌面的大小是固定的。你可以在上面摊开笔记、参考资料、草稿纸,但桌面总会铺满。铺满之后,放新东西就得把旧东西挪走。
上下文窗口就是这张书桌。
技术一点说:上下文窗口是 AI 模型一次对话中能处理的信息总量,用 Token 来计量。一个 Token 大约是一个中文字或半个英文单词。Claude 的默认上下文窗口是 200K Token——大约 15 万个中文字(部分模型支持扩展到更大的窗口)。
听起来很大,但在实际使用中消耗得比你想象的快。
上下文里装了什么
很多人以为上下文只有「你说的话」和「AI 的回复」。实际上至少包含这几部分:
系统提示——CLAUDE.md、Rules 文件、项目记忆,启动时就加载,一直留在上下文中。
MCP 工具定义——每个激活的 MCP Server 都需要描述自己有哪些工具。同时开着 5 个 Server,光工具描述可能就占了好几千 Token。
——你的每条消息、Claude 的每条回复,包括它读取的文件内容、命令输出、搜索结果。