用途
Session Guard 用于解决长会话中上下文被静默破坏的问题。资料指出,长会话会静默地发生损坏:上下文压缩会在无提示的情况下丢弃指令,而 Hooks 无法修复这一问题(多位开发者在 GitHub issues #19471、#9796、#64171 中确认)。该技能通过行为层面的自我约束来同时防止这两种情况:监控健康度、在压缩过程中锚定关键规则、在损害发生前拆分会话。它不含软件包、不含数据库,是纯行为层面的约束,可在所有运行环境中工作。
适用时机
资料列出的触发条件包括:
- 会话超过 40 次工具调用
- 智能体与先前的决策相矛盾
- 风格或命名约定开始漂移
- 发生任何上下文压缩事件之后
- 任务范围无边界地增长
健康信号
资料以表格形式给出信号、阈值与对应操作:
- 工具调用次数 >40:标记为 YELLOW,执行检查点并复述关键规则
- 工具调用次数 >60:标记为 RED,拆分或带锚点压缩
- 智能体与先前决策矛盾(任意情况):VERIFY,重新阅读事实来源(source of truth)
- 风格或命名漂移(任意情况):RECITE,出声陈述当前生效的规则
- 文件读取返回意外内容(任意情况):RE-READ,不要信任缓存状态
- 任务范围无边界增长(持续出现):SPLIT,每个会话只处理一个任务
协议
绿区(0-40 次工具调用)
正常操作,无需干预。
黄区(40-60 次工具调用)
- CHECKPOINT:用一段话总结进展
- RECITE:出声陈述 3-5 条最关键的在用规则,例如「在用规则:[命名约定]、[文件结构]、[错误处理模式]、[测试要求]」
- ASSESS:快完成了吗?继续推进。还没完成?准备拆分。
- REDUCE:不做探索性读取,只做有目标的操作。
红区(60 次以上工具调用或出现漂移信号)
- STOP:不要再进行更多工具调用
- VERIFY:重新阅读项目规则(不要信任记忆)
- CHECKPOINT:将状态写入交接文档
- SPLIT:创建交接,建议开启新会话
上下文锚定(防压缩)
当已经发生压缩(早期上下文突然丢失,或执行 /compact 之后):
- 立即重新阅读项目的规则文件
- 在回复中出声复述 3-5 条关键规则
- 在执行前验证你计划的下一步操作是否符合这些规则
- 如果对任何先前决策不确定,重新阅读源文件,不要猜测
资料说明压缩后哪些内容会保留:
- 最近的用户消息(高优先级)
- 当前调用的技能正文(上限 5K tokens,最旧的优先被丢弃)
- Git 状态与项目结构
- 压缩之后读取的文件内容
压缩中会丢失的内容:
- 对话早期做出的决策
- 仅口头陈述、未写入文件的架构规则
- 来自工具输出的上下文(文件读取、命令输出)
压缩安全模式
将关键指令保存在文件(CLAUDE.md、CONTEXT.md)中,而不是对话中。如果某条规则很重要,它必须存在于智能体可以重新读取的文件里,而不是早先口头达成的内容。
常见错误
资料列出的常见错误包括:
- 相信自己在 50 次以上工具调用后还记得规则(实际并不记得——要重新阅读)
- 为求保险而重新阅读所有内容(浪费工具调用——要有针对性)
- 因为感觉良好就假定上下文良好(压缩是静默的)
- 在注意到问题之后才拆分(应在之前拆分——是预防,而非恢复)
为什么重要
资料称上下文压缩是 2026 年第一大未解决的平台问题。Hooks 无法修复它(已确认:智能体会忽略压缩后注入的内容,因为压缩摘要制造了叙事惯性)。该技能是轻量级的行为对策:不需要基础设施、不需要软件包,是能在所有运行环境中工作的自律式自我监控。
限制
资料未提及该技能的收费、价格、支持平台清单或与具体运行环境的兼容性细节,这些内容暂未提供。