☰
pstack原则14守护上下文窗口:大任务中防止上下文爆炸的终极路由法
2026/10/8 18:43:58 网站建设 项目流程

pstack原则14守护上下文窗口:大任务中防止上下文爆炸的终极路由法

【免费下载链接】pstack-claudeClaude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.项目地址: https://gitcode.com/GitHub_Trending/ps/pstack-claude

pstack 是一套面向 Claude Code、Codex、GitHub Copilot 等 AI 编码智能体移植的工作流技能栈,把 Cursor 上成熟的智能体流程搬到了其他运行时。本文深入解析其第 14 号原则「守护上下文窗口(Guard the Context Window)」:通过把大块数据路由给子智能体,让主线程只保留摘要,从机制上防止大任务中上下文爆炸。

为什么上下文窗口是 AI 智能体最稀缺的资源 ⚠️

很多人把 AI 智能体跑飞归咎于模型变笨,其实更常见的原因是上下文窗口被撑爆了。上下文窗口有两个特性:

  • 有限:一次会话能装的 token 有硬上限;
  • 不可再生:会话内用掉的不会回血。

一旦溢出,会发生三件坏事(这也是该原则在 SKILL.md 里写的原话):

  1. 推理质量下降——模型开始"丢三落四";
  2. 压缩伪影出现——自动压缩会把关键细节压没了;
  3. 任务直接停滞——进度卡死,只能重开会话。

典型的重灾区场景:一次性输出巨大、反复读取超长文件、粘贴截图和大型文档、以及多路并发(fan-out)规划时的海量回报。pstack 的思路不是"硬扛",而是路由——像流量调度一样,决定哪些数据进主线程、哪些丢给子智能体去消化。

路由法三规则:守护上下文窗口的核心手法 🧭

这个原则的完整定义只有十几行,凝练成三条规则,非常值得逐条对照检查:

核心判断:每一个 token 都应当值回它的成本。

规则一:大块数据交给子智能体,主线程只收摘要

原文明确要求Isolate large payloads:冗长的输出、截图、大文档,全部路由给子智能体去读去处理;主上下文拿到的应该是摘要,而不是原始载荷。

pstack 在 poteto-mode 的智能体规范里把这条做成了硬性默认值:每次调用Agent工具时传"file pointers not inlined context"(文件指针,而非内联上下文)——也就是说,子智能体把结果写成文件,主线程只拿"去哪找"的指针,需要细节时再按需取用。

swarm技能同样如此:多个并行 worker 跑完后,父智能体被明令禁止Do not paste raw worker dumps(不要粘贴 worker 的原始输出),只保留紧凑的结果表格。

规则二:高频使用的内容直接内联

反直觉的一条:经常要用的内容反而不该拆出去。原文要求Keep frequently used content inline——每次调用都要用的模板和参考资料,应直接写进技能文件里,而不是拆成独立文件、每次多花一次"读取"的 token 成本。

拆开省空间是假象,多一次文件读取就是实打实的开销。判断标准很简单:这个内容是不是每次都会用到?是,就内联。

规则三:控制阶段规模,给范围设上限

原文要求Size phases and cap scope,具体拆成三个动作:

动作含义
限制每阶段文件数一个阶段只碰有限几个文件,做完再进下一阶段
设定回合预算(turn budget)给子任务划出轮次上限,防止无限递归探索
计入机制成本工具调用、环境加载等"隐性开销"也要算进预算

pstack 的多阶段计划 playbook(multi-phase-plan.md)就是这条规则的落地:探索阶段全部丢给子智能体,每路只返回文件指针、编码约定、测试命令、入口点,并强调一句"No inlined dumps"(不要内联倾倒)。

实战场景:pstack 在哪些 playbook 里真的用了它 🔍

原则的价值在于被反复触发。仓库里至少四处 playbook 明确引用了这条路由法,都是"大块数据"的典型现场:

场景大块数据路由策略
运行时取证海量运行时产物在子智能体中解析,只把"铁证"(关键函数、泄漏链)留在主线程
追踪取证大型 profiling 文件同上:子智能体解析,主线程保留压缩后的发现
工作区清理巨型会话转录"transcripts are bulk"(转录天生是大块数据),扇出子智能体分别阅读并回报结论
爬坡优化反复的代码修改改动交给子智能体执行,主线程只做监督与 diff 审查,不亲自动手

规律很清晰:凡是"读起来很贵、但结论可以很小"的工作,都应该外包。主线程的职责收敛为决策、汇总与验证,这正是路由法的目的。

不止于 AI:给人类读者的同款原则 📖

有趣的是,pstack 的另一条原则 principle-minimize-reader-load 直接点破了这层类比:

"代码被阅读的次数远多于被编写的次数……读者的工作记忆同样是有限的。这就是 守护上下文窗口 的人类版本。"

AI 的上下文窗口和人脑的工作记忆,约束结构其实一样:入口带宽有限,超载之后质量就会崩塌。所以给智能体减负和给人减负,用的是同一套方法——摘要代替原文、按阶段限流、只保留决策需要的信息。

值得延伸阅读的相关文件 📚

  • 原则原文:plugins/pstack/skills/principle-guard-the-context-window/SKILL.md
  • 原则注册表(含全部原则的触发时机):plugins/pstack/skills/poteto-mode/SKILL.md
  • 并行扇出与汇总策略:plugins/pstack/skills/swarm/SKILL.md
  • 多路候选比稿流程:plugins/pstack/skills/arena/SKILL.md
  • 人类版上下文守护:plugins/pstack/skills/principle-minimize-reader-load/SKILL.md
  • 架构术语表:CONTEXT.md

想动手体验完整工作流,可以克隆仓库后安装:

git clone https://gitcode.com/GitHub_Trending/ps/pstack-claude

总结 ✨

「守护上下文窗口」是 pstack 原则体系中极具工程感的一条:上下文不是垃圾桶,而是需要主动调度的稀缺资源。三条路由规则——大块数据交给子智能体、高频内容内联、阶段限流设预算——配合"文件指针代替内联上下文"的硬约定,让主线程始终只装摘要和决策。对新手来说,最值得带走的经验只有一句话:让 AI 读贵的东西,让你看便宜的结论。

【免费下载链接】pstack-claudeClaude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.项目地址: https://gitcode.com/GitHub_Trending/ps/pstack-claude

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询