Appearance
AI 上下文优化指南:突破 Token 限制并降低推理成本
解决 LLM 上下文窗口不足的问题:通过一套系统性的优化策略(压缩、掩码、缓存、分区),在不更换更大模型的前提下,提升 AI 处理长文本和复杂任务的有效容量。
为什么需要这个技能
在实际开发 AI 应用时,上下文窗口(Context Window)是有限的。当对话过长或输入文档过多时,会出现两个核心问题:一是 Token 数量剧增导致推理成本攀升且响应延迟增加;二是由于“中间丢失”现象,AI 容易忽略长文本中间的关键信息。
上下文优化的核心不在于魔法般地增加窗口大小,而是在于提高“信噪比”——通过保留核心信号并剔除冗余噪声,使有限的容量发挥最大效能。
适用场景
- 复杂任务受限:任务复杂度超过了当前模型的上下文上限。
- 成本控制:需要通过减少 Token 消耗来降低 API 调用费用。
- 降低延迟:在长对话中减少推理时间。
- 长程 Agent 系统:构建需要运行数小时甚至数天的自动化智能体。
- 超大规模文档处理:需要 AI 分析多个大型文档而又不希望丢失重点。
核心工作流
1. 压缩策略(Compaction)
当上下文接近阈值时,将旧内容摘要化。
- 工具输出:仅保留关键发现、指标和结论,删除原始冗余输出。
- 对话轮次:保留关键决策和承诺,删除寒暄和重复性对话。
- 检索文档:保留事实结论,删除论据和详细阐述。
- 注意:永远不要压缩系统提示词(System Prompt)。
2. 观察掩码(Observation Masking)
将冗长的工具返回结果替换为短引用(Reference)。
- 无需掩码:当前任务的关键信息、最近一次轮次的结果。
- 考虑掩码:三轮之前的观察结果、已提取出重点的冗长输出。
- 必须掩码:重复的输出、模板化的页眉页脚。
3. KV-Cache 优化
通过优化 Prompt 结构提高缓存命中率,减少重复计算。
- 排序原则:将最稳定的元素放在最前面(系统提示词 工具定义 复用模板 动态内容)。
- 稳定性设计:避免在 Prompt 中加入动态时间戳,保持格式一致。
4. 上下文分区(Context Partitioning)
将复杂工作拆分给多个具有独立上下文的子 Agent。
- 隔离关注点:子 Agent 专注于特定子任务(如搜索),主 Agent 仅负责综合分析。
- 结果聚合:仅将子 Agent 的精炼结果汇总给主 Agent。
实践代码示例
压缩触发逻辑
python
if context_tokens / context_limit > 0.8:
context = compact_context(context)观察掩码实现
python
if len(observation) > max_length:
ref_id = store_observation(observation)
return f"[Obs:{ref_id} elided. Key: {extract_key(observation)}]"缓存友好排序
python
# 将稳定内容置前以最大化 Cache 命中率
context = [system_prompt, tool_definitions] # 静态缓存
context += [reused_templates] # 高频复用
context += [unique_content] # 动态唯一下载和安装
下载 context-optimization 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐