技能即文档 —— SKILL.md 如何让 OpenClaw 自主学习新工具

技能即文档 —— SKILL.md 如何让 OpenClaw 自主学习新工具

关键词:SKILL.md|工具自描述|Markdown 解析|函数调用|动态注册|开发者友好

在传统 AI 系统中,为智能体添加新能力(如“查询数据库”或“部署服务”)通常需要:

  • 编写 TypeScript 函数
  • 注册到工具列表
  • 更新提示词(prompt)
  • 重启服务

这一过程对开发者不友好,更无法由非技术人员参与。OpenClaw 提出一种全新范式:技能即文档(Skill-as-Documentation)。

其核心载体是 —— 一个纯 Markdown 文件,既可被人类阅读,也能被 AI 和系统解析,自动注册为可用工具。无需代码、无需重启,只需写一篇清晰的说明文档,AI 就能学会新技能。

本文将详解 的设计哲学、语法规范、解析机制与工程价值。

image

让任何懂业务的人(开发者、运维、产品经理)都能通过写文档,教会 AI 新能力

每个 文件包含三个标准化区块:


  • 标题 = 工具名称()
  • 描述 = 工具功能摘要(注入 prompt)
  • 使用 格式
  • 支持类型:、、、
  • 可选标记:、
  • 可包含:
    • Shell 命令(由 执行)
    • HTTP 请求(由内置 HTTP 客户端执行)
    • 调用其他技能(组合技能)
  • 支持 Mustache 模板变量:

一份文档,三重用途:人类阅读、AI 理解、系统执行。


  • 每个智能体拥有独立 目录
  • 文件名自动转为工具 ID(下划线命名)
  • OpenClaw 启动时扫描所有
  • 热重载支持:文件修改后自动重新解析(无需重启)
  • 解析失败时记录警告,不影响其他技能

所见即所得,改完即生效

负责将 转为结构化工具定义:

  1. 按标题分割区块
    
    
  2. 提取参数
    
    
  3. 识别执行指令
    • 若以 或 开头 → HTTP 工具
    • 若包含 或 → Shell 工具
    • 否则视为描述性文本(仅用于 prompt)

输出可直接注入 LLM 的 字段


  • 自动注入环境变量(如 → )
  • 支持 POST/PUT,自动序列openclaw skills 教程化 JSON body

  • 交由 执行(继承三层隔离模型)
  • 自动申请权限提升(如需)

  • 系统识别 xxx“ 模式
  • 自动编排多步工具调用
  • 支持中间结果传递

技能可组合,能力可叠加

虽然易写,但安全不容妥协:

  • 仅允许引用预定义的 env 变量:
    
    
  • 禁止 、 等敏感变量
  • 可配置允许的域名:
    
    
  • 所有 Shell 技能默认需用户审批(即使写在 中)

开放不等于放任


  • OpenClaw 自动加载,注册新工具

用户:“订单 ORD-2024-089 商品破损,请退款。”

AI 行为:

  1. 识别意图 → 调用
  2. 自动填充 为当前客服 ID
  3. 发送 HTTP 请求
  4. 返回:“退款已提交,预计 3 个工作日内到账。”

从需求到上线,只需写一篇文档

image

的本质,是将“工具定义”从代码中解放出来,使其成为一种声明式、可协作、自包含的知识单元。它模糊了“文档”与“程序”的边界,让 AI 的能力扩展变得像写 Wiki 一样简单。

这不仅是工程优化,更是人机协作范式的升级——未来,教会 AI 做事,或许只需说一句:“我写了个 SKILL.md,你看看能不能用。”

在下一篇中,我们将探讨 OpenClaw 的 Web UI 架构,解析其如何实现低延迟、高一致性的多端体验。

下一篇预告
第 14 篇:Web UI 架构 —— 如何实现与 CLI/WhatsApp 一致的交互体验

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/281233.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月14日 下午4:49
下一篇 2026年3月14日 下午4:49


相关推荐

关注全栈程序员社区公众号