












OpenClaw 的 系统提示词是每次代理运行时,由 OpenClaw 自己动态组装并注入给模型的。它完全由 OpenClaw 掌控,目的是让模型每次都知道当前环境、规则和上下文,同时尽量保持简洁高效。
系统提示词被分成几个清晰的固定部分,按顺序拼在一起。主要包括:
read 工具去加载对应的 SKILL.md 文件。config.apply 和 update.run 来更新自己的配置。agents.defaults.workspace)。openclaw status 而不是问用户。session_status 工具获取。/reasoning 命令切换的提示。这些部分共同组成一个紧凑的系统提示,确保模型知道自己在什么环境下、能做什么、该怎么做。
OpenClaw 有三种模式,默认是 full(完整模式),包含上面几乎所有内容。
AGENTS.md 和 TOOLS.md,其他文件都过滤掉,目的是节省 token。模式由运行时内部决定,一般用默认的 full 就行。
每次运行都会把 workspace 里的几个关键文件自动“塞”进提示词的 Project Context 部分,让模型不用每次都去读文件就能知道你的偏好和规则。这些文件是:
AGENTS.md(操作指令和记忆)SOUL.md(人格、边界、语气)TOOLS.md(工具使用笔记和约定)IDENTITY.md(代理名字、风格、emoji)USER.md(你的资料和称呼偏好)HEARTBEAT.mdBOOTSTRAP.md(只在新 workspace 第一次运行时)MEMORY.md(如果存在,否则 fallback 到 memory.md)这些文件每次都会注入,所以会占用 token。
如果你有 memory/*.md 这种每天的记忆文件,它们不会自动注入,必须用 memory_search 或 memory_get 工具按需读取,避免浪费上下文。
文件太大时会有限制:
agents.defaults.bootstrapMaxChars(默认 20,000 字符)agents.defaults.bootstrapTotalMaxChars(默认 150,000 字符)once),也可以设成 always 或 off。想修改注入过程,可以用内部钩子 agent:bootstrap(比如换掉 SOUL.md 换成别的角色)。
检查注入情况:可以用命令 /context list 或 /context detail,能看到原始内容 vs 注入后的大小、是否截断、工具 schema 占了多少 token 等。
如果有可用的技能,提示词里会加一个简短的可用技能列表(包含名字、描述、文件位置)。模型不会自动加载技能内容,而是告诉你用 read 工具去读对应位置的 SKILL.md。这样基础提示词就能保持很小,只有真正需要时才加载。
agents.defaults.userTimezone 设置)。AGENTS.md、SOUL.md、MEMORY.md 等文件一定要写得简洁。写得太长很容易把上下文塞满,导致频繁压缩或模型表现变差。/context 命令检查当前上下文占用情况。memory/ 文件夹,用搜索工具读取,而不是全塞进 MEMORY.md。总体来说,OpenClaw 的系统提示词设计得很工程化:结构清晰、模块化、可控,同时尽量节省 token。它把环境信息、你的个性化设置、可用工具和技能都打包好交给模型,让代理每次启动时状态都很一致。
如果你刚开始用,重点先把 workspace 里的 AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md 和 USER.md 写清楚,这些内容会直接影响模型的行为和语气。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。