什么是 AI Agent 中的 Skills?它有什么用?

👨‍⚕️ 主页: gis分享者

👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍⚕️ 收录于专栏:AI大模型原理和应用面试题

文章目录

  • 一、🍀Skills
    • [1.1 ☘️概念](#1.1 ☘️概念)
    • [1.2 ☘️作用](#1.2 ☘️作用)
  • 二、🍀扩展知识
    • [2.1 ☘️Skills 出现之前的痛点](#2.1 ☘️Skills 出现之前的痛点)
    • [2.2 ☘️Skills 的技术实现原理](#2.2 ☘️Skills 的技术实现原理)
    • [2.3 ☘️Skills 在主流 AI 编程工具中的应用](#2.3 ☘️Skills 在主流 AI 编程工具中的应用)
    • [2.4 ☘️Skills 的设计原则](#2.4 ☘️Skills 的设计原则)
  • 三、🍀追问

一、🍀Skills

1.1 ☘️概念

Skills 就是给 AI Agent 写的操作手册,本质上是一份结构化的指令文件。当 Agent 碰到某类任务,就去读对应的 Skill,按里面的步骤一步步执行,不用你每次从头教它。

比如你想让 AI 帮你创建 Cursor 的自定义规则文件,规则文件放哪个目录、格式长啥样、有哪些字段,这些东西写一个 create-rule 的 Skill 就搞定了。Agent 碰到相关任务自动加载,不需要你每次重复沟通。

1.2 ☘️作用

1)把某个领域的专业知识、操作步骤、注意事项打包成一个文件,Agent 读了就能干活,不需要每次重复教

2)同一个任务不管执行多少次,Agent 都按 Skill 定义的流程走,输出质量可预期

3)通过编写不同的 Skills,让一个通用 Agent 具备各种垂直领域的专业能力,不需要重新训练模型

一个典型的 Skill 文件通常是 Markdown 格式,包含触发条件、操作步骤、输入输出规范、常见坑点这几个核心部分。

二、🍀扩展知识

2.1 ☘️Skills 出现之前的痛点

没有 Skills 的时候,你每次让 Agent 干一件稍微有点规范要求的活儿,都得从头把要求说一遍。

比如你要求"代码文件头部必须加上版权声明、函数命名用驼峰、异常处理要统一格式",你说了一次 Agent 记住了,下次新对话又忘了。

更要命的是,不同的人给 Agent 的指令不一样,同一个团队里 10 个人可能写出 10 种风格的代码来。

Skills 就是来解决这个问题的:把这些反复出现的指令和规范固化成文件,让 Agent 每次都能自动读取,保证行为一致。

2.2 ☘️Skills 的技术实现原理

Skills 的底层原理其实不复杂,本质上就是一种 Prompt 注入机制。

在 Agent 执行任务之前,系统根据任务类型匹配合适的 Skill 文件,把文件内容注入到 LLM 的上下文中,相当于对话开始前先给 AI "补课"。

整个过程分三步走:

  1. 首先是匹配阶段,系统根据用户意图或关键词,从 Skill 库中找到相关的 Skill,匹配方式可以是关键词规则、语义检索,也可以直接在
    Agent 的 System Prompt 里列出所有可用 Skill 让 LLM 自己判断。
  2. 然后是加载阶段,读取匹配到的 Skill 文件内容,注入到当前对话的上下文中。
  3. 最后是执行阶段,LLM 根据 Skill 中定义的步骤和约束来完成任务。

    这跟 RAG 有点像,但关键区别在于:RAG 检索的是知识片段,目的是"回答问题";Skill 加载的是操作指令,目的是"指导行动"。

2.3 ☘️Skills 在主流 AI 编程工具中的应用

目前 Skills 在 AI 编程助手领域已经有比较成熟的落地:

工具 Skills 实现形式 存放位置 触发方式
Cursor SKILL.md 文件 .cursor/skills-cursor/ Agent 根据任务自动匹配,或用户引用
Claude Code CLAUDE.md 项目根目录或 ~/.claude/ 每次对话自动加载
GitHub Copilot .github/copilot-instructions.md .github/ 目录 自动注入上下文
Windsurf Rules 文件 .windsurfrules 自动加载

叫法不一样,核心思路都是一个:通过本地文件来持久化地影响 AI 的行为模式。

2.4 ☘️Skills 的设计原则

写一个好的 Skill 跟写一个好的 Prompt 一样需要技巧:

1)一个 Skill 只解决一类问题,别把所有东西塞到一个文件里。"创建规则文件"和"修改编辑器配置"应该是两个独立的 Skill

2)操作流程要清晰,每一步做什么、用什么工具都写明白,最好是编号列表

3)明确定义输入参数和输出格式,减少歧义

4)给出正确和错误的示例,比纯文字描述有效得多

5)Skill 不是写完就不管了,要根据实际使用效果不断迭代优化

三、🍀追问

提问:Skills 和 RAG 都是往上下文里塞内容,具体区别在哪?

回答:RAG 检索的是知识片段,目的是让模型基于这些信息回答问题,属于"给 AI 喂资料"。Skills 加载的是操作指令,目的是让模型按照固定流程执行任务,属于"给 AI 定规矩"。RAG 的检索粒度通常是段落级别,一次可能检索 5-10 个相关文档片段;Skills 通常是整份文件加载,一次加载 1-2 个 Skill。另外 RAG 需要向量数据库做语义检索,Skills 一般靠简单的关键词匹配或者让 LLM 自己选就够了。

提问:如果 Skill 文件内容特别长,塞进上下文会不会有问题?

回答:肯定有问题。LLM 的上下文窗口是有限的,比如 Claude 的上下文是 200K token,一个 Skill 文件如果写了好几千 token,再加上用户的对话历史和系统提示词,很容易把上下文撑满。一般解决办法有两个:一是控制 Skill 文件的长度,把非核心内容拆成子文件按需加载;二是做分层加载,先加载一个精简版的摘要,Agent 判断需要更多细节时再加载完整内容。Cursor 就是这么干的,鼓励你把大 Skill 拆分成多个小文件。

提问:怎么判断一个任务应该用 Skill 来解决还是用 Tool 来解决?

回答:看这个任务需不需要跟外部系统打交道。如果只是需要 AI 按照特定流程去思考和组织输出,比如生成代码要遵循某种规范、创建文件要按照特定模板,用 Skill 就够了。如果需要查数据库、调 API、操作文件系统这些实际的外部操作,那就得上 Tool。简单说,Skill 管的是"怎么想",Tool 管的是"怎么做"。两者也经常配合着用,Skill 里面会写明在某一步调用哪个 Tool。

相关推荐
思绪无限1 小时前
YOLOv5至YOLOv12升级:木材表面缺陷检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·目标检测·计算机视觉·木材表面缺陷检测
kishu_iOS&AI1 小时前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财2 小时前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
TechubNews2 小时前
新火集团首席经济学家付鹏演讲——2026 年是 Crypto 加入到 FICC 资产配置框架元年
大数据·人工智能
蒸汽求职2 小时前
跨越 CRUD 内卷:半导体产业链与算力基建下的软件工程新生态
人工智能·科技·面试·职场和发展·软件工程·制造
DeepModel2 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
聊点儿技术2 小时前
LLM数据采集如何突破AI反爬?——用IP数据接口实现进阶
人工智能·数据分析·产品运营·ip·电商·ip地址查询·ip数据接口
小兵张健2 小时前
一场大概率没拿到 offer 的面试,让我更坚定去做喜欢的事
人工智能·面试·程序员
Agent手记2 小时前
制造业数字化升级:生产全流程企业级智能体落地解决方案 —— 基于LLM+超自动化全栈架构的智改数转深度实战
运维·ai·架构·自动化
2501_940041743 小时前
AI创建小游戏指令词
人工智能·游戏·prompt