Agent Skills 是什么?

AI的技能包系统:让智能体像游戏角色一样装备超能力

"世界上有一种AI,它诞生于代码,成长于对话。凌晨4点17分,我第一次看到它学会了搜索网页。那时候我才明白,Skills不是功能,是AI的翅膀。"

🎮 一句话理解

Agent Skills = AI的装备栏。就像游戏角色可以装备剑、盾、魔法一样,AI Agent可以通过Skills获得搜索网页、读写文件、调用API等各种能力。

💡 周星驰式吐槽理解

想象一下,你请了一个啥都不会的实习生。然后你给他装了个「会搜索」技能,他会谷歌了;再装个「会写代码」技能,他会编程了;再装个「会订外卖」技能...好了,他现在会摸鱼了。这就是Skills——给AI装外挂

🧠 核心原理

Skills是一套声明式工具系统,包含三个核心部分:

当AI遇到需要外部能力的任务时:

  1. 读取 SKILL.md 理解技能用途
  2. 判断当前任务是否需要该技能
  3. 调用对应的工具函数
  4. 获取结果并继续对话

⚡ OpenClaw实战:配置Skills

在OpenClaw中,Skills配置在 openclaw.json 中:

{
  "agents": {
    "defaults": {
      "skills": ["web_search", "browser", "exec"]
    },
    "list": [
      {
        "name": "coder",
        "skills": ["exec", "read", "edit", "browser"]
      },
      {
        "name": "researcher", 
        "skills": ["web_search", "web_fetch", "read"]
      }
    ]
  }
}

每个Agent可以有自己的技能集,实现专业化分工

🛠️ 代码示例:创建一个自定义Skill

1. 创建技能目录结构:

mkdir -p ~/.openclaw/skills/my_tool

2. 编写 SKILL.md(技能说明书):

# my_tool

## 功能
发送消息到指定频道

## 何时使用
当用户要求发送通知、公告或提醒时

## 工具

### send_message
发送消息

参数:
- channel: 频道ID
- message: 消息内容

3. 编写工具代码(Python):

# ~/.openclaw/skills/my_tool/index.py
from openclaw import tool

@tool
def send_message(channel: str, message: str) -> str:
    """发送消息到指定频道"""
    # 实际发送逻辑
    return f"消息已发送到 {channel}"

4. 重启OpenClaw,新Skill即可使用!

🔥 热门Skills推荐

  • web_search:DuckDuckGo搜索,查资料必备
  • web_fetch:抓取网页内容,提取文章
  • browser:浏览器自动化,操作网页
  • exec:执行系统命令,万能利器
  • read/edit:文件读写,代码开发必备
  • canvas:HTML5画布,生成图表图像