从零到精通,两条路线并行,最终融合。每天 2 小时,8 周通关。


🗺️ 先搞清定位:两者是什么关系?

维度 OpenClaw LangGraph
本质 开箱即用的 AI Agent 运行时 底层图编排框架
设计逻辑 配置驱动、模板优先、执行就绪 代码驱动、逻辑定义优先
状态管理 Workspace / Config 驱动 精细的 Checkpoint 与线程控制
上手路径 装好就能跑,IM 里直接用 从图原语开始搭建
目标用户 业务落地实施者 深度定制的系统架构师
核心优势 7×24 在线、心跳机制、Skill 生态、IM 集成 状态可视化、可中断/恢复、Human-in-the-Loop、LangChain 生态

一句话:OpenClaw 是"能干活的 Agent",LangGraph 是"编排 Agent 的框架"。两者不是替代关系,而是互补——OpenClaw 可通过 MCP Server 触发 LangGraph 工作流,作为面向用户的层,专业框架处理底层编排。


📅 8 周学习路线总览

第1-2周  ██░░░░░░  OpenClaw 入门 + LangGraph 入门(并行)
第3-4周  ████░░░░  OpenClaw 进阶 + LangGraph 进阶
第5-6周  ██████░░  各自实战项目
第7-8周  ████████  融合架构 + 企业级部署

第 1-2 周:双线入门

🦞 OpenClaw 入门(第 1-2 周)

Day 1-2:安装与首次运行
# 一键安装
curl -fsSL https://openclaw.ai/install.sh | bash

# 或 npm 方式
npm install -g openclaw@latest

# 运行引导向导
openclaw onboard

# 验证
openclaw status

必须搞懂的四大构建块:

模块 类比 作用
Gateway 前门 连接 Telegram/Discord/Slack 等消息渠道
Skills 工具箱 Agent 能做什么,类似手机 App
Memory 大脑 跨对话记忆,存储在 ~/.openclaw/memory/
Sandbox 安全网 控制 Agent 的权限边界
Day 3-4:连接第一个消息渠道

推荐从 Telegram 开始(5 分钟搞定):

  1. 找 @BotFather 创建 Bot,获取 Token
  2. openclaw config set channels.telegram.token <YOUR_TOKEN>
  3. 发消息测试

练习任务:

  • 让 Agent 回复"你能做什么?"
  • 让 Agent 总结最新科技新闻
  • 让 Agent 记住你的名字和偏好
Day 5-7:安装和使用社区 Skills
# 浏览可用技能
openclaw skills search

# 安装常用技能
openclaw skills install @openclaw/web-search
openclaw skills install @openclaw/file-manager
openclaw skills install @openclaw/calendar

# 查看已安装
openclaw skills list

练习任务:

  • 用 Web Search Skill 搜索并总结一篇论文
  • 用 Calendar Skill 管理日程
  • 安装 3 个以上社区 Skill 并测试

🔗 LangGraph 入门(第 1-2 周)

Day 1-2:环境搭建 + 快速体验
pip install -U langgraph langchain-openai

第一个 Agent(5 行代码跑起来):

from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o")
agent = create_react_agent(llm, tools=[])
result = agent.invoke({"messages": [("user", "你好!")]})
print(result["messages"][-1].content)
Day 3-5:理解四大核心组件
┌─────────────────────────────────────┐
│           StateGraph                │
│  ┌───────┐    ┌───────┐    ┌─────┐ │
│  │ Node1 │───▶│ Node2 │───▶│ END │ │
│  └───────┘    └───┬───┘    └─────┘ │
│                   │                 │
│              ┌────▼────┐           │
│              │  Node3  │           │
│              └─────────┘           │
│  State: {messages, step, ...}      │
└─────────────────────────────────────┘
组件 作用 关键点
State 存储工作流数据 TypedDict / Pydantic 定义
Node 执行具体逻辑 LLM / Tool / Human / Router
Edge 定义流程走向 普通边 / 条件边
StateGraph 编排所有组件 .compile() 生成可执行对象
Day 6-7:手写第一个多步工作流
from typing import TypedDict, Annotated, List
from langchain_core.messages import BaseMessage
from langgraph.graph import StateGraph, END

class MyState(TypedDict):
    messages: Annotated[List[BaseMessage], "对话历史"]
    current_step: str

def chatbot_node(state: MyState):
    response = llm.invoke(state["messages"])
    return {"messages": [response]}

workflow = StateGraph(MyState)
workflow.add_node("chatbot", chatbot_node)
workflow.set_entry_point("chatbot")
workflow.add_edge("chatbot", END)
app = workflow.compile()

# 执行
result = app.invoke({"messages": [("user", "你好")], "current_step": "start"})

练习任务:

  • 修改 State,加入 user_idsession_id
  • 添加第二个节点做后处理
  • 用条件边实现分支逻辑

第 3-4 周:双线进阶

🦞 OpenClaw 进阶

Week 3:自定义 Skill 开发

Skill 文件格式:

---
name: git-summary
version: 1.0.0
description: 总结 Git 仓库近期活动
trigger: "git summary|repo summary|what happened in git"
tools: [shell]
---

# Git Summary

## When to Use
当用户询问仓库提交历史时触发。

## Steps
1. 运行 \`git log --oneline -20\` 获取最近 20 条提交
2. 分析提交模式和频率
3. 生成可读的总结报告

## Examples
- "git summary" → 总结最近的提交活动
- "repo summary this week" → 本周提交概览

关键知识点:

触发类型 语法 示例
关键词 `"word1 word2"`
正则 "/pattern/" `"/deploy .+ to (staging
始终 "*" 每条消息都触发(慎用)

Skill 工具声明:

tools:
  - shell        # 终端命令
  - filesystem   # 文件读写
  - browser      # 浏览器自动化
  - http         # API 请求
  - memory       # 记忆读写
  - chat         # 发消息到渠道

高级模式:

# 带配置的 Skill
---
name: daily-digest
config:
  email: ""
  time: "09:00"
  timezone: "UTC"
---

# 依赖其他 Skill 的 Skill
---
name: morning-routine
depends: [weather-briefing, calendar-summary, news-digest]
---

练习任务:

  • 写一个自动日报生成 Skill
  • 写一个带配置的定时摘要 Skill
  • 写一个链式 Skill(依赖其他 Skill)
  • 发布到 ClawHub:openclaw clawhub publish ./my-skill.md
Week 4:多 Agent + 浏览器自动化 + 安全

多 Agent 管理:

# 创建独立 Agent
openclaw create-agent work --model claude-sonnet
openclaw create-agent personal --model claude-haiku
openclaw create-agent lab --model ollama:llama3

# 切换 Agent
openclaw switch-agent work
Agent 模型 连接 用途
Work Claude Sonnet Slack, Gmail, Linear 专业工作
Personal Claude Haiku Telegram, Calendar 个人事务
Lab Ollama 本地 仅命令行 实验测试

浏览器自动化:

openclaw plugins install @openclaw/browser-control
openclaw config set browser.enabled true
openclaw config set browser.headless false  # 调试用

安全与费用控制:

# Docker 沙箱
openclaw config set sandbox.mode "docker"

# 预算管控
openclaw config set ai.dailyLimit 1000
openclaw config set ai.monthlyBudget 50

# 监控
openclaw stats usage
openclaw stats cost

费用参考:

使用级别 预估月费
轻度(10-20 次/天) $5–10
中度(50-100 次 + 定时任务) $20–30
重度(自动化 + 浏览器) $50–100

🔗 LangGraph 进阶

Week 3:状态管理 + 高级控制流

状态持久化三阶梯:

MemorySaver(内存,测试用)
    ↓
SqliteSaver(本地数据库)
    ↓
PostgresSaver(生产环境)

条件边实现分支:

def router_node(state):
    last_msg = state["messages"][-1].content.lower()
    if "搜索" in last_msg:
        return "searcher"
    elif "写" in last_msg:
        return "writer"
    return "responder"

workflow.add_conditional_edges(
    "router",
    router_node,
    {"searcher": "searcher", "writer": "writer", "responder": "responder"}
)

Send 动态扇出(并行执行):

from langgraph.types import Send

def fan_out_node(state):
    topics = state["topics"]  # ["AI", "区块链", "量子计算"]
    return [Send("researcher", {"topic": t}) for t in topics]

子图嵌套:

# 把复杂工作流拆成子图
research_subgraph = StateGraph(ResearchState)
# ... 构建子图

main_workflow.add_node("research", research_subgraph.compile())
Week 4:Human-in-the-Loop + 记忆系统

人工审批节点:

from langgraph.checkpoint.memory import MemorySaver

checkpointer = MemorySaver()
app = workflow.compile(
    checkpointer=checkpointer,
    interrupt_before=["review"]  # 在 review 节点前暂停
)

# 第一阶段:执行到 review 前停止
for event in app.stream(initial_state, config={"configurable": {"thread_id": "1"}}):
    print(event)

# 人工审批后恢复
state = app.get_state(config={"configurable": {"thread_id": "1"}})
app.update_state(
    config={"configurable": {"thread_id": "1"}},
    values={"approved": True}
)
# 继续执行
for event in app.stream(None, config={"configurable": {"thread_id": "1"}}):
    print(event)

记忆分类:

类型 用途 生命周期
短期记忆 当前对话上下文 会话结束即清除
长期记忆(Store) 跨会话持久化 永久保存
Time Travel 回溯工作流历史状态 审计/调试
State Forking 基于某状态衍生并行分支 A/B 测试

第 5-6 周:实战项目

🦞 OpenClaw 实战项目

项目 1:个人效率助手(Week 5)
功能清单:
├── 每日晨报 Skill(天气 + 日历 + 新闻 + 待办)
├── 邮件摘要 Skill(Gmail 集成)
├── 会议纪要 Skill(自动记录 + 归档到 Obsidian)
├── 代码审查 Skill(Git diff 总结)
└── 费用监控(openclaw stats cost 定时推送)
项目 2:团队自动化 Agent(Week 6)
架构:
┌─────────────┐
│  Slack 渠道  │ ← 团队成员交互
└──────┬──────┘
       ▼
┌─────────────┐
│  Work Agent │ ← Claude Sonnet
├─────────────┤
│ Skills:     │
│ · Jira 同步 │
│ · PR 审查   │
│ · 部署通知  │
│ · 值班排期  │
└─────────────┘

🔗 LangGraph 实战项目

项目 1:多 Agent 研究助手(Week 5)
# 架构设计
research_workflow = StateGraph(ResearchState)

# 节点
research_workflow.add_node("router", main_router)
research_workflow.add_node("researcher", researcher_node)    # 搜索+分析
research_workflow.add_node("writer", writer_node)            # 写报告
research_workflow.add_node("reviewer", reviewer_node)        # 审核质量
research_workflow.add_node("responder", respond_node)        # 直接回答

# 流程
research_workflow.set_entry_point("router")
research_workflow.add_conditional_edges("router", main_router, {
    "researcher": "researcher",
    "writer": "writer",
    "respond": "responder"
})
research_workflow.add_edge("researcher", "reviewer")
research_workflow.add_edge("reviewer", "writer")   # 审核通过→写报告
research_workflow.add_edge("writer", "router")      # 写完→路由下一轮
research_workflow.add_edge("responder", END)
项目 2:企业审批流 Agent(Week 6)
# Human-in-the-Loop + 状态持久化
approval_workflow = StateGraph(ApprovalState)
approval_workflow.add_node("submit", submit_request)
approval_workflow.add_node("auto_check", auto_review)      # 自动初审
approval_workflow.add_node("human_review", human_decision)  # 人工审批
approval_workflow.add_node("execute", execute_action)       # 执行操作
approval_workflow.add_node("reject", reject_request)        # 驳回

approval_workflow.add_conditional_edges("auto_check", lambda s:
    "human_review" if s["needs_human"] else "execute"
)
# 在人工审批前中断
app = approval_workflow.compile(
    checkpointer=PostgresSaver(conn_string),
    interrupt_before=["human_review"]
)

第 7-8 周:融合架构 + 企业级部署

🔗 融合架构:OpenClaw + LangGraph

这是最有价值的部分——两者不是二选一,而是分层协作:

┌──────────────────────────────────────────┐
│            用户交互层                      │
│   Telegram / Slack / Discord / Web       │
├──────────────────────────────────────────┤
│          OpenClaw Agent 层                │
│   · 消息路由 · Skill 匹配 · 记忆管理      │
│   · 心跳监控 · 渠道适配                    │
├──────────┬───────────────────────────────┤
│          │  MCP Server 桥接              │
├──────────▼───────────────────────────────┤
│        LangGraph 编排层                   │
│   · 复杂工作流 · 状态机                    │
│   · Human-in-the-Loop · 子图嵌套          │
├──────────────────────────────────────────┤
│          工具 / 数据层                     │
│   · 搜索 · 数据库 · API · 浏览器          │
└──────────────────────────────────────────┘

简单任务 → OpenClaw 直接处理
复杂多步任务 → OpenClaw 通过 MCP 触发 LangGraph 工作流

🏢 企业级部署

LangGraph 部署
# 编写配置文件 langgraph.json
# Docker 部署
langgraph build
langgraph up

# 或部署到 LangSmith Deployment
OpenClaw 部署
# Docker 生产部署
docker run -d --name openclaw \
  -v ~/.openclaw:/root/.openclaw \
  -e OPENCLAW_SANDBOX=docker \
  openclaw/openclaw:latest

# 健康检查
openclaw doctor
openclaw logs
企业级可靠性清单
环节 OpenClaw 方案 LangGraph 方案
状态持久化 本地文件系统 PostgresSaver
错误处理 Heartbeat 自愈 节点级 retry + tenacity
监控 openclaw stats LangSmith 集成
安全 Docker 沙箱 + 路径 deny 输入过滤 + 工具权限控制
费用 dailyLimit + monthlyBudget State 中跟踪 Token 消耗
审计 Memory provenance Time Travel + Checkpoint

📚 学习资源速查

OpenClaw

资源 链接
官方文档 https://clawdocs.org
中文技术文档 https://gitee.com/zmhbb/openclaw-doc
Skill 开发指南 https://clawdocs.org/guides/skill-development/
社区 Skills https://clawhub.ai
中文教程(GitHub) https://github.com/ben4claw/openclaw-tutorial
阿里云部署指南 https://developer.aliyun.com/article/1720468

LangGraph

资源 链接
官方文档 https://langchain-ai.github.io/langgraph/
六步入门指南 腾讯云开发者社区搜"LangGraph 从零到一"
企业级实践 腾讯云开发者社区搜"LangGraph 构建企业级"
Udemy 课程 “LangGraph Mastery: Build Stateful & Agentic AI Workflows”
DeepSeek+LangGraph 实战 withubtraining.com

⚠️ 避坑指南

症状 解法
OpenClaw 端口冲突 EADDRINUSE openclaw gateway start --port 18790
Skill 未加载 安装后不生效 openclaw skills reload
LangGraph 状态混乱 依赖全局变量 始终用显式 State 定义
工具调用无重试 网络波动导致崩溃 tenacity@retry 装饰器
Token 消耗失控 长对话成本飙升 State 中跟踪 + 自动摘要压缩
Prompt 注入 Agent 执行危险操作 输入过滤 + 工具权限控制 + 沙箱

🎯 学习节奏建议

节奏 适合人群 预计耗时
高强度 全职学习 / 转型 AI 工程 4 周(每天 4h+)
标准节奏 在职学习 8 周(每天 2h)
慢节奏 兴趣驱动 / 兼顾主业 12 周(每天 1h)

核心原则:每一周都要有可运行的产出。别只看文档,手不能停。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐