目录1、openclaw必须的底层配置文件2、心跳HEARTBEAT机制3、openclaw与LLM配合操作电脑完成任务的过程4、openclaw调用工具也生成工具、sub-agent和skills等外援5、openclaw的记忆6、openclaw应对危害信息指令如rm -rf的防御策略7、openclaw防止上下文过长的方式1context compression2context过滤后嵌入prompt3其他soft trim、hard clear3context压缩后效果变差的解决方式4何时压缩8、clawHub1、openclaw必须的底层配置文件~/.openclaw/openclaw.json系统的“大脑”定义模型、渠道、端口、安全策略等所有全局核心设置。~/.openclaw/workspace/ 目录下的七个文件用户可以更改但是不建议容易导致多个文件之间内容出现矛盾agent也能自己修改SOUL.mdagent人格设定定义AI的性格、核心价值观和沟通风格AGENTS.md工作指南规定AI处理任务的流程和规则USER.md用户说明书让AI了解你——你的偏好、习惯、雷区MEMORY.md长期记忆AI手动可编辑的长期记忆库记录重要事实、项目进展、你的喜好实现跨会话session的“记住”IDENTITY.md对外形象区别于SOUL.md的内在定义AI的“外在”样子——显示名称、主题色、问候语等HEARTBEAT.md自主意识AI拥有“主动性”定义定时任务和主动触发条件BOOTSTRAP.md用于全新工作空间的一次性初始化向导。2、心跳HEARTBEAT机制一些日常要定时等处理的任务可以放在HEARTBEAT.md中其中记录的任务不一定是很明确的比如可以指定任务“向目标前进”在SOUL.md中定义过它的目标是“成为世界顶级学者”那么它就会可能自己每隔一段时间去阅读某个paper或者研究了某个模型写了篇笔记等等。搭配心跳机制使用的系统——Cron job系统一般工作逻辑一种妙用让AI学会等待AI并不是真的会等待对于“龙虾”来说每一次对话都是一个重启它只是在指定时间之后执行LLM给的指令再好的模型也可能不会每次都能成功当前最彻底的解决方式是在memory.md中规定好只要有“xxx生成中”这类表达都需要在x分钟之后检查网页。没有cron job的一般情况加了cron job的情况:3、openclaw与LLM配合操作电脑完成任务的过程1、“龙虾”接收到任务并将任务prompt发送给LLM大模型识别到可以使用Read工具返回Read工具调用指令大模型返回的是对Read工具调用的指令有的LLM可能能力比较差会光说不练仅返回“我无法打开xxx文件……”。2、“龙虾”使用Read工具读取到文件中的问题并将问题传给LLMLLM返回答案和调用Write工具的指令3、“龙虾”使用Write工具将答案写入文件中并返回Done完成标识给LLMLLM将“主任任务完成 [DONE]”内容返回。4、openclaw调用工具也生成工具、sub-agent和skills等外援可以调用工具也可以自己生成工具并使用调用sub-agentsessions-spawn其中context engine指的是通过一定的策略如“大龙虾”使用sub-agent分开处理长context另外加载skills时初始仅加载他们的name、description等基本信息也是一种context engine策略从而使得自己的context window在可控范围内本质上对于“大龙虾”来说就是进行了context compression。大龙虾”调用sub-agent这些“小龙虾”进行复杂任务处理比如比较A、B两篇paper:- 调用skill初始状态时加载所有的skill的name和description按需确定真正使用某个skill时加载其所有的信息。5、openclaw的记忆对话页面“new session”按钮一键清空当前记忆但是不会完全清空对于部分重要记忆会按照agent.md文档中的记录记忆的规则进行记录AGENT.md中对长期记忆的记录规则:使用memory_search和memory_get工具跨session获取记忆:当前对话与历史记忆的RAG:6、openclaw应对危害信息指令如rm -rf的防御策略使用内置规则执行指令时弹窗咨询用户意愿。7、openclaw防止上下文过长的方式1context compression对历史context进行摘要可多次摘要然后仅记录摘要后的内容主agent调用sub-agent处理任务也是一种context压缩策略。2context过滤后嵌入prompt读memory的时候使用的memory_search和memory_get工具其中就使用了一定的过滤机制按需加载真正要使用的skill也是一种过滤策略。3其他soft trim、hard clear将工具的调用记录给抹掉删除或者直接使用[这里曾经有个tool output]进行替换也可以使用[详见log1.txt]这么一个说明和附件替换[这里曾经有个tool output]好处是后续如果确实需要查看这个tool output时能调用Read工具直接获取3context压缩后效果变差的解决方式使用另一个LLM将压缩后效果变差的例子给该LLM并让它进行总结反省得到feedback信息下次回答问题时将这些feedback信息一起放在prompt中给到LLM4何时压缩openclaw使用最简单粗暴的方式设置一定的长度阈值超过这个阈值则开始进行压缩通过指令强制模型自己进行压缩一般不可行因为模型本身是不喜欢对context进行压缩的模型可能不一定会去执行压缩如果想让模型进行自主压缩需要对模型进行额外的压缩场景训练8、clawHub可以把它理解为 OpenClaw AI 的“插件应用商店”可以找到、安装、分享skills官网ClawHub【国内腾讯skill社区https://skillhub.tencent.com/】