上下文溢出恢复
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_df46f13b/context-overflow-recovery。
技能介绍
问题从哪来
大上下文窗口并不能保证「记得住」:长对话里中间段信息召回会明显下降(Lost in the Middle),而多文件、多系统、跨会话的复杂任务还会在几十轮之后把窗口塞满。若把整段聊天记录塞进 progress 文件,6KB 上限很快触顶,真正该保留的 API 端点、schema、关键决策反而被噪声淹没。
本技能针对的是估计 ≥5 步、跨系统或跨会话的工程类任务;三五步改单文件、纯问答不必启用。
五段式上下文工程管线
核心不是随手记笔记,而是一套可恢复的流水线:
- Identify:判断任务是否值得纳入跟踪(步数、系统数、会话跨度、步骤依赖)。
- Classify:每条信息标成 Static Anchor(永久、原文保留)或 Dynamic Flow(可压缩)。
- Compress:只对动态流做渐进折叠;静态锚点与用户
pin的内容永不压缩。 - Retrieve:恢复时先读工作区根目录
progress.md(Tier 1 任务注册表),再读.progress/task-{id}.md(Tier 2 详情)。 - Persist:每完成一个实质性步骤就双写 Tier 2 与 Tier 1,并受 4KB / 6KB 硬上限约束。
压缩顺序按「信息能量」从低到高:调试栈与中间输出最先丢,只留错误类型与结论;旧已完成步骤合并为一行摘要;当前步、下一步、Key Decisions、Static Anchors 以及 .progress/pinned.md 中的条目锁定不动。代码侧禁止改成自然语言概括:保留签名与控制流骨架,用 path:L42-58 引用代替整段粘贴。
适用边界与反模式
should_track() 为 false 时不要创建任何 progress 文件,日常日志即可。同一工作区避免两个会话并行写 progress,否则状态互相覆盖。Tier 1 只放总览表,细节进 Tier 2;不要把用户/助手原文对话抄进任务文件。任务完成后文件保留 7 天再归档,避免 .progress/ 堆积拖慢恢复扫描。
使用场景
- 分多天完成企业微信/飞书机器人:改多份配置、接 API,且第 4 步依赖第 2 步的 token 与 WebSocket 地址
- 跨 3 个以上仓库或配置文件搭建部署流水线,每完成一阶段就要在下次会话从确切步骤继续
- 长文档或多章节技术方案:大纲与发布平台配置当静态锚点,中间讨论可压,避免窗口中段丢决策
- 重度读码与生成长代码的任务,预估超过 10 轮且步骤有依赖,需要在溢出前把状态写入 progress 双层文件
适合人员
- 在同一工作区连续多会话交付 Web/API 的后端工程师,需固定端点、schema、环境变量不被摘要掉
- 负责跨服务联调与上线的运维/SRE,步骤跨天且要在 progress.md 里一眼看到各任务停在第几步
- 用 Agent 做数据管道或 ETL 的数据工程师,源路径、字段映射、凭证位置必须 verbatim 恢复
- 维护多文件基础设施清单的平台工程师,容器镜像、证书路径、健康检查 URL 属于静态锚点不能丢