🦞OpenClaw Workshop
🦐 模块 2:创建一只能干活的虾(~40分钟)

2-1 理解 Agent 概念

⏱️ 预计时间:10分钟

OpenClaw Agent = 你的 AI 助手,我们亲切地叫它"虾"🦐。在深入动手之前,先理解 Agent 的技术架构。

Agent 核心组成

每个 Agent 由以下部分构成:

  • SOUL.md(灵魂文件) — 定义 Agent 的身份、性格、职责和工作方式。这是 Agent 的"系统提示词",Agent 每次对话都会先读取它
  • Workspace(工作空间) — Agent 的专属目录(~/.openclaw/workspace-<id>/),存放 SOUL.md、记忆文件、配置等
  • Model(大语言模型) — Agent 背后的 LLM(如 GPT-5.4、Claude Opus 等),决定 Agent 的"智力水平"
  • Tools(工具) — Agent 可以调用的能力接口,如搜索网页、读写文件、发消息、控制浏览器等
  • Skills(技能包) — 预打包的高层知识模块,告诉 Agent"怎么做"某类任务
  • Memory(记忆) — MEMORY.md + memory/*.md 文件,让 Agent 能记住过往对话和偏好

Gateway 架构

OpenClaw 的核心是 Gateway(网关),它是所有 Agent 的运行时:

  • 消息路由 — Gateway 接收来自 QQ、微信、Discord 等渠道的消息,根据 binding 配置路由到对应的 Agent
  • Session 管理 — 每个对话是一个 Session,Gateway 管理 Session 的生命周期、上下文窗口、历史记录
  • Tool 调度 — Agent 需要调用工具时,Gateway 负责执行并返回结果(如运行 shell 命令、搜索网页、发消息等)
  • 多 Agent 协作 — 通过 sessions_spawn,一个 Agent 可以创建子 Agent 会话,实现任务分发和并行处理

Tools vs Skills

Tools 和 Skills 是 Agent 能力的两层:

  • Tools(底层原语) — exec、read/write/edit、web_search、web_fetch、browser、message、cron 等。Agent 自动调用,你不需要手动触发
  • Skills(高层知识) — 预打包的 SKILL.md 文件,包含特定任务的指导。Agent 匹配任务后自动加载对应 Skill
ℹ️
提示

Tools 给 Agent "能力",Skills 给 Agent "知识"。比如 web_search 是工具(能搜索),而 github Skill 是知识(告诉 Agent 如何用 gh CLI 操作 GitHub)。

Tool 可用性控制

Agent 默认可以使用所有内置工具。你可以通过配置精确控制:

  • tools.allow / tools.deny — 全局或 per-agent 的工具白名单/黑名单
  • tools.profile — 预设工具集(minimal / coding / messaging / full)
  • Tool Groups — 分组快捷控制,如 group:web(web_search + web_fetch)、group:fs(read/write/edit)等

Binding 机制(消息路由)

一个 Agent 通过 binding 绑定到特定的消息渠道:

text
消息渠道(QQ/微信/Discord)
    ↓ 消息到达
Gateway 消息路由
    ↓ 匹配 binding 规则
Agent Session
    ↓ 读取 SOUL.md + 加载 Skills
LLM(GPT-5.4/Claude 等)
    ↓ 决定调用哪些 Tools
Tool 执行(搜索/文件/浏览器...)
    ↓ 返回结果
Agent 组织回复
    ↓
消息渠道(回复用户)
ℹ️
提示

一个 Agent 可以绑定多个频道,一个频道也可以绑定多个 Agent(按优先级匹配)。未绑定的 Agent 只能在 Control UI 的 webchat 中使用。

Sub-Agent 协作机制

多 Agent 协作是 OpenClaw 的核心能力:

  • sessions_spawn — 父 Agent 创建子 Agent 会话,分发子任务
  • subagents.allowAgents — 控制一个 Agent 能调用哪些其他 Agent
  • one-shot(run 模式) — 子 Agent 完成任务后自动结束
  • persistent(session 模式) — 子 Agent 持续运行,绑定到聊天线程
成功

理解了这些概念,你就能设计出强大的多 Agent 协作系统。接下来我们动手创建第一只虾!

步骤 7 / 21
33%