skill 定义 + 多个skill 协作

skill是一个可复用的能力模块,包含完成某类任务所需的知识、流程、工具调用方式和约束。

多个 skill 可以通过 任务分解 + 编排(orchestration)+ 信息传递 协作完成一个完整开发任务。


1. Skill 的定义

一个 skill 可以抽象为:

ini 复制代码
Skill = 能力描述 + 输入 + 输出 + 工具 + 流程 + 约束

例如:

需求分析 Skill

diff 复制代码
名称:
requirement-analysis

职责:
- 分析用户需求
- 输出用户故事
- 提取业务规则
- 生成验收标准

输入:
用户需求文本

输出:
requirements.md

架构设计 Skill

makefile 复制代码
名称:
architecture-design

职责:
- 设计系统架构
- 技术选型
- 模块划分

输入:
requirements.md

输出:
architecture.md

编码 Skill

makefile 复制代码
名称:
backend-development

职责:
- 编写后端代码
- 创建 API
- 数据库实现

输入:
architecture.md

输出:
source code

测试 Skill

makefile 复制代码
名称:
testing

职责:
- 编写测试
- 执行测试
- 分析失败原因

输入:
source code

输出:
test report

2. 多个 Skill 如何协作

通常有一个 Orchestrator(调度器 / Agent Manager)

结构类似:

markdown 复制代码
                 用户需求
                    |
                    v
              Orchestrator
                    |
     --------------------------------
     |              |              |
     v              v              v

需求分析Skill   架构Skill       UI设计Skill

     |              |              |
     -------------------------------
                    |
                    v

              开发Skill

                    |
                    v

              测试Skill

                    |
                    v

              发布Skill

3. 一个完整开发任务示例

假设:

开发一个电商订单系统

Step 1:需求 Skill

输入:

复制代码
我要开发订单系统

执行:

复制代码
requirement-analysis skill

输出:

markdown 复制代码
features:
  - 创建订单
  - 支付
  - 查询订单
  - 取消订单

roles:
  - 用户
  - 管理员

Step 2:架构 Skill

读取需求:

复制代码
architecture-design

生成:

复制代码
订单服务
支付服务
库存服务
数据库设计
API规范

例如:

bash 复制代码
Order Service

POST /orders
GET /orders/{id}

Database:

orders
order_items
payments

Step 3:开发 Skill

根据架构:

复制代码
backend-development

执行:

lua 复制代码
create controller
create service
create repository
create database migration

输出:

go 复制代码
src/
 ├── order/
 │    ├── controller.go
 │    ├── service.go
 │    └── repository.go

Step 4:测试 Skill

读取代码:

复制代码
testing

生成:

go 复制代码
order_test.go

测试:
✓ 创建订单
✓ 重复支付
✓ 库存不足

Step 5:DevOps Skill

负责:

复制代码
dockerize
CI/CD
deployment

输出:

复制代码
Dockerfile
github-actions.yml
k8s deployment.yaml

4. Skill 协作的关键机制

① 输入输出契约(Contract)

每个 skill 不应该随意输出。

例如:

需求 Skill:

输入:

json 复制代码
{
 "request":"开发订单系统"
}

输出:

json 复制代码
{
 "requirements":"requirements.md"
}

架构 Skill 只依赖:

复制代码
requirements.md

这样可以替换 skill。

例如:

markdown 复制代码
Java架构Skill
        |
        v
Spring Boot开发Skill

换成:

markdown 复制代码
Go架构Skill
        |
        v
Go开发Skill

上层不用变化。


② Skill Pipeline

简单任务:

css 复制代码
A → B → C

例如:

复制代码
需求分析
   |
架构设计
   |
编码
   |
测试

适合:

  • CRUD
  • API 开发
  • 自动生成项目

③ DAG 工作流

复杂任务:

lua 复制代码
          需求
            |
      -------------
      |           |
   后端设计     前端设计
      |           |
      ------ ------
            |
          集成
            |
          测试

例如:

前端和后端可以并行。


④ 多 Agent 协作

每个 skill 可以对应一个 Agent:

lua 复制代码
Agent Manager

 |
 |---- Product Agent
 |
 |---- Architect Agent
 |
 |---- Developer Agent
 |
 |---- QA Agent
 |
 |---- Security Agent

它们通过共享 Workspace:

css 复制代码
workspace/

 requirements.md
 architecture.md
 src/
 tests/

交换信息。


5. 一个实际的 Skill 配置例子

类似:

yaml 复制代码
skills:

- name: requirement-analysis
  description: 分析产品需求
  input:
    - user_request
  output:
    - requirements.md


- name: backend-dev
  description: 后端开发
  input:
    - architecture.md
  tools:
    - vscode
    - git
    - terminal
  output:
    - code


- name: qa
  description: 自动测试
  input:
    - code
  output:
    - report

6. Skill 和普通工具的区别

Tool Skill
定位 执行动作 完成能力
例子 调用 GitHub API 完成代码提交流程
粒度 较小 较大
是否有流程 通常没有
是否组合

例如:

工具:

scss 复制代码
git.commit()

Skill:

markdown 复制代码
release-management

流程:
1. 检查代码
2. 运行测试
3. 创建版本
4. 提交tag
5. 发布

7. 一个成熟 AI 编程系统的 Skill 架构

markdown 复制代码
                 User
                   |
              Planner Agent
                   |
          Task Decomposition
                   |
        ---------------------
        |        |          |
        v        v          v

 Product   Architect   Developer
 Skill       Skill       Skill

        |        |          |

        ---------------------
                   |
              Integration
                   |
                QA Skill
                   |
             Deployment Skill

核心思想:

Skill 不负责"整个任务",只负责一个专业领域;Orchestrator 负责把多个 skill 组合成完整交付流程。

如果用于 AI 软件开发,通常会设计:

  • Product skill(需求)
  • Architecture skill(架构)
  • Coding skill(实现)
  • Review skill(代码审查)
  • Testing skill(测试)
  • DevOps skill(部署)
  • Security skill(安全扫描)

这些 skill 通过共享上下文和明确输入输出协议协作,就能形成一个类似"AI 软件团队"的开发系统。

相关推荐
甲维斯9 分钟前
浪费时间!DeepSeek 4.1 Flash
人工智能
tianxuanjg16 分钟前
工业/协作机器人研发采购指南:如何适配新品迭代的CNC加工合作
人工智能·经验分享·机器人·无人机·材质
醍醐实验室17 分钟前
视觉投影层(Projector)的几何变换:从 Linear 到 C-Abstractor 的信息压缩
人工智能·c-abstractor
举个栗子。17 分钟前
Generative AI for Beginners:微软官方 21 课生成式 AI 入门教程,从零掌握 AI 应用开发
人工智能·microsoft
科技苑17 分钟前
日常用的 prompt词汇集指南
人工智能·prompt
AIwenIPgeolocation21 分钟前
告别“数据孤岛”:可信数据空间如何打通产业链、城市群?
大数据·人工智能
七夜zippoe22 分钟前
AI Agent 工程化落地实战(01):从 ChatBot 到自主智能体的范式跃迁
人工智能·ai·agent·chatbot·自主智能体
云杂项25 分钟前
人工智能:数据与模型安全(个人笔记)
人工智能·安全
Allen_LVyingbo26 分钟前
2026医疗AI编程:医院信息工程部规模化编程与代码审核路径(上)
网络·人工智能·cnn·transformer·知识图谱·ai编程