Skip to content

Agent 架构解析

OpenClaw Agent 的工作方式

OpenClaw 的 Agent 基于 ReAct 模式(Reasoning + Acting):

用户输入
  → 思考(Reasoning):分析任务,规划步骤
  → 行动(Acting):调用工具执行
  → 观察(Observation):处理工具返回结果
  → 循环直到任务完成
  → 输出最终结果

这个循环称为 Agent Loop,每次循环称为一个 Turn

工具系统

Agent 通过调用工具与外部世界交互,OpenClaw 内置工具包括:

工具类型示例
文件操作读文件、写文件、列目录
代码执行运行 Shell 命令、执行脚本
网络请求HTTP GET/POST、网页抓取
系统集成截图、摄像头(macOS)
搜索本地搜索、网络搜索

工具权限控制

默认情况下,敏感工具(如执行命令、网络请求)需要用户确认:

json
{
  "tools": {
    "permissions": {
      "shell": "ask",
      "filesystem": "allow",
      "network": "ask"
    }
  }
}

权限级别:

  • allow:自动允许
  • ask:每次询问用户
  • deny:禁止使用

上下文窗口管理

当对话历史过长时,OpenClaw 会自动进行 Compaction(压缩):

  1. 识别历史对话中的关键信息
  2. 生成摘要替换详细历史
  3. 保留重要上下文,减少 Token 消耗

可手动触发:

bash
# 在对话中发送
/compact

子代理(Sub-Agent)

对于复杂任务,主 Agent 可以启动子代理并行执行:

主 Agent
  ├─ 子代理 A:搜索资料
  ├─ 子代理 B:分析代码
  └─ 子代理 C:生成报告

主 Agent 汇总结果

详见 多代理架构 章节。

基于 OpenClaw 官方文档整理,仅供学习研究