龙虾的常用机制
要驾驭好 OpenClaw(龙虾),仅仅了解大模型是不够的。你还需要理解 OpenClaw 自身的一套工程化机制,这些机制决定了它是如何思考、如何工作以及如何与你协作的。
本篇将核心机制分为以下五个小节进行讲解:
1. 核心规则文件(各类 Markdown)
OpenClaw 并非靠单次长篇大论的 Prompt 驱动,而是靠“工作区”里的一系列 Markdown 文件来维持它的“三观”和行为准则。这些文件会在不同的时机被加载进大模型的上下文中。
AGENTS.md:最核心的“员工手册”。定义了它的操作说明、行为规则和工作习惯。SOUL.md&IDENTITY.md:定义了它的“人设”和“灵魂”。语气是严谨还是幽默,自称是什么,都在这里设定。USER.md:记录了“你是谁”。你对代码的偏好、你的作息习惯、你喜欢的称呼,它都会写在这里。MEMORY.md&memory/YYYY-MM-DD.md:它的长期记忆和每日流水账。TOOLS.md:记录了它能使用的本机工具说明和环境约定。
一句话总结:管理龙虾,本质上就是管理这些 Markdown 文本文件。
2. 定时任务(Cron)与上下文隔离
与纯聊天机器人不同,OpenClaw 可以像真正的服务器程序一样执行后台定时任务。支持一次性执行(at)、固定间隔(every)和标准的 Linux 定时任务(cron)。
但使用定时任务时,最容易踩坑的就是**“上下文(Session)污染”**。在创建定时任务时,你必须明确选择它的执行环境:
main(主会话):非全局/强关联当前上下文。- 适用场景:比如你在聊天时说“半小时后提醒我给这段代码加个注释”。
- 特点:任务会在你当前的聊天窗口里执行,它能看到你们刚才聊的所有上下文。
isolated(隔离会话):全局/无上下文。- 适用场景:比如“每天早上 7 点去拉取新闻并生成一份早报”。
- 特点:任务会在一个完全干净、独立的沙盒环境中执行。它看不到你平时的聊天记录,也不会把生成的长篇早报塞进你的主聊天记录里,从而完美避免了“主会话记忆污染”。
3. 插件(Plugin)机制
Plugin(插件)是 OpenClaw 连接外部世界的桥梁。
大模型本身是没有网线的,它无法直接读取你的微信消息,也无法直接给你发飞书。Plugin 的作用就是打破这层壁垒。
- 输入端插件:比如微信插件、飞书插件、钉钉插件,负责把人类在各个 App 里的消息转发给 OpenClaw。
- 输出端插件:负责把 OpenClaw 的回复按照对应平台的格式发回去。
- 扩展能力:有些 Plugin 还能提供底层系统级的扩展,比如赋予 OpenClaw 读写系统特定服务的能力。
4. 技能(Skill)机制
如果说 Plugin 是连接外部的桥梁,那么 Skill(技能)就是 OpenClaw 手里的工具箱。
- 按需加载(渐进式披露):这是 Skill 机制的核心。为了不把大模型撑爆,Skill 是靠**触发词(
read_when)**按需加载的。只有当你提到“查天气”,它才会去加载那个调用天气 API 的 Skill 文件。 - 高度定制:Skill 本质上也是包含特定指令和代码脚本的文件。你可以随时指挥龙虾自己去编写或修改一个 Skill,让它学会新的本领。
5. 多智能体协同(Sub-Agents)
这是 OpenClaw 走向工程化和工业级应用的最重要机制。
如前文所述,不要试图打造一个全知全能的超级龙虾。OpenClaw 支持 Sub-Agents(子智能体) 架构:
- 你可以设立一个“主控龙虾(主 Agent)”,专门负责与你聊天、理解意图和分发任务。
- 主控龙虾可以在后台唤醒多个专门的“打工仔(Sub-Agents)”。比如让“前端虾”去写页面,让“测试虾”去跑用例。
- 每个 Sub-Agent 都有自己独立的 Workspace 和专属 Skill,互不干扰,从而彻底解决了大模型容易“分心”和“幻觉”的问题。
