Agent skill 大白话,从零到1,范例解析

Agent skill 从程序员的角度说,skill 就是类似C 语言的.h公共库,或 Java 里的 import 的 公共库。就是常用的函数打包成库,然后在不同的agent里调用被import。对于程序员来说,还不是那一套吗?! 现在就是在agent 环境里,怎样调用md 文件,文件里定义了一些常用库,那么每一个agent里就不用重写一遍了。 让我们来看一个chatGPT生成的实例:

那么先给出我唯给chatGPT的提示词: "可以给出一个简单实例关于agent skills的吗?从markdown 文本到代码。"

回答:

可以的 👍 我给你一个最小可运行示例 ,演示如何把Markdown 形式的 Agent Skills 描述 转成可执行代码。这个模式常用于:LLM Agent、AutoGPT 风格系统、工具调用框架、Skill Registry。

目标流程:

Markdown Skill 描述 → 解析 → 注册为 Skill → Agent 调用执行

一、Step 1:定义 Agent Skill(Markdown)

假设你有一个 skills.md 文件:

bash 复制代码
# Skill: add_numbers

## Description
Add two numbers and return the result.

## Parameters
- a: number
- b: number

## Returns
- result: number

再来一个:

bash 复制代码
# Skill: say_hello

## Description
Say hello to a user.

## Parameters
- name: string

## Returns
- message: string

二、Step 2:目标结构(代码里的 Skill 对象)

我们希望转换成这种 Python 结构:

python 复制代码
{
  "name": "add_numbers",
  "description": "...",
  "params": ["a", "b"],
  "returns": ["result"],
  "func": callable
}

三、Step 3:Skill 注册中心(Agent Skill Registry)

先写一个最小 Skill 框架:

python 复制代码
class Skill:
    def __init__(self, name, description, params, returns, func):
        self.name = name
        self.description = description
        self.params = params
        self.returns = returns
        self.func = func

    def run(self, **kwargs):
        return self.func(**kwargs)


class SkillRegistry:
    def __init__(self):
        self.skills = {}

    def register(self, skill: Skill):
        self.skills[skill.name] = skill

    def call(self, name, **kwargs):
        if name not in self.skills:
            raise ValueError("Skill not found")
        return self.skills[name].run(**kwargs)

四、Step 4:Markdown → Skill 元数据解析

简单版解析器(正则方式):

python 复制代码
import re


def parse_skill_markdown(md_text):
    name = re.search(r"# Skill:\s*(.+)", md_text).group(1)

    desc = re.search(r"## Description\s*(.+?)\n\n", md_text, re.S).group(1).strip()

    params_block = re.search(r"## Parameters\s*(.+?)\n\n", md_text, re.S)
    params = re.findall(r"-\s*(\w+):", params_block.group(1)) if params_block else []

    returns_block = re.search(r"## Returns\s*(.+)", md_text, re.S)
    returns = re.findall(r"-\s*(\w+):", returns_block.group(1)) if returns_block else []

    return {
        "name": name,
        "description": desc,
        "params": params,
        "returns": returns
    }

五、Step 5:给 Skill 绑定真实函数

真实代码实现:

python 复制代码
def add_numbers(a, b):
    return {"result": a + b}


def say_hello(name):
    return {"message": f"Hello {name}!"}

函数映射表:

python 复制代码
FUNCTION_MAP = {
    "add_numbers": add_numbers,
    "say_hello": say_hello
}

六、Step 6:完整加载流程(Markdown → Agent Skill)

python 复制代码
registry = SkillRegistry()

with open("skills.md") as f:
    md_text = f.read()

skill_meta = parse_skill_markdown(md_text)

skill = Skill(
    name=skill_meta["name"],
    description=skill_meta["description"],
    params=skill_meta["params"],
    returns=skill_meta["returns"],
    func=FUNCTION_MAP[skill_meta["name"]]
)

registry.register(skill)

七、Step 7:Agent 调用 Skill

python 复制代码
result = registry.call("add_numbers", a=3, b=5)

print(result)

输出:

bash 复制代码
{'result': 8}

再试:

python 复制代码
registry.call("say_hello", name="Alice")

输出:

bash 复制代码
{'message': 'Hello Alice!'}

八、真实 Agent 系统里的升级版架构

生产系统一般这样:

sql 复制代码
Markdown Skills
      ↓
Parser
      ↓
Skill Schema (JSON)
      ↓
Validator (参数校验)
      ↓
Skill Registry
      ↓
LLM Planner
      ↓
Tool Executor

九、和 LLM Agent 结合(关键思想)

LLM看到的是:

javascript 复制代码
{
  "name": "add_numbers",
  "description": "Add two numbers",
  "parameters": ["a", "b"]
}

然后模型输出:

javascript 复制代码
{
  "tool": "add_numbers",
  "args": { "a": 10, "b": 20 }
}

Agent Runtime 负责:

python 复制代码
registry.call(tool, **args)
相关推荐
To_OC5 小时前
大模型蒸馏是啥?说白了就是大厨带徒弟的学问
人工智能·llm·agent
陳陈陳5 小时前
从“胡说八道”到“妙笔生花”:我用LangChain手搓了一个可控AI写作流(Temperature+TopK调参指南)
langchain·llm
Fzuim6 小时前
当 AI 也成为提交者:ThinkFlow 的 Git 提交规范,是怎么定的
git·agent·thinkflow
JaydenAI7 小时前
[AG-UI详解-01]创建一个类似ChatGPT应用与Agent实时交互
ai·agent·ag-ui·maf
冬奇Lab7 小时前
AI 评测系列(03):LLM-as-Judge——让 LLM 评价 LLM 的正确姿势
人工智能·llm
冬奇Lab8 小时前
每日一个开源项目(第164篇):毕昇(BISHENG)- 面向企业的开源 LLM DevOps 平台
人工智能·开源·agent
字节跳动开源9 小时前
30 分钟搞定个人情报站:Viking AI 搜索让前沿资讯实时推到面前
数据挖掘·开源·agent
Darling噜啦啦10 小时前
揭秘 LLM 的随机性黑盒:从 Temperature + Top-K 到 LangChain Chain 工作流实战
langchain·llm
正在走向自律10 小时前
Deepseek V4 Flash 高效应用实战指南
人工智能·deepseek·deepseek v4·ai赋能中心
元Y亨H11 小时前
AI Agent 的安全挑战与防护策略
llm