当对话太长、裁剪也不够用时:Compaction 深度解析与 OpenClaw 的实战策略
当对话太长、裁剪也不够用时Compaction 深度解析与 OpenClaw 的实战策略1. 引言当“工作台”被彻底塞满2. 什么是 Compaction2.1 核心定义2.2 工作原理2.3 一个精妙的细节工具调用的配对保护3. OpenClaw 的 Compaction 策略3.1 触发机制自动 手动3.2 核心配置参数3.3 “记忆刷写”压缩前的关键一步3.4 “后继转录”压缩后的文件管理3.5 可插拔压缩提供商4. Compaction 的最新前沿4.1 PAACE计划感知的自动化上下文工程4.2 Focus Agent自主压缩的智能体4.3 ACCP标准化压缩协议5. 一张图看懂 Compaction 的完整流程6. 日常实践建议7. 结语The Begin点点关注收藏不迷路⬇ ⬇ 底部 ⬇ ⬇1. 引言当“工作台”被彻底塞满在上一篇文章中我们讨论了工具返回超大结果带来的挑战以及应对策略。但有一个更棘手的问题当整个对话历史本身已经长得无法裁剪时该怎么办想象一个场景你和 Agent 进行了一个长达 50 轮的复杂项目讨论中间穿插了大量文件读取、代码搜索、命令执行。即使你启用了会话剪除Pruning每次只保留最近几轮的工具输出对话的“骨架”——用户和助手的交替消息——本身已经累积到了一个可怕的 Token 数。在某个时刻你发送一条新消息模型直接返回context length exceeded。裁剪Pruning只是“清理桌面”而压缩Compaction是“把旧文件归档到仓库”。2. 什么是 Compaction2.1 核心定义Compaction压缩是将较早的对话轮次摘要成一条精简条目从而释放上下文窗口空间的过程。它的核心思想与人类处理信息的方式一致对于过去发生的事情你不需要记住每一个细节只需要记住“发生了什么”和“关键结论”。Compaction 正是为 Agent 提供这种“记笔记”的能力——把早期对话浓缩成一段摘要让模型在后续推理中仍然知道“之前讨论过什么”但不再被原始的长文本占用空间。关键区别Pruning剪除只针对工具输出在内存中临时处理Compaction 针对整个对话会持久化保存摘要到会话转录中。2.2 工作原理当对话接近上下文限制时Compaction 会介入识别压缩边界系统扫描对话历史确定从哪里开始压缩生成摘要用 LLM 将较早的对话轮次提炼为一段精简文本保留尾部最近的消息保持完整确保当前任务不受影响持久化存储摘要作为compaction条目写入会话转录.jsonl 文件完整对话历史仍保留在磁盘上——压缩只改变模型在下一轮“看到”的内容不删除任何原始数据。2.3 一个精妙的细节工具调用的配对保护Compaction 有一个容易被忽视但至关重要的设计它会确保工具调用assistant tool call与对应的工具结果toolResult永远不被拆散。如果拆分点恰好落在工具调用和结果之间OpenClaw 会自动移动边界让这对条目保持在一起。这意味着即使在压缩后工具调用的上下文完整性依然得到保证——模型不会看到一个“调用了工具但没有结果”或者“有结果但没有对应调用”的碎片化历史。3. OpenClaw 的 Compaction 策略3.1 触发机制自动 手动OpenClaw 支持两种触发方式自动压缩默认开启会在两种情况下触发阈值维护当已用 Token 上下文窗口 - reserveTokens时在一个成功轮次之后触发溢出恢复当模型返回上下文溢出错误时自动压缩并重试OpenClaw 能够识别多种溢出错误模式request_too_largecontext length exceededinput exceeds the maximum number of tokensollama error: context length exceeded手动压缩通过/compact命令触发。还可以带聚焦指令/compact Focus on API design and configuration这让摘要更精准地保留你关心的信息。如果设置了keepRecentTokens手动压缩会保留最近尾部否则是“硬检查点”——从新摘要继续尾部会被截断。3.2 核心配置参数以下配置在openclaw.json的agents.defaults.compaction下设定参数作用推荐值mode压缩模式default/safeguardsafeguard分块摘要更稳定reserveTokensFloor为未来消息预留的最低 Token 数24000model用于摘要的模型可覆盖主模型轻量模型节省成本keepRecentTokens手动压缩时保留的尾部 Token 数按需设定identifierPolicy是否保留不透明标识符strict默认保留notifyUser是否在压缩时通知用户true/false3.3 “记忆刷写”压缩前的关键一步这是 OpenClaw 压缩机制中最具前瞻性的设计。在自动压缩发生之前OpenClaw 可以运行一次静默的“记忆刷写”轮次将当前对话中的关键信息写入memory/YYYY-MM-DD.md等持久化文件。配置如下memoryFlush:{enabled:true,model:ollama/qwen3:8b,softThresholdTokens:4000}这解决了压缩的核心风险摘要可能丢失你关心的细节。通过刷写关键事实被保存到长期记忆中即使压缩把原始对话“归档”了这些信息依然可以在后续会话中被检索到。3.4 “后继转录”压缩后的文件管理开启truncateAfterCompaction后OpenClaw 不会就地重写现有转录而是创建一个新的“后继转录”后续 JSONL包含压缩摘要 保留状态 未摘要尾部。之前的转录作为归档检查点保留。好处压缩不会破坏原始记录压缩前的检查点可用于调试重复的冗长用户轮次如渠道重试风暴会被丢弃避免污染新转录3.5 可插拔压缩提供商插件可以通过registerCompactionProvider()注册自定义压缩提供商。当设置provider时摘要生成被委托给该提供商而不是内置的summarizeInStages流水线。设置provider会自动强制mode: safeguard。如果提供商失败OpenClaw 会自动回退到内置 LLM 摘要。4. Compaction 的最新前沿关于上下文压缩2026 年的学术界和工业界有一些值得关注的进展。4.1 PAACE计划感知的自动化上下文工程2025 年 12 月发布的 PAACE 框架提出了一个核心观点上下文压缩应该“感知计划”——根据任务的计划结构来决定何时、如何压缩。PAACE 包含两个核心组件PAACE-Syn大规模合成 Agent 工作流生成器带有逐步骤压缩监督PAACE-FT从成功教师演示中训练的轻量级压缩器在 AppWorld、OfficeBench 等多任务基准测试中PAACE 在提升准确率的同时降低了峰值上下文和累积依赖。4.2 Focus Agent自主压缩的智能体卡内基梅隆大学等机构提出的 Focus Agent 采用了一种更激进的思路让 Agent 自主决定何时压缩。引入start_focus和complete_focus两个工具Agent 在探索完成后自主调用complete_focus生成摘要并删除原始探索日志上下文呈现“锯齿形”增长 → 压缩 → 再增长在 SWE-bench Lite 测试中Focus 实现了 22.7% 的 Token 减少14.9M → 11.5M同时保持与 Baseline 相同的准确率3/560%。最高单实例节约达 57%。4.3 ACCP标准化压缩协议IETF 的互联网草案 ACCPAgent Context Compression Protocol提出了一种跨 Agent 通信的标准化压缩协议。核心设计包括三级状态模型Hot上下文中→ Warm压缩摘要→ Cold外部存储检查点机制任务完成或 Hot 状态超过 400 Token 时触发压缩增量编码检查点后只传输变更的增量目标是实现 60-90% 的 Token 消耗降低。5. 一张图看懂 Compaction 的完整流程否是对话持续进行上下文逐步增长接近上下文限制触发 Compaction阶段1: 记忆刷写将关键事实写入 memory/ 目录静默执行用户无感知阶段2: 确定压缩边界检测工具调用与结果的配对移动边界确保配对不被拆散阶段3: 生成摘要较旧轮次 → 精简摘要最近消息保持完整阶段4: 持久化摘要写入会话转录 .jsonl完整历史保留在磁盘阶段5: 后继转录创建新的活跃转录原转录归档为检查点上下文空间释放对话继续6. 日常实践建议基于 OpenClaw 的官方文档和社区经验保持自动压缩默认开启——它是最核心的防线压缩太频繁尝试启用会话剪除Pruning——工具输出可能是元凶压缩后上下文感觉“过时”使用/compact Focus on topic引导摘要方向或启用记忆刷写需要彻底清理/new启动全新会话跳过压缩用轻量模型做摘要设置agents.defaults.compaction.model为本地小模型如ollama/qwen3:8b节省主模型成本关注/status查看 Compactions: count了解压缩频率7. 结语Compaction 是 Agent 应对“超长对话”的最后一道防线。当剪除Pruning不足以解决上下文膨胀时Compaction 通过摘要早期对话释放空间让 Agent 能够持续工作。OpenClaw 的 Compaction 策略体现了几个重要的工程智慧配对保护确保工具调用的完整性记忆刷写压缩前把关键信息存入长期记忆后继转录不破坏原始历史建立检查点可插拔设计允许自定义压缩提供商这三个机制——Pruning剪除、Compaction压缩和Memory记忆——共同构成了 OpenClaw 上下文管理生态的完整拼图。理解它们各自的作用和边界是构建可靠、长生命周期的 AI Agent 系统的必修课。The End点点关注收藏不迷路⬆ ⬆ 顶部 ⬆ ⬆

相关新闻

月之暗面 Kimi 上轮 200 亿美元融资完成交割,新一轮投前估值涨至 315 亿美元

月之暗面 Kimi 上轮 200 亿美元融资完成交割,新一轮投前估值涨至 315 亿美元

月之暗面 Kimi:估值飙升至 315 亿美元 《科创板日报》报道,月之暗面 Kimi 上一轮 200 亿美元估值融资于近日完成交割,新一轮融资已经启动,投前估值涨至 315 亿美元。 收入增长:模型迭代驱动开发者与 API 收入提升 据接…

2026/7/1 0:41:49阅读更多 →
这份榜单够用!AI论文写作软件深度测评与推荐

这份榜单够用!AI论文写作软件深度测评与推荐

2026年真正好用的AI论文写作软件,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …

2026/7/1 0:41:49阅读更多 →
电脑文件传输到 iPhone 不用 iTunes:8 种方法

电脑文件传输到 iPhone 不用 iTunes:8 种方法

想要把电脑里的文件传到 iPhone 或 iPad 时,大家第一反应大多是使用 iTunes。但使用 iTunes 传输文件很容易覆盖设备上现有的数据,体验很差,而且经常会出现电脑识别不到 iPhone 的故障。好在 iTunes 并不是唯一选择,市面上有多种简…

2026/7/1 0:41:49阅读更多 →
Spring 事务实现方式有哪些?

Spring 事务实现方式有哪些?

编程式事务:通过编程的方式管理事务,这种方式带来了很大的灵活性,但很难维护。声明式事务:将事务管理代码从业务方法中分离出来,通过aop进行封装。Spring声明式事务使得我们无需要去处理获得连接、关闭连接、事务提交和…

2026/7/1 1:46:56阅读更多 →
大模型核心技术与企业级应用实战指南-附录

大模型核心技术与企业级应用实战指南-附录

附录 这部分是整本书的"工具箱"——遇到不熟悉的概念回来查,看到感兴趣的工具体验一下,想深入研究的照着参考文献去找原文读。 附录A:常用术语表 按字母顺序排列,方便快速查阅。 A Adam — 一种自适应学习率的优化算法…

2026/7/1 1:46:56阅读更多 →
go ethereum之p2p

go ethereum之p2p

简介 p2p是以太坊节点网络层的骨架,夹在底层 TCP/UDP 和应用协议(eth、snap、les)之间,管三件事:节点发现(谁在线)、连接管理(怎么连上、怎么断)、消息多路复用&#xff…

2026/7/1 1:46:56阅读更多 →
中餐厅摆台 点击UI图片拖拽预制体到桌面并 实现预制体拖拽

中餐厅摆台 点击UI图片拖拽预制体到桌面并 实现预制体拖拽

1、准备桌面 和 酒杯先在Scene窗口中调好相对位置,然后将酒杯拖拽到project目录中生成预制体。需要给预制体增加一个脚本就是 using UnityEngine; public class ItemHeight : MonoBehaviour {// 在预制体Inspector手动填好:这个物品放在桌面需要的世界Yp…

2026/7/1 1:46:56阅读更多 →
— 一款针对 IT 团队开发的文档管理系统,基于 Golang 开发,内置项目管理,用户管理,权限管理等功能,可以用来储存日常接口文档,数据库字典,手册说明等文档。功能特色:

— 一款针对 IT 团队开发的文档管理系统,基于 Golang 开发,内置项目管理,用户管理,权限管理等功能,可以用来储存日常接口文档,数据库字典,手册说明等文档。功能特色:

色:项目空间划分:支持创建多个项目空间,每个空间可独立管理文档,适合多团队或多产品线并行管理性化项目设置:支持配置项目名称、描述、评论权限、自动发布、下载权限等,适配不同项目需求多编辑器支持&#…

2026/7/1 1:46:56阅读更多 →
TensorRT 推理加速:从 ONNX 到优化引擎的编译与部署全链路

TensorRT 推理加速:从 ONNX 到优化引擎的编译与部署全链路

TensorRT 推理加速:从 ONNX 到优化引擎的编译与部署全链路 一、GPU 推理的延迟鸿沟:为什么 PyTorch 模型跑不到理论算力 在模型部署阶段,一个常见的困惑是:GPU 的理论算力(如 A100 的 312 TFLOPS FP16)与实…

2026/7/1 1:41:55阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/30 4:03:30阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/30 4:36:27阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →