上下文窗口就像 Agent 的"工作台"——桌子就这么大,放太多东西就放不下了。Context Budget 就是管理这张桌子的艺术。
Context Budget 是管理 LLM 上下文窗口(Context Window)中 token 使用的策略。每个 LLM 都有固定的上下文长度限制(如 128K tokens),超出就会截断或报错。合理管理预算,才能让 Agent 高效工作。
| 组成 | 占比 | 说明 |
|---|---|---|
| System Prompt | ~15-25% | SOUL.md + 工具定义 + 技能列表 |
| Workspace Files | ~5-10% | USER.md + TOOLS.md + IDENTITY.md |
| 对话历史 | ~30-50% | 用户消息 + Agent 回复 |
| 工具结果 | ~10-30% | web_fetch、exec 等返回的内容 |
| 预留空间 | ~10-20% | 留给 Agent 生成回复 |
当对话太长或工具返回太多内容时,会超出窗口限制。症状:Agent 忘记前面说的话、回复被截断。
SOUL.md 写得太长、工具结果没有过滤、重复信息多次出现,都会浪费宝贵的 token 空间。
# 1. 控制 Workspace Files 大小
# SOUL.md 建议 < 3000 字
# TOOLS.md 建议 < 2000 字
# 2. 工具结果截断
web_fetch url="..." maxChars=5000 # 限制返回长度
# 3. 使用 lightContext
sessions_spawn task="..." lightContext=true # 轻量上下文
# 4. 及时清理长对话
# 开新会话而不是在一个会话里聊太久
# 查看当前会话的 token 使用情况
session_status