手把手教你写一个 AI Skill,让 AI 真正学会你的工作流
1. 引言
你是否曾经幻想过,让 AI 像你的得力助手一样,不仅会聊天,还能自动执行你日常工作中那些繁琐、重复但又必不可少的流程?比如自动整理周报、批量处理客户邮件、或者按照特定格式生成项目文档?
传统的 AI 对话只能做到“一问一答”,它记不住你的业务逻辑,更不会主动执行多步骤操作。而 AI Skill 的出现,正是为了解决这个问题——它允许你将一个完整的工作流“教”给 AI,让 AI 能够按照你预设的步骤,自动完成一系列任务。
本文将手把手带你从零开始,编写一个属于自己的 AI Skill。无论你是开发者还是业务人员,都能轻松上手。
下面这张图直观地展示了 AI Skill 的核心架构——Prompt(大脑)、Tools(手脚)和流程逻辑如何协同工作:
2. 什么是 AI Skill?
简单来说,AI Skill 是一套结构化的指令集,它定义了 AI 在特定场景下应该如何思考、如何行动、以及如何与外部工具交互。
你可以把它理解为一个“AI 的 SOP(标准作业程序)”。一个典型的 AI Skill 包含以下几个核心要素:
- 触发条件:什么情况下启动这个 Skill(例如用户说“帮我写周报”)。
- 上下文与记忆:Skill 需要知道哪些背景信息(例如你的团队名称、项目列表)。
- 执行步骤:AI 需要按顺序完成哪些操作(例如:收集数据 → 分析数据 → 生成报告)。
- 输出格式:最终结果应该以什么形式呈现(例如 Markdown 表格、JSON 数据、或直接发送到某个系统)。
下面这张流程图展示了 AI Skill 与传统 AI 对话的本质区别:
3. 准备工作:你需要什么?
在开始编写之前,请确保你具备以下条件:
- 一个支持 AI Skill 的平台:目前主流的 AI 应用平台(如 Coze、Dify、或企业自建的 AI Agent 平台)都支持创建自定义 Skill。本文将以一个通用的伪代码和 JSON Schema 为例,你可以轻松迁移到任何平台。
- 明确的工作流:想清楚你要自动化哪个流程。建议从一个不超过 5 个步骤的简单流程开始,例如“自动生成会议纪要”。
- (可选)API 密钥:如果你的 Skill 需要调用外部服务(如查询数据库、发送邮件),你需要准备好相应的 API 密钥。
下面是搭建 AI Skill 开发环境的完整架构图,帮助你快速理解各组件之间的关系:
4. 第一步:定义 Skill 的“大脑”——Prompt
AI Skill 的核心是一个精心设计的 System Prompt。这个 Prompt 就是 AI 的“大脑”,它告诉 AI 它的角色、目标、以及行为准则。
让我们以“自动生成周报”为例,编写一个基础的 System Prompt:
# 角色
你是一位专业的周报生成助手。
# 目标
根据用户提供的本周工作内容,生成一份结构清晰、重点突出的周报。
# 工作流程
1. **收集信息**:首先,向用户询问本周完成了哪些主要任务、遇到了哪些问题、以及下周的计划。
2. **结构化整理**:将收集到的信息按照“本周工作”、“存在问题”、“下周计划”三个板块进行整理。
3. **格式化输出**:使用 Markdown 格式输出周报,并在每个任务前加上优先级标签(P0/P1/P2)。
# 约束
- 不要编造用户未提及的信息。
- 如果用户提供的信息不足,主动提问,不要猜测。
- 语言风格保持专业、简洁。
关键点:这个 Prompt 定义了 AI 的行为边界和执行逻辑。它不再是泛泛的聊天,而是有明确目标的“工作模式”。
下面这张图展示了 System Prompt 在 AI Skill 中的核心地位——它如何控制 AI 的思考和行为:
5. 第二步:让 Skill 拥有“手脚”——工具调用
仅仅有 Prompt 还不够,AI 还需要“手脚”去执行实际操作。这就是 工具(Tools) 的作用。
工具可以是任何 API 接口,例如:
- 查询数据库:
SELECT * FROM tasks WHERE user_id = ? - 发送邮件:
POST /api/send_email - 读取文件:
GET /api/file/read - 调用其他 AI 模型:例如调用一个图片生成模型。
在定义 Skill 时,你需要为每个工具提供一个 JSON Schema 描述,让 AI 知道这个工具是干什么的、需要什么参数。
{
"name": "query_task_list",
"description": "从项目管理系统中查询用户本周的任务列表",
"parameters": {
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "用户的唯一标识"
},
"week_start": {
"type": "string",
"description": "本周开始日期,格式为 YYYY-MM-DD"
}
},
"required": ["user_id", "week_start"]
}
}
当 AI 认为需要查询任务时,它会自动生成一个符合此 Schema 的 JSON 请求,平台会负责执行这个请求并将结果返回给 AI。
下面这张图展示了工具调用在 AI Skill 中的完整工作流程——从 AI 决策到工具执行再到结果返回:
6. 第三步:串联流程——编写 Skill 的逻辑
现在,我们把 Prompt 和 Tools 组合起来,形成一个完整的执行逻辑。这通常通过一个状态机或流程图来实现。
一个简单的周报 Skill 流程图如下:
在代码层面,你可以用类似以下的结构来定义这个流程(伪代码):
# 伪代码示例
class WeeklyReportSkill:
def __init__(self):
self.prompt = load_prompt("weekly_report.md")
self.tools = [QueryTaskListTool(), SendEmailTool()]
def run(self, user_input):
# 1. 初始化 AI 上下文
context = {"role": "system", "content": self.prompt}
context.append({"role": "user", "content": user_input})
# 2. 循环执行,直到 AI 输出最终结果
while True:
response = ai_chat(context, tools=self.tools)
if response.has_tool_call():
# 3. 执行工具调用
tool_result = execute_tool(response.tool_call)
context.append({"role": "tool", "content": tool_result})
else:
# 4. 输出最终结果
return response.content
7. 实战:编写一个“会议纪要生成器” Skill
让我们通过一个更具体的例子来巩固知识。假设我们要创建一个“会议纪要生成器” Skill。
目标:用户提供会议录音的文字稿,AI 自动生成结构化的会议纪要。
步骤 1:定义 Prompt
# 角色
你是一位高效的会议记录员。
# 目标
将用户提供的会议录音文字稿,整理成一份包含“会议主题”、“参会人”、“讨论要点”、“待办事项”的会议纪要。
# 工作流程
1. **提取主题**:从文字稿开头或高频词汇中,推断会议主题。
2. **识别参会人**:从对话中提取发言人的名字。
3. **总结讨论要点**:将对话内容归纳为 3-5 个核心要点,每个要点用一句话概括。
4. **列出待办事项**:识别所有包含“需要做”、“负责”、“跟进”等关键词的句子,整理成待办列表,并明确负责人。
5. **格式化输出**:使用以下 Markdown 模板输出:
## 会议纪要
**会议主题**:{主题}
**日期**:{日期}
**参会人**:{人名列表}
### 讨论要点
1. {要点一}
2. {要点二}
### 待办事项
| 事项 | 负责人 | 截止日期 |
|------|--------|----------|
| {事项} | {人名} | {日期} |
步骤 2:定义工具(可选)
如果这个 Skill 需要自动发送邮件,我们可以定义一个 send_email 工具。
步骤 3:测试与迭代
将一段真实的会议录音文字稿输入给这个 Skill,检查输出结果。你会发现,AI 能够很好地理解上下文,并按照你设定的模板输出。如果结果不理想,只需调整 Prompt 中的描述即可。
8. 进阶技巧:让 Skill 更“聪明”
- 使用 Few-shot 示例:在 Prompt 中给 AI 提供 1-2 个输入输出的示例,能显著提升其表现。
- 引入记忆机制:让 Skill 记住上一次对话的上下文,实现多轮交互。例如,周报 Skill 可以记住你上周的周报内容。
- 错误处理:在 Prompt 中明确告诉 AI,当工具调用失败或信息不足时应该怎么做(例如:“如果查询不到数据,请告知用户并询问是否重试”)。
- 权限控制:为不同的 Skill 设置不同的访问权限,确保数据安全。
9. 总结
通过本文,你已经学会了如何从零开始构建一个 AI Skill。核心思想就是:用 Prompt 定义 AI 的“大脑”,用 Tools 赋予 AI “手脚”,再用流程逻辑将它们串联起来。
现在,你可以尝试分析一下自己日常工作中最耗时、最重复的那个流程,然后动手把它变成一个 AI Skill。当 AI 真正学会你的工作流时,你会发现,效率的提升是指数级的。
下一步,你可以尝试将你的 Skill 发布到团队或社区,让更多人受益。祝你在 AI 自动化的道路上越走越远!
更多推荐

所有评论(0)