构建AI Agent技能市场:50+技能模块的架构设计与实践
前言
当AI Agent需要处理越来越多样的任务时,一个关键问题浮现:如何让Agent具备可扩展的技能体系?
本文介绍一个AI Agent技能市场的架构设计——50+个垂直领域技能模块,从股票分析到PPT生成,从代码审查到梦境解读。核心理念是:技能即Markdown,市场即目录。
架构总览
skills/
├── skill-creator/ # 元技能:创建新技能
├── coding-agent/ # 代码开发工作流
├── stock-analysis-skill/ # 股票分析
├── blog-writer/ # 博客写作
├── ppt/ # PPT生成
├── image-generation/ # 图像生成
├── video-understand/ # 视频理解
├── web-search/ # 网页搜索
├── TTS/ # 文字转语音
├── ASR/ # 语音转文字
├── finance/ # 金融分析
├── multi-search-engine/ # 多搜索引擎
└── ... (50+ skills)
每个技能是一个独立目录,核心是 SKILL.md 文件——用Markdown描述技能的触发条件、工作流程和输出格式。
技能的标准化格式
SKILL.md 结构
---
name: skill-name
description: 触发条件和功能描述
---
## When to Use
用户什么时候需要这个技能
## Architecture
技能的架构设计
## Quick Reference
| Topic | File |
| ------- | ------ |
| 工作流 | workflow.md |
| 模板 | template.md |
## Core Rules
1. 规则一
2. 规则二
关键设计:
- YAML frontmatter:定义技能名称和触发描述
- Markdown body:详细的工作流说明
- 辅助文件:模板、参考文档、配置文件
触发机制
技能通过 description 字段被Agent自动匹配:
description: >
Create new skills, modify and improve existing skills,
and measure skill performance. Use when users want to
create a skill from scratch, edit, or optimize an existing skill.
Agent根据用户意图,自动选择最匹配的技能。
元技能:skill-creator
最精妙的设计是 skill-creator——一个”用来创建技能的技能”。
创建流程
1. 捕获意图 (Capture Intent)
├── 这个技能要做什么?
├── 什么时候触发?
├── 输出格式是什么?
└── 需要测试用例吗?
2. 访谈与研究 (Interview & Research)
├── 边界情况
├── 输入/输出格式
├── 成功标准
└── 依赖关系
3. 编写 SKILL.md
├── name: 技能标识符
├── description: 触发条件
├── compatibility: 工具依赖
└── 工作流详情
4. 测试与迭代
├── 创建测试提示词
├── 运行评估
├── 收集反馈
└── 重写优化
核心理念
> "技能不是写出来的,是迭代出来的。"
1. 写草稿 → 2. 测试 → 3. 评估 → 4. 重写 → 5. 扩大规模
这个循环确保技能质量持续提升。
技能分类
开发类
| 技能 | 功能 | 关键特性 |
|---|---|---|
| coding-agent | 代码开发工作流 | 计划→实现→验证→测试 |
| skill-creator | 创建新技能 | 元技能,迭代优化 |
| skill-vetter | 审核技能质量 | 质量把关 |
| skill-finder-cn | 搜索中文技能 | 技能发现 |
内容创作类
| 技能 | 功能 | 关键特性 |
|---|---|---|
| blog-writer | 博客写作 | 风格指南+示例 |
| content-strategy | 内容策略 | 营销内容规划 |
| seo-content-writer | SEO写作 | 搜索引擎优化 |
| storyboard-manager | 故事板 | 视觉叙事 |
多媒体类
| 技能 | 功能 | 关键特性 |
|---|---|---|
| image-generation | 图像生成 | DALL-E/Midjourney |
| image-understand | 图像理解 | 视觉分析 |
| video-generation | 视频生成 | 文生视频 |
| video-understand | 视频理解 | 视频分析 |
| TTS | 文字转语音 | 语音合成 |
| ASR | 语音转文字 | 语音识别 |
数据分析类
| 技能 | 功能 | 关键特性 |
|---|---|---|
| stock-analysis-skill | 股票分析 | 技术指标+基本面 |
| finance | 金融分析 | 财务数据处理 |
| charts | 图表生成 | 数据可视化 |
| xlsx | Excel处理 | 电子表格操作 |
搜索与研究类
| 技能 | 功能 | 关键特性 |
|---|---|---|
| web-search | 网页搜索 | 信息检索 |
| multi-search-engine | 多搜索引擎 | 聚合搜索 |
| aminer-academic-search | 学术搜索 | 论文检索 |
| aminer-daily-paper | 每日论文 | 学术追踪 |
生活服务类
| 技能 | 功能 | 关键特性 |
|---|---|---|
| dream-interpreter | 梦境解读 | 心理分析 |
| gift-evaluator | 礼物推荐 | 智能推荐 |
| mindfulness-meditation | 正念冥想 | 健康指导 |
| get-fortune-analysis | 运势分析 | 趣味分析 |
coding-agent:代码开发工作流
以 coding-agent 为例,展示技能的详细设计:
工作流文件
coding-agent/
├── SKILL.md # 主技能文件
├── planning.md # 任务拆解
├── execution.md # 执行流程
├── verification.md # 验证检查
├── state.md # 多任务状态管理
├── memory-template.md # 用户偏好模板
└── criteria.md # 质量标准
核心规则
### 1. 先查记忆
读取 ~/code/memory.md 获取用户偏好
### 2. 用户控制执行
- 提供指导,不自动执行
- 子代理委托需用户明确请求
### 3. 先计划后编码
- 将请求拆解为可测试的步骤
- 每步独立可验证
### 4. 验证一切
| 之后 | 做什么 |
| ------ | -------- |
| 每个函数 | 建议运行测试 |
| UI变更 | 建议截图 |
| 交付前 | 建议完整测试套件 |
### 5. 按需存储偏好
| 用户说 | 动作 |
| -------- | ------ |
| "记住我偏好X" | 添加到memory.md |
| "永远不要做Y" | 添加到Never部分 |
技能市场设计原则
1. 技能即Markdown
# 不需要代码,不需要API
# 只需要清晰的Markdown描述
---
name: my-skill
description: 当用户想要...时使用
---
优势:
- 低门槛:任何人可以创建
- 可读性:人类和AI都能理解
- 版本控制:Git友好
2. 模块化设计
每个技能独立目录,互不干扰:
skills/
├── skill-a/
│ ├── SKILL.md
│ └── resources/
├── skill-b/
│ ├── SKILL.md
│ └── templates/
3. 元技能驱动
skill-creator 让技能系统能够自我进化:
用户需求 → skill-creator → 新技能 → 测试 → 优化 → 发布
4. 评估驱动迭代
1. 创建测试提示词
2. 运行Agent+技能
3. 用户评估结果
4. 定量+定性分析
5. 重写优化
6. 扩大规模
如何创建一个技能
步骤1:明确意图
问自己:
1. 这个技能要解决什么问题?
2. 用户会怎么说来触发它?
3. 输出应该是什么格式?
步骤2:编写SKILL.md
---
name: my-awesome-skill
description: >
当用户提到"数据分析"、"可视化"、"图表"时使用。
即使用户没有明确要求"技能",只要涉及数据展示就应该触发。
---
## When to Use
用户需要将数据转化为可视化图表时。
## Workflow
1. 询问数据来源
2. 确定图表类型
3. 生成代码
4. 渲染输出
## Output Format
- 图片文件 (PNG/SVG)
- 交互式HTML (可选)
步骤3:添加辅助文件
my-awesome-skill/
├── SKILL.md
├── templates/
│ ├── bar-chart.py
│ ├── line-chart.py
│ └── pie-chart.py
└── examples/
└── sample-data.csv
步骤4:测试与迭代
# 使用skill-creator运行评估
# 收集用户反馈
# 优化SKILL.md描述
# 重复直到满意
技能触发优化
问题:技能”欠触发”
Agent有时候不会自动使用相关技能。
解决方案:描述要”激进”
# ❌ 不好的描述
description: 用于生成图表
# ✅ 好的描述
description: >
用于生成图表。当用户提到"数据"、"可视化"、"图表"、
"柱状图"、"折线图"、"饼图"、"展示"、"分析"时,
一定要使用这个技能,即使用户没有明确说"图表"。
触发关键词覆盖
description: >
[核心功能]
Make sure to use this skill whenever the user mentions
[关键词1], [关键词2], [关键词3], or wants to [动作],
even if they don't explicitly ask for [技能名].
技能市场生态
技能分类体系
├── 开发类 (Development)
│ ├── coding-agent
│ ├── fullstack-dev
│ └── ...
├── 内容类 (Content)
│ ├── blog-writer
│ ├── seo-content-writer
│ └── ...
├── 多媒体类 (Multimedia)
│ ├── image-generation
│ ├── video-understand
│ └── ...
├── 数据类 (Data)
│ ├── stock-analysis
│ ├── finance
│ └── ...
└── 生活类 (Lifestyle)
├── dream-interpreter
├── gift-evaluator
└── ...
技能发现机制
skill-finder-cn: 搜索中文技能
skill-vetter: 审核技能质量
skill-creator: 创建新技能
这三个”元技能”构成了技能市场的管理基础设施。
实践建议
1. 从小开始
# 先做一个最小可行技能
---
name: hello-skill
description: 当用户说"你好"时,回复"世界"
---
2. 迭代优化
1. 写草稿
2. 测试3-5个案例
3. 收集反馈
4. 重写
5. 扩大测试集
3. 描述要详细
# ❌ 太简单
description: 帮用户写代码
# ✅ 足够详细
description: >
Coding workflow with planning, implementation, verification,
and testing for clean software development. Use when users
explicitly request code implementation, debugging, or
code review. Provides planning, execution guidance, and
verification workflows.
4. 模块化拆分
# 一个技能做一件事
# ❌ 万能技能
description: 帮用户做任何事
# ✅ 专注技能
description: 帮用户生成股票技术分析图表
总结
| 设计原则 | 实现方式 |
|---|---|
| 技能即Markdown | SKILL.md + 辅助文件 |
| 模块化设计 | 独立目录,互不干扰 |
| 元技能驱动 | skill-creator 自我进化 |
| 评估驱动迭代 | 测试→评估→优化循环 |
| 低门槛创建 | 不需要代码,只需Markdown |
这个技能市场框架证明:AI Agent的能力不是写死的,而是可以动态扩展的。通过标准化的技能描述和元技能驱动的创建流程,任何人都可以为Agent添加新能力。
技能目录:
F:\202605\skills,50+个技能模块,涵盖开发、内容、多媒体、数据、生活等领域。
Stay tuned! 🚀