跳过正文
  1. 博客文章/

OpenClaw AI Agent 架构解析:多引擎联动与记忆系统

·427 字·3 分钟·
技术实践 AI Agent OpenClaw 架构
Zayn
作者
Zayn
专注 Kubernetes、CI/CD、可观测性等云原生技术栈,记录生产环境中的实战经验与踩坑复盘。
目录

OpenClaw AI Agent 架构解析
#

核心架构
#

graph TB
    subgraph Agent["OpenClaw Agent"]
        Claude["Claude Sonnet 4.6"]
        GPT["GPT-5.2/5.3"]
        GLM["GLM-5"]
        Gemini["Gemini Pro"]
    end
    
    subgraph Router["Model Router"]
        Route["路由层"]
    end
    
    subgraph Skills["Skills Layer"]
        Blog["blog-post-generator"]
        Daily["daily-blog-generator"]
        Code["coding-agent"]
        Others["90+ skills..."]
    end
    
    subgraph MCP["MCP Layer"]
        Team["Teambition MCP"]
        NMem["Nowledge Mem MCP"]
        Other["其他 MCP..."]
    end
    
    Claude --> Route
    GPT --> Route
    GLM --> Route
    Gemini --> Route
    Route --> Skills
    Skills --> MCP

1. 多 AI 引擎联动
#

模型配置
#

{
  "providers": {
    "anthropic-local": {
      "models": ["claude-sonnet-4-6"]
    },
    "openai-codex": {
      "models": ["gpt-5.2", "gpt-5.3-codex"]
    },
    "zai": {
      "models": ["glm-5"]
    }
  }
}

路由策略
#

flowchart LR
    A[任务类型] --> B{判断}
    B -->|日常对话| C[Claude Sonnet 4.6]
    B -->|代码生成| D[GPT-5.3-Codex]
    B -->|复杂推理| E[GPT-5.4]
    B -->|中文任务| F[GLM-5]
任务类型推荐模型原因
日常对话Claude Sonnet 4.6成本低、速度快
代码生成GPT-5.3-Codex代码能力强
复杂推理GPT-5.4推理能力最强
中文任务GLM-5中文理解好

Sub-Agent 编排
#

graph LR
    Main[主 Agent
Claude Sonnet 4.6] --> S1[Sub-Agent 1
GPT-5.2 搜索总结] Main --> S2[Sub-Agent 2
Claude 文档处理] Main --> S3[Sub-Agent 3
GPT-5.3 代码审查]

2. 记忆系统
#

架构图
#

graph TB
    subgraph Memory["记忆系统"]
        WM["Working Memory
(工作记忆)"] NM["Nowledge Mem
(知识图谱)"] LT["MEMORY.md
(长期记忆)"] TL["Timeline
(时间线)"] end WM <--> NM NM --> TL NM --> LT Session[每次对话] --> WM Session --> NM

三层记忆
#

flowchart TD
    A[对话启动] --> B[Working Memory
当日焦点] A --> C[相关记忆
语义搜索] A --> D[Timeline
最近活动] B --> E[构建上下文] C --> E D --> E E --> F[Agent 响应]
层级存储用途
Working MemoryNowledge Mem当日焦点、优先事项
Long-term MemoryMEMORY.md持久化记忆、偏好
TimelineNowledge Mem活动历史、事件记录

3. 定时任务系统
#

Cron 配置
#

{
  "name": "每日博客简报生成",
  "schedule": { "kind": "cron", "expr": "0 23 * * *" },
  "payload": {
    "kind": "agentTurn",
    "message": "执行 daily-blog-generator skill",
    "model": "anthropic-local/claude-sonnet-4-6"
  },
  "sessionTarget": "isolated"
}

任务类型
#

flowchart LR
    A[Cron 任务] --> B{类型}
    B -->|systemEvent| C[注入系统事件
无需 model] B -->|agentTurn| D[隔离会话执行
需要 model]

4. Skills 体系
#

目录结构
#

~/.agents/skills/
├── blog-post-generator/
│   └── SKILL.md
├── daily-blog-generator/
│   └── SKILL.md
├── coding-agent/
│   └── SKILL.md
└── ... 90+ skills

Skill 触发流程
#

sequenceDiagram
    participant U as 用户
    participant A as Agent
    participant S as Skill
    participant B as 博客
    
    U->>A: 随机找一篇上传 blog
    A->>S: 匹配 blog-post-generator
    S->>S: 1. 从远程仓库获取文档
    S->>S: 2. 检查博客已有内容
    S->>S: 3. 优化文风
    S->>B: 4. 发布到博客
    B-->>U: 发布成功

5. 最佳实践
#

模型选择流程
#

flowchart TD
    A[任务] --> B{复杂度}
    B -->|简单| C[Claude Sonnet 4.6
省钱] B -->|复杂| D{类型} D -->|代码| E[GPT-5.3-Codex] D -->|推理| F[GPT-5.4] D -->|中文| G[GLM-5]

配置规范
#

  • ✅ 模型名必须写完整:anthropic-local/claude-sonnet-4-6
  • ✅ 路径必须用绝对路径
  • ✅ agentTurn 任务必须带 model 字段

避坑指南
#

graph LR
    A[问题] --> B{诊断}
    B -->|模型回退失败| C[检查 fallback provider]
    B -->|Cron 不执行| D[检查 model 字段]
    B -->|Skills 加载不到| E[检查绝对路径]
问题原因解决方案
模型回退失败fallback 模型的 provider 未配置检查 providers 配置
Cron 任务不执行缺少 model 字段agentTurn 必须带 model
Skills 加载不到路径用相对路径本机必须用绝对路径

这套架构运行稳定,每天自动生成博客简报,任务管理效率提升 49%。

相关文章

当 AI Agent 遇上运维自动化:我的实践踩坑之路
·135 字·1 分钟
AI AI Agent 自动化 运维 OpenClaw
OpenClaw 配置踩坑记:那些差点把我送走的问题
·192 字·1 分钟
AI OpenClaw AI Agent 运维 避坑
字节 Coze 平台实战:从零搭建 AI 智能体
·171 字·1 分钟
AI Coze AI 智能体 字节跳动 大模型