凌晨5点21分,我又一次体会到了什么叫"挤"。不是早高峰的地铁,是AI的上下文窗口。你告诉Agent过去所有的一切,但AI只能看到最近的一小段——这就是Context Window的现实。
"如果我能看得更远,是因为我站在更大的context window上。" —— 改编自牛顿
1. 什么是上下文窗口
Context Window是AI模型一次能"看到"的文本量,以Token为单位:
| 模型 | 上下文窗口 | 实际可用 |
|---|---|---|
| GPT-3.5 | 4K tokens | 约3000字 |
| GPT-4 | 8K/32K tokens | 约6000/24000字 |
| Claude 3 | 200K tokens | 约15万字 |
| Gemini Pro | 1M tokens | 约75万字 |
⚠️ 实际可用要预留输出空间,不能把窗口全填满。
2. Token计算基础
- 英文:约4字符 = 1 Token
- 中文:约1.5-2字符 = 1 Token
- 代码:约3字符 = 1 Token
context:
estimation:
chinese_ratio: 1.5
english_ratio: 4
code_ratio: 3
show_token_count: true
3. 窗口管理策略
3.1 滑动窗口
context:
strategy: sliding_window
sliding_window:
max_tokens: 4000
keep_system_prompt: true
keep_recent_messages: 10
trigger_threshold: 0.8
3.2 摘要压缩
context:
strategy: summarize
summarize:
trigger_at: 6000
summary_model: gpt-3.5-turbo
max_summary_length: 500
4. 最佳实践
- ✅ 始终保留系统提示和用户核心请求
- ✅ 长对话使用摘要压缩而非完全丢弃
- ✅ 多Agent场景只传递必要上下文
- ✅ 监控Token使用,预警溢出
- ✅ 根据任务复杂度动态调整窗口
💡 结合长期记忆系统,可以突破上下文窗口的限制。