大模型有上下文窗口限制(128K),长对话会累积大量历史消息,导致:

- 消耗更多 Token(增加成本)。
- 可能干扰当前查询,模型需要处理过多无关信息。
- 触及上下文长度上限,导致最早的对话被“挤掉”,且这个过程模型不可控。
会话修剪让你能主动、有策略地管理历史记录,而不是被动地等待模型截断。
主要功能与用途
- 节省成本:减少每次请求发送的 Token 数量。
- 提升相关性:移除过时或无关的对话分支,使模型更专注于当前主题。
- 维护系统提示:确保关键的
system提示(角色设定、核心指令)不被挤出上下文。 - 管理长对话:实现类似“摘要式记忆”或“关键点保留”的对话模式。
如何使用会话修剪功能
修剪功能可以在两个地方操作:
在聊天界面手动修剪
- 在对话历史记录中,找到你想开始“修剪”的消息。
- 通常会有一个 “从此处开始新对话” 或 “修剪至此” 的按钮。
- 点击后,该条消息之前的所有历史记录将从本次对话的上下文中移除,但不会从界面上物理删除(你仍然可以滚动查看)。
- 之后的模型请求,将只包含从你选定那条消息开始往后的对话内容。
举个例子:你讨论了10轮关于“Python基础”的问题,然后第11轮开始问“如何部署到服务器?”,你可以在第11条消息处修剪,这样模型就忘记了之前的所有Python基础讨论,上下文将完全专注于部署问题。
通过工作流节点自动修剪
在 OpenClaw 的 “工作流” 编辑器中,有一个专门的 “会话修剪” 节点。
- 配置参数:
- 目标会话:选择要修剪哪个聊天会话。
- 修剪策略:
- 保留最近 N 条消息,只保留最新的若干条(如最近5条)。
- 保留最近 N 轮对话:保留完整的 Q-A 轮次。
- 保留自某条消息ID之后:更精确的控制。
- 保留包含系统提示的消息:通常这是一个必选项,确保核心指令不丢失。
- 最大Token数限制:尝试修剪到设定的 Token 数以下。
- 工作流集成:你可以将这个节点放在工作流的特定环节,在判断到对话主题切换后自动触发修剪,或在对话达到一定长度后自动运行。
最佳实践与策略
- 主题切换时手动修剪:当用户开启一个全新、不相关的主题时,是手动修剪的最佳时机。
- 保留系统提示:务必在配置中勾选“保留系统提示”,除非你故意想清空角色设定。
- 智能自动修剪策略:
- “最近N条+系统提示”:最通用的策略,能保持对话的短期记忆。
- 结合摘要节点:在修剪前,先用一个 “ 节点将冗长的历史对话总结成一段精简的文字,然后将这段摘要(作为一条
system或user消息)和最近几条消息保留下来,这样既保留了长期信息的精髓,又极大地节省了空间。
- 谨慎操作:修剪是不可逆的(针对后续的模型上下文而言),修剪掉的信息将不再影响未来的回答。
OpenClaw 的会话修剪功能本质是一个 “上下文管理器”,它把对对话历史的控制权交还给用户,是进行长对话、多主题对话、成本敏感型应用的必备功能,通过 手动修剪 应对明确的需求切换,通过 工作流中的自动修剪节点 实现智能化的上下文维护,可以显著提升大模型应用的效率和效果。
用它来告诉模型“之前聊的XX部分可以忘了,我们从现在开始关注YY”。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。