OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Prompt Caching

这页说明书在讲一个叫“提示词缓存”的小帮手。它就像一个记忆力超好的小本本,能记住你每次和机器人聊天时,开头那些重复说的话。这样,下次聊天时,机器人就不用再花时间重新读一遍那些话啦,可以更快地回答你,还能帮你省下一些“小金币”(代币成本)。这页会告诉你,怎么打开和调整这个小帮手,让它更好地为你工作。

五岁小孩版解释

“提示词缓存”是什么呢?你可以把它想成是给机器人一个“记忆面包”。每次你和机器人开始聊天时,开头那些固定的介绍和规则(比如“你是一个乐于助人的助手”),机器人第一次会仔细读一遍,然后把它记在“记忆面包”里。下次再聊天时,如果开头的话没变,机器人就直接吃“记忆面包”,想起上次记下的内容,不用再从头读了。这样能省时间,也省“小金币”。

要让这个“记忆面包”工作,你需要调整几个小开关。最主要的一个开关叫 cacheRetention,意思是“记忆能保存多久”。它有三个选项:none(不记)、short(记一小会儿)、long(记很久)。你可以在一个叫配置文件的地方设置它。

  1. 第一步:设置默认的记忆时间。 这是告诉所有用某个型号机器人的小伙伴,默认用多长的记忆。你要在一个叫 agents.defaults.models 的地方写。

    • 要做什么:找到你用的机器人型号,比如 anthropic/claude-opus-4-6
    • 怎么做:在它下面,写上 params:,然后新起一行写上 cacheRetention: "long"(这里用long举例,你可以换成shortnone)。
  2. 第二步:给特别的机器人单独设置。 如果你有一个叫“警报员”的机器人,它总是说新的事情,不需要记忆旧话,就可以单独关掉它的记忆。

    • 要做什么:在 agents.list 下面,找到那个机器人的设置(比如 id: "alerts")。
    • 怎么做:在它的 params: 下面,写上 cacheRetention: "none"。这样,这个机器人就不会用“记忆面包”了。

要小心哦: 设置的顺序很重要。先看默认设置,再看每个机器人自己的设置。如果机器人自己设置了,就会用自己的,不听默认的。

还有一个有用的帮手叫 contextPruning.mode: "cache-ttl"。你可以把它想成是“记忆面包的保质期检查员”。如果聊天中断了很久,检查员会把过期、变大的旧聊天记录清理掉,这样重新开始聊天时,就不会用旧的大面包去占地方了。你可以设置 ttl: "1h" 来告诉它,一小时前的面包要检查。

为了让“记忆面包”在聊天间隙也保持新鲜,你可以设置“心跳” heartbeat。就像每隔一段时间轻轻叫醒机器人一下,让它别把面包忘了。你可以设置 every: "55m",意思是每55分钟“心跳”一次。

不是所有机器人都能用“记忆面包”哦!这里有一些特别的规则:

  • 名字里带 anthropic 的机器人(比如Claude)通常都支持。
  • 在亚马逊Bedrock家里的机器人,只有名字带 anthropic.claude 的才支持这个设置。其他的机器人,系统会强制把记忆关掉(none)。
  • 如果机器人本身就不支持这个功能,你设置了也没用。

如果你想知道“记忆面包”到底有没有在工作,可以打开“诊断追踪”功能看看。这就像给面包的进出拍照片。

  1. 要做什么:在配置文件里找到 diagnostics.cacheTrace
  2. 怎么做:把 enabled: 改成 true。你还可以决定照片里要拍下哪些东西,比如聊天内容 (includeMessages)、问题 (includePrompt)、系统规则 (includeSystem)。 你也可以用更简单的方法,设置一个叫 OPENCLAW_CACHE_TRACE=1 的环境变量来打开它。

如果发现有问题,比如机器人每次聊天都在“写记忆” (cacheWrite),很少“读记忆” (cacheRead),那可能是开头的话总在变,或者机器人型号不支持你的设置。检查一下你的设置有没有写对地方吧!