04
AI 工程课程 · COURSE 04

从最简单的 50 行代码开始
理解工具、技能、代理、自动化四层抽象
掌握使用边界和调试方法

OpenClaw
理解 AI Agent 的工作原理
OBJECTIVES

课程目标

理解 AI Agent 的本质

从 50 行伪代码开始,理解 LLM + 工具调用的核心循环

掌握四层抽象

工具 → 技能 → 代理 → 自动化,每一层解决什么问题

识别失败模式

沉默失败、幻觉、权限错误 — 知道什么时候会出问题

明确使用边界

什么时候该用,什么时候不该用 — Karpathy 的场景分离

核心理念:这些理解可以迁移到任何 AI Agent 工具(AutoGPT、LangChain Agent 等)

PART 01

AI Agent 的本质

从最简单的代码开始理解

PART 01 · AI AGENT ESSENCE

1.1 从最简单的 AI Agent 开始

minimal_agent.py
# 最小 AI Agent 的核心逻辑 def minimal_agent(user_request): # 步骤 1:AI 分析用户请求 analysis = llm.analyze(user_request) # 步骤 2:AI 决定要不要调用工具 if analysis.needs_tool: tool_name = analysis.which_tool # 例如:'read_file' tool_args = analysis.tool_args # 例如:{'path': 'data.txt'} # 步骤 3:执行工具 tool_result = execute_tool(tool_name, tool_args) # 步骤 4:AI 基于工具结果生成回答 response = llm.generate(user_request, tool_result) else: # 不需要工具,直接回答 response = llm.generate(user_request) return response

这就是 AI Agent 的核心:分析 → 决策 → 执行 → 生成

PART 01 · AI AGENT ESSENCE

1.2 为什么需要 OpenClaw?

三个核心问题

❶ 工具管理

谁来注册这 20+ 个工具?谁来维护工具的版本和依赖?

❷ 状态管理

如何在多次对话中保持上下文?如何存储中间结果?

❸ 错误处理

工具调用失败了怎么办?如何重试?如何回滚?

PART 01 · AI AGENT ESSENCE

1.3 OpenClaw vs ChatGPT

OpenClaw vs ChatGPT 架构对比

关键差异:ChatGPT 是函数调用,OpenClaw 是守护进程

PART 02

能力层级

工具 → 技能 → 代理 → 自动化

PART 02 · CAPABILITY LAYERS

2.1 工具层
四大子系统

OpenClaw 内置 20+ 个常用工具,覆盖四大子系统

文件系统:读写、搜索、监控

网络工具:HTTP、浏览器、API

执行工具:Shell、Python、Docker

通信工具:邮件、Slack、GitHub

工具层四大子系统
PART 02 · CAPABILITY LAYERS

2.2 技能层:从工具到技能

什么是技能?

技能 = 多个工具的编排 + 错误处理 + 最佳实践

bash
$ openclaw skill use markdown-to-pdf input.md output.pdf 🔍 分析任务... 📖 读取 input.md 🎨 转换 Markdown 为 HTML 📄 生成 PDF ✓ 完成:output.pdf

关键理解:技能不是黑盒,你可以查看源代码,理解它的实现逻辑

PART 02 · CAPABILITY LAYERS

2.3 ClawHub:技能市场

价值

  • 13,700+ 社区贡献的技能
  • 一键安装,开箱即用
  • 覆盖常见自动化场景

风险

  • 2026.2 安全事件:恶意技能
  • 代码审查不充分
  • 依赖链攻击风险

安全检查清单

① 查看技能源代码
  • 检查是否有可疑的网络请求
  • 验证文件操作的路径和权限
  • 确认没有执行未知的 shell 命令
② 检查作者信誉
  • 查看作者的其他技能
  • 检查 GitHub 贡献历史
  • 确认是否为官方认证开发者
③ 查看下载量和评价
  • 优先选择下载量 > 1000 的技能
  • 阅读用户评价和问题反馈
  • 检查最近更新时间
④ 测试后再用于生产
  • 在测试环境中运行
  • 使用假数据验证功能
  • 监控执行日志和资源占用
⑤ 定期更新和审计
  • 订阅技能更新通知
  • 定期检查依赖项的安全漏洞
  • 记录技能的使用情况和异常
PART 02 · CAPABILITY LAYERS

2.4 代理层:多任务协作

多代理协作模式

局限:代理之间的协调成本 — 需要明确职责和通信协议

PART 02 · CAPABILITY LAYERS

2.5 自动化层:定时任务

为什么需要定时任务?

前面的工具、技能、代理都是被动触发
定时任务让 AI Agent 主动执行

bash
$ openclaw cron create "0 8 * * *" "搜索今天的 AI 新闻,生成摘要" ✓ 定时任务已创建 任务 ID: cron-2026-05-06-001 执行时间: 每天 08:00 下次执行: 2026-05-07 08:00:00

风险:沉默失败

任务执行了但失败了,你却不知道 — 必须设置失败通知和日志监控

PART 03

实战与边界

成功案例、失败案例、使用边界

PART 03 · PRACTICE & BOUNDARIES

3.1 成功案例

LinkedIn 内容自动化

从 RSS 抓取 → AI 生成草稿 → 人工审核 → 发布
效果:节省 80% 内容创作时间

电商客服自动化

监控邮箱 → AI 分类 → 自动回复常见问题 → 复杂问题转人工
效果:处理 60% 的常见咨询

价格监控

每小时抓取竞品页面 → 提取价格 → 变化时通知
效果:及时调整定价策略

PART 03 · PRACTICE & BOUNDARIES

3.2 失败案例(教学场景)

以下是为教学目的构建的典型失败场景,用于说明 AI Agent 的风险点

案例 A:自动部署代码

问题:代码有 bug,但 AI 没发现,直接部署了
教训:AI Agent 不能替代人工审查,尤其是关键操作

案例 B:自动下单

问题:网站改版,抓取失败,但没有报错
教训:需要人工验证自动化流程,定期检查

案例 C:生成报告

问题:报告格式完美,但内容有幻觉(编造数据)
教训:输出格式正确 ≠ 内容正确,必须验证数据来源

PART 03 · PRACTICE & BOUNDARIES

3.3 使用边界

✓ 可以"不懂就用"

  • 非关键任务(会议纪要)
  • 可以人工验证(格式转换)
  • 失败成本低(测试消息)

✗ 必须"理解机制"

  • 涉及敏感数据(自动发邮件)
  • 不可逆操作(自动删除文件)
  • 生产环境部署(自动发布代码)
  • 财务相关操作(自动下单)

Karpathy 的场景分离:个人项目快速原型 → vibe coding;生产系统关键任务 → 必须理解底层

PART 03 · PRACTICE & BOUNDARIES

3.4 调试 OpenClaw

常见失败模式

  • 工具调用成功,但结果不符合预期 → 查看工具调用日志
  • 定时任务执行了,但 API 限流失败 → 查看执行日志和返回码
  • 技能安装成功,但依赖工具未启用 → 查看技能依赖列表
bash
$ openclaw logs --last [2026-05-06 14:23:15] 用户请求: "搜索 AI 新闻" [2026-05-06 14:23:16] 工具调用: web_search [2026-05-06 14:23:16] 参数: {"query": "AI news today"} [2026-05-06 14:23:17] 错误: API rate limit exceeded [2026-05-06 14:23:17] 状态: 失败
PART 04

动手实践

安装、配置、第一个任务

PART 04 · HANDS-ON PRACTICE

4.1 安装与配置

bash
$ curl -fsSL https://openclaw.ai/install.sh | sh 正在下载 OpenClaw... ✓ 安装完成 $ openclaw onboard 欢迎使用 OpenClaw! 请选择 LLM 提供商: 1) OpenAI 2) Anthropic 3) 本地 Ollama 选择 [1-3]: 2 请输入 Anthropic API Key: sk-ant-*** ✓ 配置完成

注意:以上命令为示例语法,实际命令请参考官方文档 https://docs.openclaw.ai/

PART 04 · HANDS-ON PRACTICE

4.2 第一个任务

理解工具调用过程

bash
$ openclaw chat "列出当前目录的所有 Markdown 文件" 🤔 分析请求... 🔧 调用工具: glob 参数: {"pattern": "*.md"} 📄 找到 3 个文件: - README.md - CHANGELOG.md - TODO.md ✓ 完成 $ openclaw logs --last [步骤 1] AI 分析: 需要列出文件 [步骤 2] AI 决策: 使用 glob 工具 [步骤 3] 执行工具: glob(pattern="*.md") [步骤 4] AI 生成: 基于结果回答用户

这就是 AI Agent 的核心循环

PART 04 · HANDS-ON PRACTICE

4.3 第一个技能

markdown-to-pdf.yaml
# 技能配置文件 name: markdown-to-pdf description: "将 Markdown 文件转换为 PDF" steps: - tool: read_file args: path: "{{input_file}}" output: markdown_content - tool: markdown_to_html args: content: "{{markdown_content}}" output: html_content - tool: html_to_pdf args: html: "{{html_content}}" output_path: "{{output_file}}" error_handling: retry: 3 on_failure: "log_and_notify"

关键理解:技能不是黑盒,你可以看到它的实现,理解每一步在做什么

PART 04 · HANDS-ON PRACTICE

4.4 第一个定时任务

学习调试:故意制造失败

bash
$ openclaw cron create "*/5 * * * *" "获取当前时间并写入 time.txt" ✓ 任务已创建: cron-001 $ chmod 000 time.txt # 故意移除写入权限 # 5 分钟后... $ openclaw cron list ID 状态 最后执行 cron-001 成功 2026-05-06 14:25 # 显示"成功"! $ openclaw logs --task cron-001 [2026-05-06 14:25:00] 执行任务... [2026-05-06 14:25:01] 错误: Permission denied [2026-05-06 14:25:01] 任务状态: 成功 (AI 不知道失败了) $ chmod 644 time.txt # 修复权限 ✓ 问题已解决

关键发现:任务状态显示"成功",但实际因权限错误失败了 — 这就是沉默失败

2026 UPDATES

2026 年 OpenClaw 重大更新

v2026.5.2

集成 Grok 4.3,性能提升

v2026.4.27

新增桌面控制功能

v2026.4.25-26

升级语音支持,新增 6 个语音提供商

v2026.4.5

内置视频和音乐生成

v2026.3.22

推出 ClawHub 技能市场

这意味着什么?OpenClaw 不是"玩具项目",而是快速迭代的生产力工具

SUMMARY

总结

这节课的核心不是"功能介绍",而是:

理解 AI Agent 的本质:LLM + 工具调用的循环

理解四层抽象的必要性:工具 → 技能 → 代理 → 自动化

理解失败模式:沉默失败、幻觉、权限错误

理解使用边界:什么时候该用,什么时候不该用

当你换工具时(如 AutoGPT、LangChain Agent),这些理解能迁移

EXERCISES

课后练习

基础练习

  • 安装 OpenClaw 并完成配置
  • 用 openclaw chat 完成简单任务
  • 从 ClawHub 安装技能并查看源代码

进阶练习

  • 设置定时任务,故意让它失败
  • 批量处理文件,验证结果
  • 设计自动化工作流,写下失败点

挑战练习

  • 对比 OpenClaw 和 AutoGPT 的架构差异
  • 设计"防沉默失败"的检查机制
  • 参考 2026 年真实案例,设计适合自己的自动化场景

谢谢

下一课:OpenClaw 的安装与配置实战

参考资料:https://docs.openclaw.ai/

1 / 26