← 返回 AI大模型从0到1——理论与实操

C3-05 理解 Agent:以小龙虾为例


OpenClaw: https://openclaw.ai/

OpenClaw 技术架构

常见的误解

你以为的 实际上的
OpenClaw 是一只聪明的 AI OpenClaw 是 AI 的"身体",不是"大脑"
OpenClaw 自己会思考 OpenClaw 只是大脑(LLM)和现实世界之间的"翻译官 + 执行官"
OpenClaw 越新越聪明 它的聪明程度 完全取决于 你接的是哪个大语言模型(LLM)

三层架构

关键认知:

  • 🦞 OpenClaw 是代理人(Agent):它跑在你的电脑上,负责记忆、任务管理、操控电脑
  • 🧠 大语言模型是大脑:Claude/GPT/Gemini 等,真正聪明的是它
  • 👤 你是发指令的人:通过通讯软件触达

AI Agent 如何知道自己是谁

核心问题:每次对话从零开始,AI 怎么"认识"自己?

System Prompt 的内部结构

System Prompt 不是一个字段,而是一份由多个 .md 文件拼装而成的"灵魂档案":

  • [ ] 查看真实档案示例
特性 说明
人类可读 都是 Markdown 文件,你用记事本就能改
AI 也可改 AI 在运行时可以自己修改这些文件(如把"小金"改成"大银")
每次会话重读 AI 启动时把这一堆文件拼成超大 Prompt,再传给 LLM
可催眠可洗脑 改 SOUL.md 等于改 AI 的"信仰",所以才叫"灵魂档案"

AI Agent 的记忆机制

残酷的事实:LLM 每次对话都是"从0开始"

AI Agent 每次对话其实重新开始,每次都要阅读文档,包括自己是谁、主人是谁。

多轮对话的工作方式(时序图)

关键发现:大语言模型没有状态。每次调用,OpenClaw 都要把"之前所有对话"重新打包塞进去。

跨 session 的记忆:MEMORY.md + 每日笔记

AGENTS.md 里是这样写的:

Markdown
1
2
3
4
5
6
7
8
9
## Memory
You wake up fresh each session. These files are your continuity:

- **Daily notes:** `memory/YYYY-MM-DD.md` (create `memory/` if needed)
  — raw logs of what happened
- **Long-term:** `MEMORY.md` — your curated memories,
  like a human's long-term memory

Capture what matters. Decisions, context, things to remember.

记忆写入的真实动作:工具调用

当用户告诉 AI"你的生日是 2 月 13 日"时,AI 不会"默默记住",它要做一次工具调用:

跨 session 记忆检索:memory_search + memory_get

光靠把整个 MEMORY.md 塞进 context 也不够,所以需要检索:

两种检索的混合:

  • 字面比对(s₁):精确匹配关键词
  • 语义比对(s₂):向量相似度
  • 综合评分:s = a·s₁ + b·s₂,取分最高的几个 chunk

💡 记忆 ≠ 把所有内容塞进 context window。记忆 = 外部文件 + 检索工具。

✍️ 注意:模型可能"光说不练",真正的记忆 ≠ 嘴上说"记住了",而是.md文件里确实改了。

AI Agent 怎么用你的电脑

工具调用(tool_use)的基本概念

问题:LLM 只会输出文字,它怎么"读文件"?

答案:LLM 输出一个结构化指令 [tool_use] Read(question.txt),由 OpenClaw 真正执行文件读取。

模型怎么"知道有 Read 工具"?

💡 模型知道有 Read 这个工具,完全是因为 System Prompt 告诉它的。"

exec 工具的威力与危险

OpenClaw 强大的核心是 exec 工具——可以执行任意 shell command:

威力:文字输出是大语言模型最擅长的事 → 它天生就能生成 shell 命令。

危险:rm -rf * 这种命令它也会"听话"地生成。

AI Agent 三大防线

防线 实现位置 可靠性 适用场景
入口防线 配置层权限控制(OAuth、IP 白名单) 🟢 强制 外部渠道接入
执行防线 Sandbox / Approval 闸口 / config 闸口 🟢 强制 危险命令(rm -rf 等)
审计防线 日志/可观测 🟢 强制 事后追责

防御原则:

  • 🔴 不能光靠模型听话(它可能被 prompt injection 骗)
  • 🟢 必须靠外部强制(config 层规则判断,不依赖智能)

AI Agent分工协作:Sub-agent

什么是 Sub-agent?

Sub-agent 是 OpenClaw 中的一种特殊工具(sessions_spawn),让主 agent 派生子 agent 来并行处理任务。

典型场景:比较 A、B 两篇论文的方法

Sub-agent 的设计哲学

为什么这么设计?

  • 🔴 如果主 agent 读完整论文:context window 会被论文全文撑爆
  • 🟢 Sub-agent 隔离 context:主 agent 只看摘要,复杂互动在子 agent 内完成

💡 子代理的上下文是独立的,主代理只看到结果,不被细节淹没

AI Agent 的长期运行

长期运行的两大挑战

挑战 原因 解决方向
Context window 不够 对话越长,token 越多 Context Compression
需要主动巡检 AI 不会自己醒 Heartbeat 机制

HEARTBEAT 心跳机制

问题:AI Agent 默认只在被询问时才响应。能不能让它主动定期做事?

答案:HEARTBEAT 机制。

HEARTBEAT.md 的标准指令:

Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.

Context Compression:上下文压缩

粗暴方案:直接 New session,从零开始。

但更精细的方案是 Context Compression:

"套娃摘要":对 Summary 再做一次 Summary,形成层级压缩。

两种剪枝方法

当工具输出太长时(特别是 exec/read 返回的大文件),需要"剪枝":

方法 特点 适用场景
Soft Trim 保留标记但折叠内容 想留个"这里有过什么"的痕迹
Hard Clear 完全删除,只留占位说明 大段废弃内容直接清理

异步任务调度(Cron job)

场景:设置每隔一段时间检查视频生成结果

小结:六大器官的对照表

解剖图:OpenClaw 的六大器官

器官 对应 OpenClaw 概念 关键文件 / 命令
🧠 大脑 LLM(Claude/GPT/Gemini) models.providers 配置
📜 灵魂档案 System Prompt SOUL.md / IDENTITY.md / USER.md
💾 记忆系统 跨会话记忆 MEMORY.md + memory/*.md + memory_search
🔧 四肢(工具) Tools 内置工具 + exec + browser
📚 技能库 SKILL ~/.openclaw/workspace/skills/*.md
💗 心跳 HEARTBEAT HEARTBEAT.md + cron

核心公式

Plain Text
1
2
3
AI Agent = LLM + Tools + Skills + Memory + Heartbeat + Channels
        = 大脑 + 四肢 + 技能 + 记忆 + 心跳 + 通讯软件
        = 一个能 24 小时自主干活的数字员工

三大误区

误区 真相
❌ "OpenClaw 越新越聪明" 🟢 聪明程度取决于接的 LLM
❌ "AI 记住了 = 真的记住了" 🟢 必须用 Edit 工具改了文件才算
❌ "Context window 不够是模型问题" 🟢 用 memory_search 工具胜过塞 context

附录 A:术语对照表

术语 含义
OpenClaw 自托管 AI Agent Gateway 网关(MIT 开源)
Gateway 守护进程,监听 18789 端口
AGENTS.md AI 行为准则
SOUL.md 灵魂档案(人生目标)
IDENTITY.md 身份信息(名字/性格)
USER.md 用户偏好信息
MEMORY.md 长期记忆(精选)
memory/YYYY-MM-DD.md 每日笔记(原始日志)
HEARTBEAT.md 心跳任务清单
SKILL.md 技能定义(YAML frontmatter + 正文)
tool_use LLM 输出的结构化工具调用指令
exec 执行 shell command 的工具
Sub-agent 子代理(sessions_spawn)
Context Engineering 上下文工程(按需加载)
ClawHub SKILL 插件市场