Agent 的上下文管理分两层:便宜的那层先把大结果挪出上下文,贵的那层用一次 LLM 调用把历史压成摘要。
设计哲学四个字:能轻则轻。轻量手段能扛住的,绝不动用昂贵的全量摘要。
| 第 1 层:大结果存磁盘 | 第 2 层:全量摘要 | |
|---|---|---|
| 信息损失 | 几乎为零 | 高 |
| API 开销 | 零 | 高(多一次 LLM 调用) |
| 定位 | 便宜的预防 | 贵但强的兜底 |
问题本身上一篇已经说清了:messages 只增不减、每轮整个发一遍,token 消耗是平方级增长(ReAct 与 Agent Loop §5)。而上下文窗口是个硬数字——200,000 就是 200,000,超了 API 直接拒绝。
所以不能等它涨到极限,得主动管。