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 的本质工作流:
- User: 提问。
- LLM: 思考,决定是否调用工具。如果不调用,直接回答;如果调用,输出 Tool Use Request (JSON)。
- Client (你写的程序): 捕获这个 JSON,执行真正的代码 (比如查数据库)。
- Client: 将执行结果 (Tool Result) 再次发给 LLM。
- 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。