系统提示词
像背包最上面那张总说明,告诉模型今天要守什么规矩、能用什么工具、现在是什么时间。
Concepts 导读
Context 包含系统提示词、对话历史、工具调用结果和附件,它受模型上下文窗口(token 限制)约束。想快速查看窗口有多满,用 /status;想看具体塞了哪些文件,用 /context list。最容易混淆的是:Context 是当前会话的瞬时状态,而 memory 可以存盘跨会话复用。
先讲这一页到底在解决什么
Context 包含系统提示词、对话历史、工具调用结果和附件,它受模型上下文窗口(token 限制)约束。想快速查看窗口有多满,用 /status;想看具体塞了哪些文件,用 /context list。最容易混淆的是:Context 是当前会话的瞬时状态,而 memory 可以存盘跨会话复用。
第一站
这个包不是只装一句“你好吗”。它会把很多层东西一起塞进去,模型才知道现在到底发生了什么。
像背包最上面那张总说明,告诉模型今天要守什么规矩、能用什么工具、现在是什么时间。
像一路走来的对话小纸条。你和 OpenClaw 之前说过什么,都会尽量带上。
像把刚拍的照片、刚抄的文件、刚跑完的命令结果也一并装进去。
像把工作台上最重要的几张常用便签也塞进包里,让模型开箱就能看见。
第二站
原文说得很直接:context 受 context window 限制。背包不可能无限大,包太满了就得收拾。
每个模型能看多少内容不一样。OpenClaw 会根据供应商目录里的模型定义去判断这个上限。
系统提示词、对话、工具调用、附件、压缩摘要、修剪痕迹,甚至一些隐藏包装层,都会算进包里。
Context 不是 memory。memory 可以存盘以后再拿出来,context 则是这次跑模型时真的放进背包里的东西。
“这轮模型真正看见了什么”。看见的内容越多,不代表越好,关键是刚好够用。
第三站
原文在讲系统提示词时,重点不是“有个 prompt”,而是这份开场说明是 OpenClaw 自己拼出来的。
工具列表、技能列表、工作区位置、当前时间、宿主环境信息、还有注入的工作区文件,都会一起放进去。
它不是技能全文,而是一张小目录,告诉模型“有哪些技能能去翻”。真正的技能说明,平常不会全塞进去。
/context list:像翻开背包清单,看看这次到底装了什么。/context detail:像把清单再摊大一点,看看每一块东西到底占了多少位置。/status:像先看一眼包还剩多少空位,顺便看会话状态。系统提示词不是模型自己乱想出来的,它是 OpenClaw 每轮重新搭好的“开场小包裹”。
第四站
OpenClaw 会自动把一些常见文件塞进上下文,只要这些文件真的存在。
AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、BOOTSTRAP.md 都是这一类。
单个文件太大时会被截断,整体注入还有总上限。这样桌子不会被一份超长文件直接压扁。
如果文件太长,运行时可以在提示词里插入警告,告诉模型“这份便签只拿进来了一部分”。
这些文件是固定层级的,OpenClaw 不是把整个目录都搬进去,而是按规则挑常用的那几张。
第五站
这页后半段的重点是:你能查上下文,但它不会把所有内容原样吐给你,它只给你大小和结构摘要。
比如系统提示词大概多长、哪些工作区文件被截断、技能列表多大、工具 schema 多大、会话 token 还剩多少。
不会把完整系统提示词和所有工具 schema 原封不动吐出来。它更像报表,不像全文复印机。
/context list:像一眼看包里的分区和大致重量。/context detail:像把每一层都掀开看更细的账。/usage tokens:像给每次回复加一个“今天用了多少”的小尾巴。查 context 是为了看负担和结构,不是为了让你把全部上下文直接读一遍。
第六站
原文专门把这两个词分开,是因为很多人会把“压缩历史”和“临时丢掉工具结果”混成一件事。
会把旧历史压成摘要,而且摘要会真的写进会话记录里。它是“留一张短版纸条”。
只是在这一次运行里把一些旧工具结果从当前包里拿掉,减轻负担,不是重写历史。
Compaction 影响会话本身。Pruning 更像这一轮临时瘦身,下一轮不一定还这样。
一个是“把旧故事压成新摘要”,一个是“这次先别把某些旧道具搬上桌”。
第七站
自动压缩是系统自己判断要不要收。手动压缩则是你直接给它下口令。
像拍一下桌子说“现在收一下”。如果你还补一句说明,它就会更知道该保留什么。
比如 /compact Focus on decisions and open questions,意思是让它整理时盯紧决定和待办,不要平均用力把所有字都抄一遍。
agents.defaults.compaction:像在全局给整理桌面这件事定规则。agents.defaults.compaction.model:像指定哪位模型老师来做摘要整理。identifierPolicy:像提醒整理员别把名字、编号、路径随手改掉。Context 是背包里的全部东西,compaction 是帮你把旧东西折小,/compact 则是你自己喊它折。
最后总结
Context 就是 OpenClaw 这次真正带给模型看的那一整包东西,而 /context 是让你看看这个包有没有装太满、装得对不对。
如果你下一页只想继续看一页,我建议接着看 /concepts/memory。因为 memory 是“把东西放进仓库以后还能再拿出来”,正好和 context 这一页接上。