当前位置: 首页 > news >正文

skill如何设计

skill如何设计

设计有效的Agent Skill需要遵循简洁性、原子性、渐进式披露三大核心原则,通过三层结构化设计将技能拆分为元数据、核心流程和附加资源,确保每个技能专注单一任务且能按需加载。

以下是经过验证的设计方法与实战示例:

一、设计前的准备:明确技能边界

1. 技能审计与边界定义

  • 对现有流程进行全面盘点,识别可拆分的独立任务单元
  • 为每个技能问三个关键问题:
    • 它解决哪个"能力缺口"?
    • 这个能力出现在工作流的哪个阶段?
    • 当前技能边界是否只围绕一个主线任务?

反例:将"查询客户记录"和"更新客户状态"合并为"管理数据"技能
正例:拆分为"查询客户记录"和"更新客户状态"两个独立技能

2. 自由度设置原则

  • 高自由度:适用于创意任务(如内容创作),只给方向不给具体步骤
  • 中自由度:适用于有推荐做法但允许变通的任务(如代码重构)
  • 低自由度:适用于操作脆弱的任务(如金融计算、API调用),需严格步骤

示例

  • 前端设计技能:Choose a BOLD aesthetic direction: brutally minimal, maximalist chaos...(高自由度)
  • PDF表单填写技能:1. Run: python scripts/extract_form_fields.py input.pdf(低自由度)

二、Skill核心结构设计:三层架构

1. 最小可行结构(MVP)

my-skill/
└── SKILL.md  # 核心配置与流程文档

2. 完整结构(按需扩展)

my-skill/
├── SKILL.md      # 核心说明文档(必选)
├── scripts/      # 自动化脚本目录(可选)
│   ├── run.sh    # 一键执行脚本
│   └── check.py  # 质量校验脚本
├── templates/    # 输出模板目录(可选)
│   └── report.md # 标准化输出模板
└── references/   # 参考资源目录(可选)└── playbook.md # 操作手册、规范参考

三、SKILL.md编写规范:从元数据到核心流程

1. YAML元数据(必填)

name: "image-generator"  # 64字符内,小写字母/数字/连字符
description: "根据用户需求生成图片。"  # 1024字符内,明确触发场景
version: 1.0
trigger: ["生成图片", "制作海报", "设计配图"]  # 触发关键词

命名规范
analyzing-sales-data(动名词形式)
helper(过于通用)

2. 核心内容编写(Markdown正文)

极简指导型示例(写作规范Skill)

## 指令:公众号写作规范
此技能用于确保AI生成内容符合品牌调性。**核心原则**:
1. **避免AI腔**:禁用"综上所述"、"在当今时代"等套路表达
2. **真实案例**:必须基于真实数据和行业案例
3. **结构清晰**:每段≤3句,关键点加粗**执行流程**:
1. 接收用户主题和brief
2. 检索相关行业数据和案例
3. 生成3个选题方向供确认
4. 根据确认选题撰写初稿
5. 三遍审校:事实核查→风格优化→细节打磨

工具脚本型示例(PDF表单处理Skill)

## 指令:PDF表单处理
此技能用于提取PDF表单字段并填写表单。**工作流程**:
1. **解析输入**:确认PDF路径和输出路径
2. **提取字段**:运行`python scripts/extract_form_fields.py input.pdf`
3. **收集值**:向用户确认所有字段值
4. **填写表单**:运行`python scripts/fill_form.py input.pdf output.pdf --data fields.json`**输出规范**:
- 成功:`PDF表单已成功填写并保存至:{output_path}`
- 失败:`{"error": "字段{field_name}不存在"}`

四、设计质量保障:避免常见陷阱

1. 三大质量校验原则

  • 能否减少重复Prompt?无需额外解释上下文,直接调用即可执行
  • 能否保证输出一致性?有固定输出结构和校验规则
  • 能否应对异常情况?针对工具故障、权限不足有明确兜底方案

2. 渐进式披露实践

  • 第一层:技能目录(~100 tokens)— Agent启动时只加载name和description
  • 第二层:技能说明书(<5000 tokens)— 技能触发时加载SKILL.md
  • 第三层:技能资源包(按需加载)— 仅在需要时加载scripts/和references/

3. 200行规则与冷启动测试

  • SKILL.md不超过200行,超出必须拆分或迁移内容
  • 冷启动测试:清空会话,仅激活某一个技能,统计首次加载总行数
  • 将"冷启动上下文≤500行"作为红线阈值

五、实战案例:数据分析Skill设计

需求:让AI分析用户流失数据并生成热力图

Skill设计

name: "user-churn-analysis"
description: "分析用户流失数据,识别高流失率渠道和用户行为共性,生成热力图对比数据。"
trigger: ["分析流失率", "用户流失分析", "churn analysis"]## 指令:用户流失分析
此技能用于分析用户流失数据并生成可视化报告。**输入要求**:
- CSV文件路径(必须包含:user_id, channel, behavior_data, churn_status)
- 分析周期(默认上周)
- 对比周期(默认上月)**执行流程**:
1. **数据验证**:- 检查CSV格式和必要字段- 验证时间范围有效性2. **核心分析**:- 按渠道计算流失率并排序- 识别Top 3高流失率渠道- 分析流失用户行为共性(使用`scripts/behavior_analysis.py`)3. **可视化生成**:- 创建流失率热力图(使用`scripts/heatmap_generator.py`)- 生成对比报告(包含环比变化)**输出规范**:
- 成功:包含流失率数据表、热力图和关键发现的Markdown报告
- 失败:`{"error": "缺少必要字段:{field_name}"}`

附加文件

  • scripts/behavior_analysis.py:分析用户行为模式
  • scripts/heatmap_generator.py:生成热力图
  • templates/report.md:标准化报告模板
  • references/data_schema.md:数据格式说明

六、设计流程总结

  1. 明确场景:确定技能解决的具体业务问题
  2. 选择模式:根据任务复杂度选择五种结构模式之一
  3. 写Description:用100字内清晰描述技能功能和触发条件
  4. 写核心流程:按步骤说明执行逻辑,控制在200行内
  5. 补充资源:将详细说明、脚本、模板放入对应目录
  6. 测试迭代:通过冷启动测试和实际调用验证效果

关键提醒:记住你在写的是"给AI的操作手册",不是给人看的文档。使用祈使句("提取文本"而非"我将提取"),假设AI已具备基础能力,只补充它不知道的业务规则。

高质量的Skill设计能让AI从"偶尔惊艳"变为"稳定可靠",真正成为团队工作流的一部分,而不是一个孤立的聊天玩具。当开始像设计系统架构那样设计Skills,你的Agent将摆脱对人工干预的依赖,实现从"信息获取"到"决策落地"的全流程自主。