技能创造工作坊
引导用户(和你自己!)通过迭代共同设计来创造新技能。
快速开始:验证问题
在创建任何技能之前,验证它是否真的需要:
代理:“你想为[X]创建一个技能。让我检查一下是否真的需要这个技能。
**三个测试**:
1. 它是迭代的吗?(多个来回周期?)
- ✓ 是 → 继续
- ✗ 否 → 可能只需要一个工具调用
2. 它是会话式的吗?(需要指导和反馈?)
- ✓ 是 → 继续
- ✗ 否 → 可能只是文档
3. 它是复杂的吗?(多步骤有决策?)
- ✓ 是 → 需要一个技能!
- ✗ 否 → 可能太简单了
基于[X],我的评估:[通过/不通过 + 理由]
我们应该继续创建技能吗?"
不需要技能的例子
❌ “总结论文” → 一个工具调用,没有迭代 ❌ “搜索论文” → 单次操作 ❌ “显示引用网络” → 可视化,不是工作流程 ❌ “获取论文元数据” → 数据检索
需要技能的例子
✅ “设置发现” → 迭代细化配置 ✅ “创建研究问题” → 指导多阶段过程 ✅ “设计新技能” → 协作设计工作流程 ✅ “优化搜索策略” → 测试-细化-测试周期
技能创造工作流程
第一阶段:了解工作流程
代理:“我们来映射工作流程。向我介绍一下:
1. 什么触发这个工作流程?(用户说什么/需要什么?)
2. 起始状态是什么?(用户有什么?)
3. 结束状态是什么?(他们之后有什么?)
4. 哪些是关键决策点?(他们在哪里需要指导?)
5. 常见问题是什么?(用户在哪里卡住?)
6. 通常需要多少次迭代?(一次?多次细化?)"
记录答案 - 这些将成为技能结构。
第二阶段:设计结构
所有技能的核心模式:
## 快速开始
- 最常见的场景(80%案例)
- 标准开场对话
- 快速将用户从开始 → 结束
## 诊断部分
- 不同起始点的决策树
- "如果用户有X → 做Y"
## 对话模式
- 模式1:[最常见的案例]
- 模式2:[常见变体]
- 模式3:[边缘案例]
## 快速参考卡
- 卡片1:[30秒内的关键概念]
- 卡片2:[另一个关键概念]
## 细化模式
- 问题1 → 修复
- 问题2 → 修复
## 故障排除
- 快速表格:问题 | 解决方案
代理验证结构:
代理:“基于你的工作流程,这是提议的结构:
[显示结构大纲]
是否涵盖了所有关键阶段?遗漏了什么吗?"
第三阶段:起草内容
写作原则:
-
行动优先,而不是哲学
- ❌ “理解关键词的重要性…”
- ✅ “问用户:‘什么术语描述你的主题?’”
-
对话片段,而不是指令
- ❌ “代理应该帮助用户细化他们的关键词”
- ✅ “代理:‘让我们测试这些关键词。我现在将运行发现。’”
-
具体例子,而不是一般建议
- ❌ “考虑各种方法”
- ✅ “选项A:将阈值提高到0.8”
-
可扫描的格式
- 使用表格、决策树、项目符号
- 短段落(最多3-4行)
- 清晰的标题
代理逐节起草:
代理:“让我们逐节起草。我来写,你来审查。
**第1节:快速开始**
[起草内容]
这样如何?太啰嗦了吗?遗漏了什么吗?"
第四阶段:编写 SKILL.md
模板结构:
---
name: [技能名称]
description: [工作流程的一行描述 - 它做什么,而不是它是什么]
---
# [技能名称]
[这个技能帮助什么]的2句概述
## 快速开始:[80%案例]
### 标准开场
代理:“[开场问题/声明]”
[最常见的对话流程]
---
## 诊断:[用户在哪里?]
[不同起始点的决策树]
---
## 对话模式
### 模式1:[名称]
[特定对话流程及特定对话]
### 模式2:[名称]
[另一个对话流程]
---
## 快速参考卡
### 卡片1:[主题]
[关键信息的可扫描格式]
---
## 细化模式
### 细化1:[问题]
**症状**:[用户报告的内容]
**修复**:[具体解决方案]
---
## 故障排除
| 问题 | 快速修复 |
|---------|-----------|
| [问题] | [解决方案] |
---
## 总结:代理的心理模型
[关键原则的要点]
第五阶段:测试技能
测试方法:
代理:“技能起草完毕!让我:
1. 将技能加载到我的上下文中
2. 假设你是一个有[场景]的用户
3. 按照技能的指导进行
4. 看看它是否真的有效
准备好了吗?给我一个测试场景。"
用户提供场景,代理使用技能进行角色扮演
测试后:
代理:“测试完成。我注意到:
✓ [什么做得好]
✗ [什么令人困惑/缺失]
? [什么不清晰]
基于此,需要的修复:
1. [具体更改]
2. [具体更改]
想再次细化和测试吗?"
第六阶段:根据反馈细化
常见的细化需求:
| 问题 | 修复 |
|---|---|
| 太啰嗦 | 削减50%,专注于行动 |
| 不清楚该说什么 | 添加对话片段 |
| 缺少决策逻辑 | 添加决策树 |
| 没有故障排除 | 添加问题/解决方案表 |
| 太抽象 | 添加具体例子 |
| 不能快速扫描 | 添加格式(表格,卡片) |
迭代细化:
代理:“让我细化[第X节]:
**之前**(太啰嗦):
[显示旧版本]
**之后**(简化):
[显示新版本]
更好吗?"
第七阶段:最终确定和部署
部署前检查清单:
代理:“在我们最终确定之前,让我们检查一下:
✓ 技能通过了3个测试吗?(迭代的,会话式的,复杂的)
✓ 快速开始涵盖了80%的案例吗?
✓ 对话模式准备好复制粘贴了吗?
✓ 有诊断的决策树吗?
✓ 有故障排除快速参考吗?
✓ 用真实场景测试过吗?
✓ 代理能在<2分钟内扫描并理解吗?
所有检查都通过了?让我们保存它!"
决策树:这需要一个技能吗?
用户需要帮助[X]
│
├─ 是一个工具调用吗? → ❌ 不需要技能
│ 例子:"总结论文" → 只需调用summarize_paper()
│
├─ 只是信息吗? → ❌ 不需要技能
│ 例子:"什么来源存在?" → 只需文档
│
├─ 是一个简单的序列吗? → ❌ 不需要技能
│ 例子:"下载然后处理" → 两个工具调用
│
└─ 是迭代的并且有决策吗? → ✓ 需要技能
例子:"设置发现" → 测试,分析,细化,重复
技能解剖参考
第1节:快速开始(必需)
目的:让代理在30秒内开始行动 内容:
- 标准开场(首先说什么)
- 最常见的对话流程
- 预期结果
长度:50-100行
第2节:诊断(必需)
目的:处理不同的起始点 内容:
- 2-3个问题以了解用户状态
- 决策树:“如果X → 做Y”
长度:30-50行
第3节:对话模式(必需)
目的:处理常见场景 内容:
- 3-4个特定对话流程
- 代理可以复制粘贴的实际对话
- 每个模式:触发器 → 对话 → 结果
长度:100-150行
第4节:快速参考卡(必需)
目的:快速查找关键概念 内容:
- 3-5张卡片
- 每张卡片:一个概念在<10行内
- 可扫描格式(项目符号,表格)
长度:50-75行
第5节:细化模式(必需)
目的:处理出错时的情况 内容:
- 3-5个常见问题
- 每个:症状 → 诊断 → 修复
- 具体,可操作的解决方案
长度:50-75行
第6节:故障排除(必需)
目的:快速修复已知问题 内容:
- 表格格式:问题 | 解决方案
- 5-10个条目
- 一行修复
长度:20-30行
第7节:高级(可选)
目的:边缘案例和深入研究 内容:
- 复杂场景
- 详细解释
- 可以使用<details>来折叠
长度:可变
好与坏的技能内容
❌ 坏:哲学性/指导性
## 理解关键词
关键词对于有效的搜索至关重要。代理应该帮助用户理解关键词需要平衡精确度和召回率。关键词优化有许多方法,代理应该引导用户探索这些选项。
为什么不好:告诉代理帮助,而不是如何帮助
✅ 好:行动聚焦/会话式
## 快速参考:关键词
代理:"让我们分两步构建你的关键词:
- 什么名词描述你的主题?[用户回答]
- 那个的技术术语是什么?[用户回答]
关键词:[组合它们]
让我们现在测试这些。"
**为什么好**:确切的说话词,具体步骤
---
### ❌ 坏:抽象原则
```markdown
## 源选择
代理应该帮助用户理解不同发现源之间的权衡,并引导他们做出关于哪些源最能服务于他们的研究需求的明智决定。
为什么不好:没有可操作的指导
✅ 好:具体建议
## 卡片:源选择
**默认建议**:
- CS/ML/AI → arxiv + semantic_scholar
- 医疗/生物 → pubmed + biorxiv
- 经济 → openalex + ssrn
**从2个源开始**,如果缺少论文,再添加更多。
为什么好:复制粘贴决策逻辑
测试清单
测试1:代理能快速理解吗?
- [ ] 1分钟内阅读快速开始
- [ ] 理解技能做什么
- [ ] 知道如何开始对话
测试2:代理能执行吗?
- [ ] 对话模式足够具体
- [ ] 决策树有清晰的逻辑
- [ ] 快速参考卡片可扫描
测试3:它能处理失败吗?
- [ ] 细化模式涵盖常见问题
- [ ] 故障排除表有真正的修复
- [ ] 代理知道何时卡住该怎么办
测试4:它精简吗?
- [ ] 没有哲学性漫谈
- [ ] 整个过程中行动聚焦
- [ ] 可扫描格式
- [ ] 总共<400行
测试5:角色扮演测试
- [ ] 代理加载技能
- [ ] 用户提供场景
- [ ] 代理可以使用技能执行工作流程
- [ ] 工作流程成功结束
技能细化模式
细化1:技能太抽象
症状:代理阅读技能但不知道说什么
修复:添加对话片段
代理:"[确切的说话词]"
[用户回应]
代理:"[接下来确切的说话词]"
细化2:技能太长
症状:>500行,代理失去焦点
修复:
- 削减哲学/背景 - 只保留行动
- 将高级内容移动到单独的文件
- 合并冗余部分
目标:<400行的主要技能
细化3:没有清晰的入口点
症状:代理不知道如何开始
修复:在快速开始中添加"标准开场"
### 标准开场
代理:“[每次都要说的第一件事]”
细化4:缺少决策逻辑
症状:代理猜测下一步该做什么
修复:添加决策树
检查[X]:
├─ 如果A → 这样做
├─ 如果B → 那样做
└─ 如果C → 做其他
细化5:没有故障排除
症状:代理出错时卡住
修复:添加带有真正修复的故障排除表
常见技能模式
模式1:设置工作流程
例子:research-discovery-setup, research-question-creation
结构:
- 快速开始:标准设置对话
- 诊断:不同的起始点
- 测试:尝试初始配置
- 细化:根据结果迭代
- 部署:最终确定并激活
模式2:优化工作流程
例子:keyword optimization, threshold tuning
结构:
- 基线:当前状态评估
- 测试:尝试一次改变
- 比较:之前与之后
- 迭代:重复直到最优
- 验证:最终检查
模式3:分析工作流程
例子:literature review, paper comparison
结构:
- 范围:分析什么
- 组织:按主题分组
- 比较:寻找模式/差距
- 综合:创建输出
- 审查:验证完整性
模式4:创造工作流程
例子:skill creation, research question design
结构:
- 验证:这需要被创造吗?
- 设计:结构和组件
- 起草:初始版本
- 测试:尝试一下
- 细化:根据测试改进
- 最终确定:锁定它
总结:元技能原则
什么是好技能:
- 验证它确实需要(通过3个测试)
- 行动聚焦(不是哲学性的)
- 对话模式(复制粘贴就绪)
- 可扫描(表格,树,卡片)
- 处理失败(细化+故障排除)
- 精简(<400行)
创建过程:
- 验证 → 设计 → 起草 → 测试 → 细化 → 部署
- 迭代直到代理能够顺利执行工作流程
- 在最终确定之前用真实场景测试
成功指标: 代理可以加载技能,阅读快速开始,并在第一次尝试时成功引导用户完成工作流程。