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)
相关推荐
带刺的坐椅2 小时前
开发 Java MCP 就像写 Controller 一样简单,还支持 Java 8
java·llm·solon·mcp·skills
Hcoco_me2 小时前
大模型面试题88:cuda core的数量 与 开发算子中实际使用的线程 关系是什么?过量线程会发生什么情况?
人工智能·深度学习·机器学习·chatgpt·职场和发展·机器人
Ftsom2 小时前
【2】kilo 消息流转过程
ai·agent·ai编程·kilo
KevinShi_BJ2 小时前
读李宁老师的《AIGC 自动化编程 -- 基于 ChatGPT和 GitHub Copilot》
chatgpt·自动化·aigc
shandianchengzi2 小时前
【开源工具】DeepSeek-Raw-Export|油猴脚本使用 DeepSeek 的复制按键直接导出
llm·脚本·工具·油猴·deepseek
AC赳赳老秦3 小时前
文旅行业:DeepSeek处理客流数据生成预测模型与调度建议
人工智能·云原生·容器·kubernetes·notepad++·consul·deepseek
DS随心转小程序3 小时前
ChatGPT和Gemini转pdf
人工智能·ai·chatgpt·pdf·豆包·deepseek·ds随心转
DS随心转APP3 小时前
deepseek输出word指令
人工智能·ai·chatgpt·deepseek·ds随心转
没有梦想的咸鱼185-1037-16634 小时前
AI大模型支持下的:R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表
开发语言·人工智能·机器学习·chatgpt·数据分析·r语言·ai写作