什么是 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。

相关推荐
缘友一世2 小时前
PentestGPT V2源码研究之记忆子系统
agent·记忆系统·渗透测试智能体·上下文管理机制
福客AI智能客服2 小时前
低价竞争之外,商家正在重新思考客服的价值
大数据·人工智能
大囚长2 小时前
AI长推理能力缺陷的本质
人工智能
Luke~2 小时前
已上架阿里云计算巢!Loki AI 事故分析引擎正式开放一键部署,帮 SRE 快速完成故障复盘
人工智能·阿里云·云计算·loki·devops·aiops·sre
prog_61032 小时前
【笔记】用cursor手搓cursor(四)
人工智能·笔记·大语言模型·agent
boy快快长大2 小时前
云服务器部署大模型
人工智能
Swift社区2 小时前
未来游戏形态:鸿蒙 + AI + 多端协同
人工智能·游戏·harmonyos
Kapaseker2 小时前
就这 9 行 Rule 让你省 63% 的 token
人工智能
GJGCY2 小时前
企业级AI智能体平台技术评测:9款产品架构差异与生产落地能力分析
大数据·人工智能·ai·智能体