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)
相关推荐
蛇皮划水怪6 小时前
深入浅出LangChain4J
java·langchain·llm
User_芊芊君子12 小时前
HCCL高性能通信库编程指南:构建多卡并行训练系统
人工智能·游戏·ai·agent·测评
AC赳赳老秦18 小时前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek
爱喝白开水a18 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
落霞的思绪18 小时前
GIS大模型RAG知识库
agent·rag
小白狮ww20 小时前
要给 OCR 装个脑子吗?DeepSeek-OCR 2 让文档不再只是扫描
人工智能·深度学习·机器学习·ocr·cpu·gpu·deepseek
香芋Yu21 小时前
【LangChain1.0】第九篇 Agent 架构设计
langchain·agent·架构设计
组合缺一1 天前
Solon AI (Java) v3.9 正式发布:全能 Skill 爆发,Agent 协作更专业!仍然支持 java8!
java·人工智能·ai·llm·agent·solon·mcp
User_芊芊君子1 天前
AI Agent工业化落地避坑指南:从技术卡点到量产,脉脉AMA给我的实战启示
人工智能·ai·agent·脉脉测评
realhuizhu1 天前
为什么程序员配出的颜色像"斑斓的灰"?因为你还在靠直觉
前端开发·ai工具·ui设计·deepseek·程序员提升