OpenClaw原理总结
以开源AI Agent项目OpenClaw为核心,拆解AI Agent底层运作原理的课程文字稿。课程以“解剖小龙虾”为类比,打破了大众对AI Agent的认知误区,从核心定位、运作机制、安全风险到使用建议做了完整、通俗且兼具实操性的讲解,核心内容归纳如下:
一、核心认知:OpenClaw到底是什么
- 本质定位:OpenClaw不是大语言模型(LLM),而是跑在用户本地电脑上、人与LLM之间的接口/中间层,是AI Agent中“非AI”的部分。它本身没有智能,其能力上限完全取决于背后对接的LLM(支持Claude、GPT、Gemini等云端模型,也可接入本地模型)。
- 与普通LLM平台的核心差异:普通LLM仅能“动口给建议”,无法实际执行操作;而OpenClaw可通过工具调用,自主完成完整的任务闭环。例如课程中的AI助手“小金”,可自主完成创建YouTube频道、搜集资料、制作影片、审核后上传的全流程,人类仅需完成审核环节。
- 发展背景:AI Agent并非全新概念,2023年AutoGPT曾掀起热潮,但因当时LLM能力不足热度消退;随着LLM能力迭代,2025年AI Agent已初具雏形。OpenClaw与Claude Code能力相近,核心差异是OpenClaw支持WhatsApp、Discord等多通讯软件接入,有更强的“个人助理”使用体感。
二、OpenClaw核心运作机制
1. 基础运作闭环
用户通过通讯软件/网页下发指令 → OpenClaw对指令加工(拼接系统提示+历史对话)后传给后端LLM → LLM返回对话结果或工具调用指令 → OpenClaw严格执行指令、完成本地操作,再把结果回传给LLM → OpenClaw将LLM的最终回复加工后返回给用户。
2. 身份与记忆的核心实现
- 系统提示(System Prompt):是AI Agent的灵魂,定义了Agent的身份、核心目标、可用工具、行为规则,每次调用LLM时都会附带,决定了Agent的行为模式。
- 记忆的本质:LLM本身没有记忆,Agent的“记忆能力”,是每次调用LLM时,都会把系统提示+完整对话历史+当前指令一起传给LLM,类比电影《我的失忆女友》的日记,LLM每次对话都要重读所有历史,才能实现“连贯记忆”的体感。
- 记忆系统的落地:完全基于本地.md纯文本文件实现,核心文件包括:
soul.md:Agent的核心身份与人生目标memory.md:长期记忆,核心规则需写入此文件才不会丢失habit.md:习惯与定期任务规则system.txt:系统提示与工具使用说明
- 长记忆优化:当记忆文件过长时,采用RAG(检索增强生成)机制,将记忆切块后,通过字面相似度+语义相似度匹配,仅把与当前任务最相关的记忆片段传入提示词,节省上下文窗口。
- 关键提醒:只有写入.md文件的记忆才是真实记忆,弱模型可能仅口头承诺“已记住”,但未写入文件,下次对话就会遗忘。
3. 工具调用:Agent“动手做事”的核心
- 运作原理:所有工具的使用说明都写在System Prompt中,LLM根据用户指令,返回带特殊标记的工具调用指令;OpenClaw作为本地程序,仅负责严格执行该指令,再把执行结果回传给LLM,完成操作闭环。
- 核心强力工具:
execute,可执行任意shell命令,这是OpenClaw能深度操控电脑的核心,但也带来了极高的安全风险(比如可执行rm -rf删除电脑所有文件)。
4. 主动行为的实现:心跳机制+Cron Job
LLM本身只能被动回应,OpenClaw通过两套机制实现Agent的主动行为:
- 心跳机制(Heartbeat):定时(默认可自定义,比如每15分钟)自动触发,把当前状态传给LLM,询问“是否有需要执行的任务”,让Agent可以主动推进目标、定时提醒。
- Cron Job定时任务:可设定固定时间执行特定任务,更重要的是实现了Agent的“等待能力”——比如遇到网页“生成中”的状态,可设定3分钟后再检查进度,完成需要跨等待环节的复杂操作。
5. 子智能体(Subagent/Spawn)机制
- 核心作用:解决复杂任务中对话历史累积、上下文窗口溢出的问题。
- 运作原理:主Agent(大龙虾)可“繁殖”多个子Agent(小龙虾),每个子Agent独立处理一个子任务,拥有独立的上下文窗口;子任务完成后,仅把最终结果返回给主Agent,主Agent无需读取子任务的完整交互过程,大幅节省上下文占用。
- 约束规则:子Agent被程序禁止再繁殖新的子Agent,避免出现层层外包、无人执行的问题。
6. Skill系统
- 定义:Skill是完成特定工作的SOP(标准作业流程),是纯文本文件,而非程序,里面包含任务的完整步骤、工具调用规范、模板等内容,比如课程中“小金”的影片制作Skill。
- 运作逻辑:OpenClaw会自动扫描指定文件夹的Skill文件,在System Prompt中仅标注可用Skill的路径与说明,LLM按需读取Skill全文,避免直接把长Skill塞入提示词浪费上下文窗口。
- 特点:Skill可由Agent自主生成,也可与他人交换,有专门的ClawHub平台用于共享Skill,但存在恶意Skill的安全风险。
7. 上下文管理:避免窗口溢出
当对话历史接近LLM的上下文窗口上限时,OpenClaw会启动优化机制:
- 上下文压缩(Context Compaction):把旧的对话历史传给LLM生成摘要,用摘要替换原对话历史,可递归压缩,持续控制上下文长度。
- 裁剪机制:Soft Trim(软裁剪),截掉长工具输出的中间部分,仅保留开头和结尾的关键信息;Hard Clear(硬清除),直接把工具输出替换为“曾有一段工具输出”,暴力缩短上下文。
三、核心安全风险与防御方案
1. 主要安全风险
- 提示注入(Prompt Injection):第三方可通过网页隐藏文字、平台评论等方式注入恶意指令,诱导Agent执行危险操作,比如删除本地文件、窃取数据。
- 恶意Skill:共享平台的Skill中,可能包含恶意指令,诱导Agent下载带密码的加密压缩包(规避杀毒软件扫描),解压后执行木马程序,植入用户电脑。
- 指令丢失风险:用户在对话中下达的关键规则(比如“删除邮件前需主人批准”),可能在上下文压缩过程中被丢失,导致Agent违规操作,典型案例是课程中提到的“AI删邮件事件”。
- 无限制工具调用风险:
execute工具可执行任意shell命令,一旦失控,会导致用户电脑文件被删除、系统被完全破坏。
2. 可靠防御方案
- 程序级防御(最可靠):在OpenClaw配置中开启“工具执行前需人类批准”,该规则是程序级限制,无法被任何Prompt绕过。
- 环境隔离:不要把OpenClaw装在日常使用的电脑上,建议使用格式化后的专属电脑运行;给Agent独立的账号,不要提供日常使用的账号密码。
- 规则固化:所有核心安全规则,必须写入
memory.md文件,确保其被包含在System Prompt中,不会在上下文压缩中丢失。 - 风险规避:谨慎下载第三方Skill,避免来源不明的文件;不要让Agent无监控地长期自主运行,定期检查其执行过程。
四、核心观点与使用建议
- 对AI Agent的认知:AI Agent就像学生或实习生,拥有强大的能力,但也会犯错。不能因噎废食,而是要给它安全的执行环境,让它有试错和成长的空间,毕竟“什么都不做,就永远不会犯错”。
- 实操核心建议:
- 关键指令与规则一定要写入
memory.md,不要仅在对话中提及; - 定期检查本地记忆文件,确认关键记忆被正确写入,避免“假记忆”;
- 优先使用程序级的安全限制,不要依赖LLM的指令遵守能力;
- 给Agent独立的运行环境与账号,与个人日常使用的设备、账号做隔离。
- 关键指令与规则一定要写入

浙公网安备 33010602011771号