03 · 上下文与 Token 管理
02-安装与认证 | 下一篇 → 04-会话与AGENTS配置
为什么这是核心技能
智能体编程成败常在上下文管理。Codex 上下文窗口可达 ~400k token,但塞满 ≠ 更好——塞太多无关内容会让它变慢、变贵、跑偏甚至幻觉。
三个核心问题与对策
| 问题 | 现象 | 对策 |
|---|---|---|
| 截断(truncation) | 历史太长被截断,它「忘了」前面 | 及时压缩/清理 |
| 幻觉(hallucination) | 上下文混乱时它瞎编 API/文件 | 只喂相关文件、定期清场 |
| 窗口耗尽 | 长会话越来越慢/报满 | compact 压缩历史 |
两个关键操作
# 清空上下文(换不相关的新任务时)
clear
# 压缩历史(保留要点,释放窗口)
compact
心法(与 Claude Code 同理): 换任务就 clear,长会话就 compact,只喂当前任务需要的文件。
上下文卫生(Context Hygiene)实践
- 一个任务一个会话:别在一个会话里堆十个无关需求。
- 指文件,不要让它全库扫:明确指出要改/要读的文件。
- 大输出落盘:让它把长结果写文件,而不是全堆在对话里。
- 定期 compact:长重构过程中阶段性压缩。
- 善用
AGENTS.md:把项目长期事实放进去(见 04-会话与AGENTS配置),不必每次重述。
「智能 vs 上下文」再权衡
- 上下文不是越大越好——相关性 > 数量。
- 真要塞大仓库时,配合强模型;否则用大上下文喂一堆噪声只会更差。
本节实操
- 做一个长任务,中途用
compact观察前后差别 - 切换到无关新任务时先
clear - 刻意只喂相关文件,对比「喂全库」时的表现
下一篇 → 04-会话与AGENTS配置