Skip to content

03. Claude Skills 与办公自动化

课时信息

📅 时间:课后 / 选修 🎯 目标:彻底理解 AI 如何调用外部工具 (Function Calling),掌握 Claude Skills 的定义规范

1. 什么是 Skills (Tools)?

大模型本质上是一个“文本生成器”,它不知道现在的天气,也没法帮你发邮件。 Skills (或称 Tools) 就是我们告诉 AI:“我有这些能力(函数),你需要的时候可以叫我。”

  • 没有 Skills:

    User: "北京今天天气怎么样?" AI: "我是个 AI,我不知道。(或者瞎编一个)"

  • 有 Skills:

    User: "北京今天天气怎么样?" AI (思考): "用户问天气 -> 我有一个 get_weather 函数 -> 调用 get_weather('Beijing')" Client (执行): 返回 {"temp": 25, "condition": "Sunny"} AI: "北京今天天气晴朗,气温 25 度。"


2. 核心流程:The Tool Loop

这就是 Agent 的本质工作流:

  1. User: 提问。
  2. LLM: 思考,决定是否调用工具。如果不调用,直接回答;如果调用,输出 Tool Use Request (JSON)。
  3. Client (你写的程序): 捕获这个 JSON,执行真正的代码 (比如查数据库)。
  4. Client: 将执行结果 (Tool Result) 再次发给 LLM。
  5. LLM: 根据结果,生成最终给用户的回答。

3. 如何定义 Skill (JSON Schema)

Claude 使用标准的 JSON Schema 来理解工具。一个工具通常长这样:

json
{
  "name": "get_weather",
  "description": "获取指定城市的实时天气",
  "input_schema": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "城市名称,如 Beijing"
      }
    },
    "required": ["city"]
  }
}

Vibecoding 心法

AI 不看代码实现,只看 Description。 你的 description 写得越清楚,AI 调用得越准。把 Description 当作你在教一个实习生怎么用这个函数。


4. 实战演示 (Claude Code)

claude 命令行中,其实内置了很多 Tools:

  • ls: 查看文件
  • grep: 搜索内容
  • bash: 执行命令

当你对它说 "把 src 目录下所有 .ts 文件列出来" 时,它就是在后台默默调用了 ls Skill。

Made with vitepress by williamwong