新闻详情

新闻详情

首页 / 资讯中心 / 详情

OpenClaw学习总结_I_核心架构_6:Compaction详解与TaoToken配置实践

发布时间:2026/11/13 17:46:39来源:尧图网络
OpenClaw学习总结_I_核心架构_6:Compaction详解与TaoToken配置实践
1. 对话太长就崩先搞懂 OpenClaw 的 Compaction 到底在压什么如果你正在用 OpenClaw 搭 Agent大概率遇到过这个报错Context length exceeded。明明上一轮还能正常跑多聊几句、多调几次工具整个会话就直接卡死。这不是模型变笨了而是上下文窗口被塞满了。OpenClaw 的 Compaction压缩机制就是专门解决这个问题的核心架构模块。它做的事情可以类比成「整理房间」把冗长的对话历史、工具调用结果、中间推理过程压缩成一份精简但保留关键信息的摘要让 Agent 在有限的 Context Window 里继续工作。这一篇聚焦三件事Compaction 在什么条件下触发、执行流程长什么样、以及怎么用 TaoToken 统一 Key 把模型通道配好让压缩动作真正跑起来。适合已经跑过 OpenClaw 基础会话、想深入核心架构的开发者。前置知识是 Session 管理和 Memory 系统如果你还没看建议先补一下因为 Compaction 和它们是三位一体的关系。我试过在一个长会话里连续调用十几次工具Context 从 3 万 tokens 一路涨到 17 万响应明显变慢费用也在涨。配好 Compaction 之后同样的会话被压到 4 万 tokens 左右响应速度和成本都回来了。下面把配置和验证过程完整拆开。2. 前置准备用 TaoToken 统一 Key 打通模型通道Compaction 本身是 OpenClaw 的内部机制但它执行「摘要生成」这一步时需要调用一个真实的模型。也就是说你得先有一个可用的模型 API 通道Compaction 才能工作。TaoToken 在这里的角色是统一 Key 和 API 通道。你不需要为每个模型单独维护一套 Key而是通过一个统一入口来管理。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。具体操作路径先去控制台创建一个 API Key地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。创建好之后Key 的管理页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 你可以在这里查看、复制、轮换 Key。如果你对模型对话本身还不熟可以先在模型对话页面试一下通道是否通 https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有完整的参数说明。这一步的核心目的拿到一个可用的 Key 和 API 端点后面写进 OpenClaw 的配置文件里Compaction 触发时才能调用模型生成摘要。3. 可复制配置settings.json 与 config.toml 双文件骨架OpenClaw 的配置分两层settings.json管 Agent 行为config.toml管模型通道。两个文件都要改缺一个 Compaction 都跑不起来。3.1 settings.jsonCompaction 参数配置{ agents: { defaults: { compaction: { mode: safeguard, threshold: 80%, reserveTokens: 10000, strategy: { type: hybrid, preserveIntent: true, preserveKeyInfo: true } } } } }逐项说明mode有三个值。auto是完全自动压缩适合需要频繁压缩的高频会话safeguard是只在接近溢出时才压比较保守推荐大多数场景用manual是纯手动触发适合你想精确控制压缩时机的调试场景。threshold是触发阈值80%表示 Context 使用量超过 80% 时开始压缩。这个值不要设太高否则压缩还没完成就已经溢出了也不要设太低否则压缩太频繁反而拖慢响应。reserveTokens是压缩后保留的空间10000表示留 10K tokens 的余量给后续对话。这个值根据你的会话长度调整短会话可以设小一点。strategy.type是压缩策略hybrid是混合模式会同时用摘要和剪枝summarize只生成摘要prune只删除不重要内容。preserveIntent和preserveKeyInfo控制是否保留用户意图和关键信息建议都开。3.2 config.tomlTaoToken 通道配置[model] provider openai-compatible base_url https://taotoken.net/api api_key 你的TaoToken Key model_name 你的模型名 [model.compaction] enabled true summary_model 你的模型名 max_summary_tokens 2000这里的关键是base_url指向 TaoToken 的 API 端点api_key填你在控制台创建的那个 Key。summary_model是 Compaction 生成摘要时用的模型可以和主模型一致也可以单独指定一个更便宜的模型来降成本。max_summary_tokens控制摘要的最大长度2000表示摘要不超过 2000 tokens。这个值太小会丢信息太大会失去压缩意义2000 到 4000 之间比较合适。注意两个文件里的模型名要对应上否则 Compaction 调用时会报模型不存在的错误。4. 验证请求确认 Compaction 真的生效了配置写完不代表生效得实际跑一次验证。分三步走。4.1 手动触发一次压缩openclaw sessions compact sessionId把sessionId换成你当前会话的 ID。执行后如果返回压缩成功说明配置被正确加载了。如果报错先检查config.toml里的base_url和api_key是否写对。4.2 查看压缩日志openclaw logs | grep compaction这条命令会过滤出所有和 Compaction 相关的日志。正常输出里应该能看到类似这样的记录[compaction] sessionabc123 before180000 after40000 strategyhybrid [compaction] summary generated tokens1850 modelxxxbefore和after分别是压缩前后的 token 数strategy是实际使用的策略summary generated表示摘要生成成功。如果只看到before没有after说明压缩执行到一半失败了大概率是模型通道的问题。4.3 用模型对话验证通道如果你不确定 TaoToken 通道本身是否正常可以先去模型对话页面发一条测试消息 https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 。能正常返回说明 Key 和端点没问题问题就出在 OpenClaw 的配置上。4.4 观察压缩后的会话质量压缩生效后继续和 Agent 对话观察它是否还记得之前的关键信息。比如你之前说过「我要蓝色的休闲风格衣服」压缩后问它「我刚才说要什么来着」如果它能答出来说明preserveIntent和preserveKeyInfo起作用了。5. 本篇常见错排查Compaction 不生效的六种情况5.1 报错Context length exceeded但没触发压缩原因通常是threshold设得太高比如设成了95%压缩还没跑完就已经溢出了。把阈值调到80%或更低给压缩留出执行时间。5.2 压缩日志里只有 before 没有 after说明摘要生成失败了。检查config.toml里的summary_model是否是一个真实可用的模型名以及api_key是否有效。可以去 API Keys 页面确认 Key 状态 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。5.3 Agent 压缩后「失忆」这是压缩过度导致的。检查reserveTokens是不是设得太小或者max_summary_tokens太小导致摘要丢信息。把preserveIntent和preserveKeyInfo都设为true并适当调大max_summary_tokens。5.4 压缩太频繁响应变慢threshold设得太低或者mode设成了auto。改成safeguard模式把阈值调到80%左右。5.5 配置文件改了但没生效OpenClaw 不会热加载配置改完settings.json和config.toml后需要重启会话或重新加载。另外确认你改的是正确的配置文件路径有些环境会有多个配置目录。5.6 手动压缩命令报 session 不存在sessionId写错了或者会话已经结束。用openclaw sessions list查看当前活跃的会话 ID。提示排障时优先看日志openclaw logs | grep compaction能覆盖大部分问题。如果日志里连 compaction 关键字都没有说明配置根本没被加载。6. 把 Compaction 接进你的日常开发流Compaction 不是配完就完事的它需要和 Session、Memory 配合使用。Session 管本次对话的存储Memory 管长期记忆Compaction 管上下文整理。三者配合好Agent 才能在长会话里保持稳定。如果你打算长期跑编码类 Agent建议把 Compaction 和 Coding Plan 结合起来用 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。Coding Plan 适合需要持续调用模型的场景Compaction 帮你控制上下文成本两者叠加能把长会话的费用压下来。接入相关的完整参数和示例可以对照接入文档再核一遍 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。文档里有不同语言的调用示例方便你直接复制到自己的项目里。最后给一个实用建议每次调整 Compaction 参数后用openclaw logs | grep compaction对比一下压缩前后的 token 数。我自己的经验是threshold从80%调到75%压缩频率会明显上升但单次压缩的摘要质量更稳定因为留给摘要生成的空间更充裕。这个平衡点需要根据你的会话长度和模型能力自己试出来。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/14 3:51:47

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/13 13:31:48

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/13 16:11:45

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/14 3:51:43

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉