Agent Skill小白入门蓝皮书

前言

Skill,顾名思义,就是技能的意思。在正式介绍 Skill 之前,可以想象一下骑自行车。这就是”技能(Skill)”的本质 —— 将复杂的、需要逐步推理的任务,封装成一套可以自动执行的流程。

人类其实就是一个超级 Agent。让我们用 AI 的视角重新审视这个过程:人脑 = 大语言模型(LLM)

人类大脑的工作方式,和 Agent 惊人地相似:

现在,我们可以正式定义了:Agent Skill,是一套标准化的能力封装,它将复杂的、需要多步推理和工具调用的任务,打包成一个可以直接使用的”技能包”。

一个 Skill 通常是以一个文件夹的形式存在的,文件夹的目录结构如下:

1
2
3
4
5
riding-skill/
├── SKILL.md # 必须:Skill 的定义、执行流程(告诉LLM,如何执行这个 Skill)
├── scripts/ # 可选:Skill 中可能用到的脚本(LLM 的“手脚”)
├── assets/ # 可选:Skill 中可能用到的静态资源(也是LLM 的“手脚”)

举个例子

为了给大家一个更直观的展示,这里给大家展示一个小示例:一个「两数相加的 Skill 」

1
2
3
4
two-numbers-sum/
├── SKILL.md
├── scripts/
├── add_numbers.py

SKILL.md 文件内部主要包含两部分:

  1. 元信息(Metadata):告诉 Agent 这个 Skill 是什么,何时使用

  2. name:技能名称

  3. description:对技能功能的描述

  4. 操作流程(Steps):告诉 Agent,如何执行这个 Skill

SKILL.md长下面这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
---
name: two-numbers-sum
description: 两数之和计算工具,用于快速准确地计算两个数字的和。当用户需要计算两个数字的加法运算时使用,支持整数、小数和负数。输出格式:"哈哈哈,我算出来了!结果是{结果}"。适用场景包括:(1) 简单的两个数字相加 (2) 需要确保计算准确性 (3) 批量的加法运算。
---

# 两数之和

## 概览

这个技能提供了一个专门用于计算两个数字之和的工具,使用Python脚本确保计算的准确性和一致性。当用户请求两个数字相加时,技能会调用优化的加法脚本并返回带有趣味性的格式化结果。

## 执行步骤

1. **提取数字**:从用户输入中识别两个数字
2. **调用脚本**:使用 `scripts/add_numbers.py` 进行计算
3. **格式化输出**:按照要求的格式返回结果

## 使用方法

### 脚本执行

# 基本用法
python3 scripts/add_numbers.py <number1> <number2>

add_numbers.py长这个样:

1
2
3
4
5
6
 """为便于大家理解,只放了部分核心代码,大家只需要知道,这是一个两数相加的脚本就好"""
def add_two_numbers(num1, num2):
return num1 + num2

def main():
result = add_two_numbers(args.num1, args.num2)

何时使用 Skill

当你的任务满足以下一个或多个特征时,就应该考虑使用 Skill,而不是依赖临时的长提示词或简单的脚本:

  1. 需要处理本地文件:当 Agent 需要读取、分析、修改或创建本地文件时(如 PDF、Word 文档、Excel 表格、图片、代码等),Skill 可以将这些操作封装成标准流程。
  2. 任务流程相对固定且可复用:例如,“将一篇 Markdown 文章进行风格优化,并转换为符合公司品牌指南的 PPT”这类任务,涉及多个固定步骤,非常适合封装成一个或多个 Skill。
  3. 需要集成特定的知识或规范:比如,将公司的“品牌设计指南”、“代码审查规范”或“法务文案要求”封装成 Skill,可以让 Agent 在执行相关任务时自动遵循这些标准。
  4. 非技术人员希望扩展 AI 的能力:Skill 的创建过程可以通过自然语言完成(借助 skill-creator),这极大地降低了非开发者为 Agent “赋能”的门槛。
  5. 希望对 AI 的能力进行模块化管理和迭代:随着任务变得复杂,可以将不同的能力拆分成独立的 Skill(如文档读取 Skill、内容分析 Skill、图表生成 Skill),然后像乐高积木一样组合使用。当某个环节需要优化时,只需迭代对应的 Skill 即可。
感谢你请我喝咖啡~

Welcome to my other publishing channels