# 上下文压缩卸载：为 AI“瘦身”，让长对话更流畅

在日常使用智能体的过程中，随着对话轮次的增加，用户往往会遇到一个典型问题：AI的“记忆力”似乎逐渐下降——响应变慢、忽略早期信息，甚至在处理财务账单等关键内容时出现错误。其根本原因在于技术层面的一个核心瓶颈：**上下文窗口的容量限制**。如同人类短期记忆的局限性，AI在单轮对话中可承载的信息量也是有限的。

为此，JiuwenClaw 引入了基于 openJiuwen 的 **上下文卸载（Context Offload）机制**。其设计理念可以类比为“办公桌整理”：当桌面文件（消息数量）或纸张厚度（Token数量）超出预设阈值时，系统将自动识别并归档那些“大而次要”的内容，仅保留一份简要索引，从而为当前任务腾出更多“注意力”。这使得即便面对长时间的财务对账或数据分析任务，AI也能保持高度专注与连贯性。

## 如何配置上下文卸载机制？

为使系统能够灵活应对多样化的对话场景，JiuwenClaw 提供了一套可动态调整的“上下文管理策略”，核心配置参数包括：

| 参数 | 说明 |
| :--- | :--- |
| **触发条件** | 当消息数量超过 `messages_threshold`（例如 3 条），或累计 Token 数超出 `tokens_threshold`（默认 20000）时，系统将自动启动上下文瘦身流程 |
| **识别超长消息** | 通过 `large_message_threshold`（例如 1000 Token）界定何为“大消息”，系统将优先对这些占用大量资源的消息进行处理 |
| **选择性归档** | 利用 `offload_message_type` 参数，可指定对某一角色消息进行压缩（例如仅压缩工具返回的冗长数据，保留用户与助手的核心对话） |
| **压缩方式** | 系统将通过采样或摘要的方式提取关键信息，并插入索引标记 `[[OFFLOAD:...]]`，在压缩内容的同时保留上下文检索能力 |
| **保护近期重要对话** | 可设置 `messages_to_keep` 强制保留最近若干条消息，或启用 `keep_last_round` 确保最新一轮的用户-助手对话完整保留 |

[演示视频](../assets/videos/compression.mp4)

通过这一动态上下文管理机制，JiuwenClaw 实现了对 AI 上下文的智能调控——既保障关键信息（如财务账单、合同条款）不丢失，也有效排除冗余数据的干扰，确保长对话始终保持高效与连贯。无论是跨多日的项目跟进，还是反复核对的数据分析任务，JiuwenClaw 的上下文瘦身机制都将为每一次交互提供稳定、流畅的体验。
