- Published on
AI探秘:Skills 我懂你!
- Authors

- Name
- noodles
- 每个人的花期不同,不必在乎别人比你提前拥有
什么是 Skills
Skills 可以理解为一组可复用的“技能包”:把指令(prompt)、步骤模板、以及可选的脚本/资源(如规范文档、示例、工具说明)打包在一起,用来让模型在某类任务上表现更稳定、更专业。
在一些平台(例如 Claude 的相关能力形态)里,Skills 可能支持被检索/选择并按需注入上下文;而在通用的 API 场景中,你也可以通过“Skill 索引 + 路由选择 + 注入 system/developer 指令”来模拟同样的效果。
Skills 的工作原理
把 Skills 当成“可检索的说明书库”会更贴近工程实现。常见流程是:
- 建立 Skill 索引(摘要/标签)
- 每个 Skill 提供:名称、适用场景、输入输出格式、关键限制、示例问题等(尽量短)。
- 模型选择(选择最相关的 Skill)
- 根据用户任务,从索引中挑选 0~N 个相关 Skill。
- 按需注入(渐进加载)
- 先注入 Skill 的精简版指令;必要时再追加更完整的模板/资源片段。
- 执行与校验
- 模型根据当前上下文中“可见”的 Skill 内容完成输出;缺少关键信息时先澄清。
关键限制:模型只能依据当前上下文中可见的信息行动。Skill 没被注入,就等于“不会用”。

Skills 的优点
- 提升特定任务表现:为文档写作、数据分析、客服话术等提供更稳定的结构与标准,弥补通用模型的“随性发挥”。
- 组织知识沉淀:把团队流程、最佳实践、制度规范封装成技能包,实现标准化与复用。
- 易于定制:多数情况下用 Markdown/文本就能编写与迭代,不一定需要复杂工程。
- 减少上下文占用:通过“索引→命中→再加载详情”的方式,只在需要时注入内容,节省 token 与成本。
Skills 编写建议(通用模板)
一个好用的 Skill 通常包含这些字段(可以写成 Markdown 文件):
- Skill 名称 / 角色定位
- 目标(要解决什么问题)
- 适用范围 / 不适用范围(避免被滥用)
- 输入要求(需要哪些字段/上下文)
- 输出格式(固定结构,便于复核与下游消费)
- 规则与边界
- 不确定就先问最少必要问题
- 不要编造数据/列名/来源
- 步骤要可执行、可检查(编号、检查点)
- 示例(1~3 条)
Skills 使用(在通用 API 中模拟“技能包注入”)
下面示例演示一种最小实现:把某个 Skill 内容作为 system 指令注入,让模型按该 Skill 的规范输出。实际项目里通常会在此之前加一层“路由选择”(根据用户问题挑选合适 Skill)。
const OpenAI = require("openai");
// 示例 Skill:把用户的筛选条件转换为 Excel 可执行步骤(也可替换成你的 Skill 内容)
const excelSkill = `
你是“Excel 数据筛选助手”这个 Skill。
目标:把用户的筛选条件转换成可执行步骤(或公式 / PowerQuery 思路),并给出清晰操作路径。
规则:
1) 先复述筛选条件(避免误解)
2) 给出 Excel UI 操作步骤(筛选、数字筛选、大于...)
3) 再给一个可选方案:用公式/高级筛选/PowerQuery 的思路(不要求一定有数据表)
4) 若缺少关键信息(列名、表头行、数据范围),先提出最少必要的澄清项
5) 不要编造列名或数据;无法确定时明确说明并提问
输出格式:
- 条件确认:
- 方案A(界面操作):
- 方案B(公式/高级筛选/PowerQuery,可选):
- 需要你补充的信息(如有):
`.trim();
async function runWithSkillPrompt(skillContent, userQuery) {
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
const completion = await client.chat.completions.create({
model: "gpt-4o-mini", // 替换为你账号可用的模型
temperature: 0.2,
messages: [
{ role: "system", content: skillContent },
{ role: "user", content: userQuery },
],
});
// 不同 SDK/版本返回结构可能不同;核心取 message.content
return completion.choices?.[0]?.message?.content ?? "";
}
Skills和MCP对比
Skills(技能)
- 面向任务/用户意图的能力封装:例如“生成周报”“报销审核”“查库存并下单”
- 重点是:输入输出、触发方式、业务流程与体验
MCP(协议/连接层)
- 面向接入与标准化:把外部的工具、数据源、服务用统一方式暴露给模型
- 重点是:工具/资源描述、上下文传递、权限与调用规范
参考
What are Skills? Skills compares to prompts, Projects, MCP, and subagents