上下文工程的本质其实很简单:在有限的 token 预算内,用最高质量的信息喂养 AI,而不是用更多信息淹没它。
这不是信息越多越好的游戏。
先搞清楚几个事实
- Claude Code 标称 200k tokens 窗口,但实际可用只有约 120k
- 系统提示占 10.2%,预留空间占 22.5%
- 上下文过载会让 LLM 性能明显下降
所以关键问题不是"怎么塞更多东西进去",而是"怎么让每个 token 都有价值"。
基础策略:先把这几件事做了
升级到 Max Plan
用 /upgrade 命令。启用最新模型(Opus 4.5)。这是最基本的。
项目初始化
用 /init 帮助 Claude 理解项目结构,建立基础上下文认知。
Plan Mode
用 Shift + Tab 激活。让 Claude 在执行前主动识别模糊点,减少后面的返工。
工作流策略:对话分段
每个对话设定单一明确目标。"修复这个 bug"行,"改进整个系统"不行。
完成后立即 /new 开启新对话。不要在一个对话里堆太多东西。
重置的艺术
这个很多人不舍得做,但很重要:
- 用
/rewind回到正常状态的历史节点 - 用
/new重新开始,并明确说明要避免的错误
当上下文已经被"垃圾"污染,继续硬撑不如重新开始。沉没成本谬误在这里很常见。
复杂性陷阱:别太早上高级工具
⚠️ 这个坑很多人踩过:
- 多个 MCP 服务器会用低信号数据淹没上下文
- Subagents 增加成本但未必提升效果
- 先用基础对话验证方向,再逐步添加工具
工具不是越多越好。每多接一个,上下文里的噪音就多一层。
高级工具链
等你真的需要的时候再用:
MCP Servers(模型上下文协议服务器)
用途是 Just In Time 上下文。比如 Exa.ai 做网络搜索,Context7 做文档查询。原则是按需拉取信息,不是预先加载。
Subagents(子代理)
把 token 密集型任务外包给子进程,返回精炼摘要给主代理。可以用更便宜的模型(比如 Sonnet)处理子任务。
Skills(技能模块)
可复用的专业提示词。比如前端设计师人格、代码审查专家。按需调用专业上下文块,而不是永久占用空间。
怎么知道该重置了?
几个信号:
- AI 开始答非所问
- 重复建议之前已经否决的方案
- 遗漏关键细节
- "对话变慢"的感觉
观察到这些,考虑重置。
可执行清单
- ✅ 升级到 Max Plan,启用 Opus 4.5
- ✅ 每次新对话写下单一目标,完成后立即
/new - ✅ 使用 Plan Mode,在执行前让 Claude 识别模糊点
- ✅ 建立"重置触发器"——AI 开始"重复老问题"或"忘记之前决策"时,立即
/rewind - ✅ 延迟引入复杂工具——先用基础对话验证方向正确
- ✅ 创建技能库——把反复使用的专业提示词保存为可调用模块
- ✅ 实践 JIT 上下文——用 MCP 服务器按需拉取信息
一个类比
就像维护一个清洁的工作台。
真正的高手不是把所有工具都摆在台面上,而是只放当前任务需要的工具。用完即时归位,下一个任务换一套新工具。桌面越乱,找东西越慢,出错率越高。
最后
不要把 AI 当无限资源使用。
虽然有 200k token 窗口,但上下文窗口也有"工作记忆"和"长期记忆"的区别。盲目塞满会导致"信息肥胖"——看似什么都有,实际什么都用不上。
真正的上下文工程,是在信息极简主义和按需扩展能力之间找到平衡点。
Vibe Coding 的成功依赖于价值密集的上下文。如果上下文被"垃圾信息"污染,重置比修复更高效。
这不是技术问题,是认知负载管理和信息架构设计的艺术。