OpenClaw(UpClaw)全系列MD配置:加载流程、全局优先级、全生命周期作用
前置基础:OpenClaw 基于 AgentScope 封装企业生产层,全部 MD 提示词文件遵循配置分离设计,分为全局强制规则类、身份人格基线类、工具/技能类、记忆类、租户/用户私有类、定时调度类六大类;所有文件在会话初始化一次性扫描解析,按固定顺序拼接 System Prompt,优先级高的文件放在 Prompt 最头部,模型优先遵守前置约束,同时在 Agent 全生命周期各钩子节点动态校验、动态注入。
一、完整MD文件清单 + 全局优先级(从最高刚性约束到最低业务柔性提示)
优先级越高,越先写入系统提示词,拥有阻断、拦截、覆盖能力;低优先级仅做业务引导,不能突破高优先级规则。
1)最高优先级:刚性拦截规则(不可绕过,运行时实时校验)
- rules.md(全局硬规则,企业安全/合规/预算宪法)
- 子代理目录
rules.md(实例私有规则,覆盖全局同维度约束)
2)第二优先级:身份基线(Agent基础身份,全会话常驻)
- IDENTITY.md(代理名片、名称、标识、多代理区分)
- SOUL.md(人格、价值观、基础行为底线、输出语气范式)
3)第三优先级:调度与通信协议(多代理/任务流程规范)
- AGENTS.md(子代理委派、SFA2A通信协议、会话流程、路由逻辑)
- BOOTSTRAP.md(仅首次启动一次性执行,执行后自动销毁)
4)第四优先级:工具&技能契约(Toolkit执行标准)
- TOOLS.md(全局工具调用规范、参数格式、工具返回解析规则)
skills/*/SKILL.md(分技能专属执行流程,目录覆盖优先级:工作区>本地>内置)
5)第五优先级:长期记忆管控(LongTermMemory读写规范)
- MEMORY.md(记忆召回策略、写入脱敏、记忆分层规则)
memory/日期.md(历史会话原始记忆,按需向量检索注入,不全会话全量加载)
6)第六优先级:租户/用户柔性上下文(仅微调输出,不突破上层约束)
- USER.md(租户画像、行业背景、用户偏好、交互习惯)
7)最低优先级:定时调度后置钩子
- HEARTBEAT.md(周期巡检、会话收尾、定时归档逻辑,不参与首轮Prompt拼装,仅生命周期收尾/定时触发)
优先级核心逻辑
高优先级文件可拦截、阻断、熔断低优先级逻辑;低优先级仅补充业务细节,无法修改 rules.md、IDENTITY 等刚性约束。
示例:SOUL.md 定义温和沟通语气,但 rules.md 命中敏感输入时,会直接拦截输出,无视 SOUL 的语气要求。
二、统一加载完整流程(onSessionCreate 会话初始化一次性加载链路)
框架启动 resolveBootstrapContextForRun() 解析所有MD,分为5步:
Step1:目录扫描 & 分层读取(启动阶段)
- 先读取全局 workspace 根目录文件:rules.md、IDENTITY.md、SOUL.md、AGENTS.md、TOOLS.md、MEMORY.md、USER.md、HEARTBEAT.md
- 读取当前 Agent 实例私有目录同名MD(同名文件覆盖全局配置)
- 遍历 skills 目录,加载全部 SKILL.md,按目录优先级合并(工作区技能 > 本地安装技能 > 框架内置技能)
- 扫描 memory 历史记忆文件,构建向量索引,不一次性加载全文,仅记录检索规则
- 判断是否存在 BOOTSTRAP.md,仅全新空会话执行一次
Step2:规则预编译(rules.md 特殊处理)
rules.md 不直接塞入Prompt,同步编译为运行时规则引擎:
- 风控正则、工具黑白名单、Token预算计数器、并发上限、合规脱敏规则
- 规则引擎绑定当前会话实例,全生命周期实时拦截校验
Step3:按优先级顺序拼接 System Prompt 基线
固定写入顺序(头部=最高权重):
[rules.md 约束摘要]
→ IDENTITY.md
→ SOUL.md
→ AGENTS.md
→ TOOLS.md
→ MEMORY.md
→ USER.md
→ SKILL.md 所有技能文档
→ 运行时动态追加:当前时间、模型信息、会话资源水位
Step4:BOOTSTRAP 一次性执行(仅新会话)
若存在 BOOTSTRAP.md,执行内部初始化任务(知识库预加载、初始记忆写入),执行完成自动删除文件,后续会话不再加载。
Step5:缓存会话上下文快照
将拼接完成的基础 System Prompt、编译后的规则引擎、技能元数据、记忆索引绑定到当前会话实例,会话生命周期内不再重复读取磁盘MD文件(支持热重载开关);修改MD文件后,下一次新建会话生效。
三、各MD文件在Agent完整生命周期8大阶段的作用
标准生命周期钩子:onSessionCreate(会话创建) → onInput(消息入站) → onReasoningStart(推理启动) → LLM推理轮次 → onToolRun(工具执行) → onMemoryRW(记忆读写) → onOutput(结果输出) → onSessionClose(会话销毁)
1. rules.md(最高优先级硬规则)
全生命周期全程参与,每个钩子均有独立拦截逻辑,唯一具备会话熔断能力
- onSessionCreate:加载编译规则引擎,初始化Token、工具调用、并发计数器
- onInput:输入前置风控,敏感/越权需求直接拦截,不进入LLM推理
- onReasoningStart:校验推理预算、会话时长、模型负载,触发降级/终止
- LLM推理后校验模型输出指令:禁止调用黑名单工具、限制单轮工具次数
- onToolRun:高危操作二次确认、并发锁校验、技能权限隔离
- onMemoryRW:记忆写入脱敏校验、跨用户记忆隔离、敏感内容禁止入库
- onOutput:输出合规审计、隐私字段屏蔽、违规内容回滚
- onSessionClose:归档所有规则命中/拦截日志,重置会话计数器
2. IDENTITY.md(代理身份名片)
生效阶段:onSessionCreate 一次性加载,全会话常驻Prompt
- onSessionCreate:注入系统Prompt顶部,定义代理唯一标识,多子代理场景区分身份
- onReasoningStart:每轮推理携带,强制模型保持统一身份口吻,避免角色漂移
- onSubAgentDispatch(AGENTS.md触发委派时):子代理识别父代理身份,规范跨代理消息格式
其余阶段无动态拦截能力,仅做身份基线约束。
3. SOUL.md(人格、价值观、基础行为边界)
生效阶段:会话初始化载入,每轮推理自动注入
- onSessionCreate:构建代理行为基线,定义输出风格、专业边界、诚实性约束(禁止编造数据)
- 全推理轮次:持续约束模型表达逻辑、思考范式;仅在未触发 rules.md 违规时生效
- onOutput:规范返回文本结构、语气、行文风格
局限:无法覆盖 rules.md 安全阻断规则,高风险场景直接失效。
4. AGENTS.md(多代理调度、SFA2A协议、会话流程)
核心绑定钩子:onSessionCreate、onSubAgentDispatch、onSessionClose
- onSessionCreate:加载子代理委派规则、消息交互协议、任务路由逻辑,绑定多代理调度器
- onInput:复杂任务语义路由,匹配规则判断是否需要拆分委派子代理
- onSubAgentDispatch:管控子代理创建上限、通信报文格式、权限传递、SFA2A协议编解码
- onSessionClose:定义多代理会话合并归档、跨代理记忆同步规则
5. BOOTSTRAP.md(一次性初始化脚本)
仅参与 首次onSessionCreate,执行后销毁文件,后续生命周期完全不生效
作用:全新空白会话执行初始化动作:预加载基础知识库、初始化空白长期记忆、配置初始会话参数,一次性执行不再复用。
6. TOOLS.md(全局Toolkit工具契约)
绑定钩子:onSessionCreate、onToolRun
- onSessionCreate:写入系统Prompt,告知模型全部可用工具、入参格式、返回解析方式
- onReasoningStart:引导模型自主判断何时调用工具、如何组装工具参数
- onToolRun:执行前校验工具调用格式,标准化工具返回结果解析逻辑,对接Toolkit抽象层
7. SKILL.md(技能专属流程,多文件)
绑定钩子:onToolRun、子代理内部推理循环
- onSessionCreate:全部技能文档载入Prompt,告知模型各技能适用场景
- onToolRun:触发对应技能时,作为专属执行手册约束工具内部分步逻辑
- 子代理会话:子代理私有SKILL.md覆盖全局技能流程,实现业务定制化能力
8. MEMORY.md(LongTermMemory管控规则)
绑定钩子:onSessionCreate、onMemoryRead、onMemoryWrite
- onSessionCreate:写入Prompt,定义记忆使用规范:何时召回历史记忆、记忆摘要规则
- onMemoryRead:检索长期记忆前,约束召回条数、相关性阈值、记忆过滤规则
- onMemoryWrite:写入向量库前,执行摘要压缩、自动分类、过期标记规则,对接LongTermMemory底层抽象
9. memory/日期.md(原始历史记忆分片)
非全会话常驻,按需动态注入
- onReasoningStart:根据当前用户输入语义,向量检索匹配相关日期记忆片段,临时追加至本轮上下文
- onMemoryWrite:本轮对话结束后,自动追加当日memory分片文件
不会全部加载所有历史文件,防止上下文超限、Token浪费。
10. USER.md(租户/用户私有画像)
会话初始化载入,每轮推理注入,优先级极低
- onSessionCreate:注入行业背景、用户习惯、业务专属术语
- 全推理轮次:微调输出内容贴合用户场景;一旦触发rules.md风控规则,该文件约束直接失效
无任何拦截、阻断能力,仅做业务个性化补充。
11. HEARTBEAT.md(定时/收尾调度)
不参与初始化Prompt拼装,仅后置周期钩子生效
- 会话运行中定时轮询(默认30min):执行记忆压缩、会话资源巡检、临时缓存清理
- onSessionClose:会话销毁收尾,定义记忆持久化、快照归档、日志导出完整流程
四、核心设计价值(对应UpClaw企业生产改造目标)
- 分层解耦:安全规则、身份人格、工具流程、记忆逻辑拆分独立MD,业务迭代不用修改底层代码,实现配置分离;
- 优先级隔离风险:rules.md作为独立规则引擎前置拦截,高危场景不消耗大模型算力,满足企业合规、成本管控;
- 生命周期绑定精准管控:不同MD绑定专属生命周期钩子,按需加载、按需校验,避免全量上下文冗余;
- 多代理工程化:AGENTS.md、SKILL.md统一管控子代理委派与技能执行,配套SFA2A协议、并发安全改造;
- 可观测可审计:rules.md、HEARTBEAT.md全链路埋点,所有拦截、工具执行、记忆读写行为完整归档,满足企业上线审计要求。
更多推荐



所有评论(0)