上下文管理策略
概述
上下文管理策略是 Ralph Loop 系统中应对 LLM 上下文窗口只增不减问题的六种核心方法,包括固定栈分配、子 Agent 卸载、观察遮蔽、规范文件持久化、上下文预算管理和干净状态协议。
关键内容
- 根本问题:LLM 上下文只有 malloc() 没有 free(),每次工具调用都会追加内容且无法释放,最终进入愚钝区导致质量急剧下降。Ralph 的根本解法是在进入 Dumb Zone 前主动退出,让外循环重启新实例。
- 固定栈分配:每次迭代以完全相同的方式分配上下文(System Prompt → Project conventions → Core constraints → File references),利用 LLM 对开头和结尾注意力更高的特性,把最重要约束放在最前面。
- 子 Agent 卸载:将消耗大量 tokens 但只需结论的操作(运行测试套件、编译、截图分析)卸载给子 Agent,主 Agent 只接收简洁结论,上下文增加从 ~50,000 tokens 降至 ~100 tokens。
- 观察遮蔽:当上下文接近限制时,保留最近 N 轮对话,将旧消息替换为摘要占位符。Ralph 认为此策略不适合其"每 Story 一迭代"模式,但在 Story 实现过程中的子任务间可使用。
- 规范文件 vs 上下文内容:黄金规则——任何需要跨会话持久化的信息必须在文件里,不能只在上下文里。发现新约定更新 AGENTS.md,完成 Story 更新 prd.json + progress.txt。
- 上下文预算管理:估算 CLAUDE.md 各部分 token 消耗,理想情况下固定内容 ~5,000 tokens,prd.json ~15,000 tokens,实现过程工具调用 ~50,000 tokens,总计 ~105,000 tokens(52.5%),保留 48% 安全缓冲区。
- 干净状态协议(Clean State Protocol):每次迭代结束前验证 git status 为空、build 无错误、测试通过、prd.json 语法正确、progress.txt 已更新,确保不把破损状态传递给下一个 Agent。
来源
- raw/articles/ai-tools/ralph-loop/context-strategies.md — 完整策略文档
- raw/articles/ai-tools/ralph-loop/how-the-loop-works.md — 循环原理中的上下文管理
相关
- Ralph Loop 系统 — part_of
- 上下文窗口 — addresses
- 愚钝区(The Dumb Zone) — addresses