上下文控制
DesireCore 会保存完整对话历史,但模型每次只能读取有限长度的上下文。上下文控制用于在不丢失可见历史的前提下,让长对话继续稳定运行。
/new:开启新上下文
输入 /new 会在当前对话中创建新的上下文边界。
- 可见历史仍保留在聊天界面
- 后续模型调用不再自动读取边界之前的完整消息
- 适合换话题、重新开始任务或避免旧讨论影响新任务
/compact:手动压缩
输入 /compact 会让 Companion 总结较早的消息,并把摘要作为后续上下文的一部分。
- 原始历史仍能在界面和聊天记录中查看
- 模型后续主要读取压缩摘要和最近几轮消息
- 适合长任务、连续写作、长代码审查和多轮资料分析
手动压缩会尽量执行,即使当前上下文还没有达到上限,也可以用来主动整理长期任务。
自动长上下文压缩
当对话接近模型上下文上限时,DesireCore 会自动触发压缩。自动压缩的目标是:
- 避免长对话突然因上下文超限失败
- 保留任务目标、关键决策、已完成步骤和待办事项
- 减少重复读取旧消息造成的成本浪费
自动压缩不会清空聊天记录,也不会删除文件或记忆。
CompactSession 工具
部分智能体可以主动调用 CompactSession 工具整理当前会话。这通常发生在:
- 智能体发现任务跨度很长
- 工具调用和文件输出很多
- 后续需要稳定保留阶段性结论
与清除历史的区别
| 操作 | 是否保留可见历史 | 是否影响模型上下文 | 是否可恢复 |
|---|---|---|---|
/new | 保留 | 开启新上下文边界 | 可继续查看旧消息 |
/compact | 保留 | 用摘要替代旧消息细节 | 可查看原始历史 |
| 自动压缩 | 保留 | 后台压缩旧上下文 | 可查看原始历史 |
| 清除聊天记录 | 删除 | 删除对应历史 | 通常不可恢复 |
实践建议
| 场景 | 推荐操作 | 理由 |
|---|---|---|
| 换话题(如从写代码转到问天气) | /new | 避免旧任务上下文干扰新话题 |
| 长任务进行中(如连续写 20 页文档) | /compact | 释放上下文空间,保留任务摘要 |
| 对话已经很长但还在同一任务 | 等待自动压缩 | 系统会自动在合适时机压缩 |
| 智能体走错方向,想重来 | Rewind | 回到错误前的检查点 |
| 彻底不需要这段对话 | 清除聊天记录 | 不可逆,慎用 |
/new vs /compact 如何选择/new:完全切断与之前内容的上下文关联。适合"前面聊的事跟接下来完全无关"的场景。/compact:保留之前内容的摘要。适合"还在做同一件事,只是对话太长了"的场景。
如果你不确定用哪个,优先用 /compact——它更温和,不会丢失任务上下文。
记忆不受压缩影响
Companion 的长期记忆(通过教学或自动学习获得的知识)存储在 AgentFS 中,不受上下文压缩影响。即使执行了 /new 或 /compact,Companion 学到的规则和偏好仍然有效。