上下文的压缩策略中上下文学习的内部机制是检索而非推理,上下文压缩的设计原则是什么
回复 Erfan: 核心设计原则就一句话:与其期望模型从冗长的原始上下文中自动归纳学习,不如由外部主动、显式地把隐式过程提炼成结构化结论再喂给模型。 因为注意力机制的本质是模式匹配和检索(靠 Query-Key 找现成片段),不擅长在单次前向传播里跨几十轮历史做全局归纳和消歧。落到具体的压缩设计上,主要遵循这四条原则: 1. 变隐式推理为显式结论(知识提炼而非单纯截断) 不能只做简单的滑动窗口(FIFO)或字面缩减。压缩时必须专门做一次显式的知识提炼(用确定性规则或专门的摘要 LLM 调用),把散落在多轮轨迹里的“试错过程”直接总结成“已确认的事实、关键决策、失败教训和未解约束”,让主模型后续只需“检索现成结论”,不用重头推导。 2. 按信息生命周期分层裁剪(删过程、留结论与锚点) 原始的大段工具输出(比如几百行日志、网页全文、文件全文)用完即贬值,是最优先压缩或替换为文件路径/引用摘要的对象;而用户核心约束、架构决策、报错根因和当前 TODO 状态必须完整保留。 3. 保护前缀 KV Cache(批量触发,不动前缀) 压缩绝对不能每轮都微调前面的历史,否则每轮都会打碎 Prefix Cache。工程上必须保持 System Prompt 和最近几轮原始对话不动,等上下文接近预算阈值(比如 75%~80%)时,才对早期的历史消息做一次批量压缩替换。 4. 客观状态靠确定性代码,语义总结靠模型 像重试次数、改动过的文件列表、当前工作目录这类精确状态,不能让 LLM 在压缩摘要里靠“印象”写,必须由框架代码确定性提取(也就是上一问聊的状态栏);LLM 摘要只负责提炼高层的语义进展和排障结论。