LLM到Agent&RAG——AI概念概述 第五章:Skill

Skill------可插拔的专业技能指南

简单定义

Skill=预定义的、可复用的 AI 能力单元

Skill封装了特定任务的Prompt模板、工具组合、执行完整流程

Skill也能够让Agent更加专业精准

为什么需要Skill?

直接和LLM对话/给Agent指令执行任务存在一个很大的问题:不稳定性

同一个任务,不同的Prompt写法,不同的对话上下文,LLM给出的结果质量都可能差异很大。生产环境中,这种不确定性是不可接受的。

Skill的价值在于------将最佳实践落地为规范:

  • 精心调试过、可靠性验证过的Prompt模板→保障输出质量、格式的稳定性

  • 预绑定的工具集合→确保AI调用合适的工具

  • 明确的输出规范→整体输出格式可预测

  • 可以独立测试&迭代→不影响其他能力

Agent是一个"全能员工",Skill就是员工掌握的处理一类问题的"标准工作流程"。员工再聪明,没有标准工作流程也很容易出错,有了标准流程,新手工作也能更加高效。

结构

  1. 名称name:用于区分不同的Skill

  2. 描述description:简单描述Skill作用,便于LLM理解

  3. 版本version(可选):记录迭代版本

  4. 触发条件triggers:用户输入什么样的文本会自动触发Skill

  5. 输入参数inputs(可选):

    1. 单个输入参数组成:

      1. 名称name

      2. 数据类型type

      3. 是否为必要参数required

      4. 参数描述description

  6. 提示词模板prompt:规定角色行为、执行规范、输出格式等

  7. 工具包tools:当前允许使用的工具

  8. 输出模板output_format:规定最终输出格式

    一个 Skill 的结构描述(以代码审查 Skill 为例)

    name: "code-review"
    description: "对代码变更进行安全性、性能、可维护性审查"
    version: "1.2.0"

    触发条件:什么时候激活这个Skill

    triggers:
    - "review this code"
    - "代码审查"
    - "帮我 review"

    输入参数定义

    inputs:
    - name: "code_diff"
    type: "string"
    required: true
    description: "需要审查的代码变更(diff 格式)"
    - name: "language"
    type: "string"
    required: false
    default: "auto-detect"
    - name: "focus_areas"
    type: "list"
    required: false
    default: ["security", "performance", "maintainability"]

    Prompt 模板(核心)

    复制代码
     prompt_template: |  
     你是一位资深的 {{language}} 代码审查专家。  
     请对以下代码变更进行审查,重点关注:{{focus_areas}}  
     
     
     ## 审查标准  
         1. 安全性:是否存在注入、XSS、敏感信息泄露等风险  
         2. 性能:是否有 N+1 查询、内存泄漏、不必要的循环  
         3. 可维护性:命名是否清晰、是否符合项目规范  
    
     ## 代码变更  
         {{code_diff}}  
     
     ## 输出格式  
         按严重程度(Critical/Warning/Info)分类列出问题,  
         每个问题给出具体的行号、问题描述和修复建议。

    绑定的工具

    tools:
    - "file_reader" # 读取完整文件上下文
    - "git_log" # 查看变更历史
    - "grep" # 搜索相关代码

    #输出格式定义
    output_format:
    type: "structured"
    schema:
    issues: list[{severity, line, description, suggestion}]
    summary: string
    approval: boolean

Skill&Plugin& Function Calling区分

|------|-------------------|------------|------------------|
| 维度 | Skill | Plugin | Function Calling |
| 粒度 | 完整的任务流程 | 单个工具/服务封装 | 单次函数调用 |
| 内容组成 | Prompt+工具+执行流程+约束 | 工具定义+API接口 | 函数名+描述+参数 |
| 智能程度 | 高,内置了领域最佳实践流程 | 低,只是工具的"壳" | 无,函数调用机制 |
| 类比 | 完整的标准执行流程/行动指南 | "一把螺丝刀" | 拧螺丝动作 |

📌总结:

Function Calling是最底层的调用机制,Plugin是对工具的封装,Skill是Plugin之上加入执行策略、各种规范、甚至领域知识的完整能力单元。

相关推荐
Elastic 中国社区官方博客2 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
wjkjpcba2 小时前
机器人控制板PCBA怎么加工?从SMT贴片到BGA焊接解析机器人电子制造工艺
大数据·人工智能
青 春 记 忆2 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
GlueNa2SiO33 小时前
03-Flask模板引擎Jinja2详解
笔记·python·flask
小猪妈咪爱学法3 小时前
欧盟最新发布《AI数字综合法案(Digital Omnibus‑on‑AI,AI综合修订法案)
人工智能·网络安全
ZGIAI3 小时前
ZGI Workflow 变量池:接住节点输出
人工智能·架构
梵构广告3 小时前
提升品牌识别度有哪些方法?
人工智能
ZGIAI3 小时前
ZGI 记忆隔离:多人共用不串号
人工智能·架构
东风破_3 小时前
从输入 juejin.cn 到看到页面:DNS、Nginx、服务器集群与 CDN 到底在做什么?
后端·mysql
东风破_3 小时前
从 0 设计一个博客数据库:用户、头像与文章表应该怎么建?
后端·mysql