news 2026/10/15 5:35:00

对skills的理解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
对skills的理解

skills的介绍

Agent Skills 本质上是可复用的任务方法:一个 Skill 文件夹至少包含SKILL.md,还可以附 scripts、references、assets 等资源;它既可以纯靠说明完成任务,也可以调用代码、模板或工具。

什么任务需要做成skills

从需求的角度看,哪些事情值得做成 Skill。我觉得最典型的是:一类任务会反复出现,而且做好它需要遵循一套有经验含量的流程。

这里面,最有价值的是“任务经常发生,但执行质量容易波动”。比如同样让 AI 写爬虫,有时它会先分析接口,有时直接硬解析 HTML,有时写完就结束。Skill 就可以把你认可的判断顺序、实现要求和验收方式固定下来。

需求类型为什么需要 Skill例子
重复处理同类任务不想每次重新交代要求每次读论文都按研究问题、方法、实验、可借鉴点分析
稳定遵循工作流程避免 AI 漏步骤、跳过验证爬虫先分析数据入口,再实现、验证、实测
落实专业标准通用回答不足以满足领域要求按期刊规范检查稿件、按团队标准审查代码
协调多个工具要明确工具何时使用、结果怎样衔接搜索论文 → 下载 PDF → 提取内容 → 核对引用
固定交付要求产物需要能被后续流程直接使用新闻采集统一输出字段、去重结果、来源与时间
复用个人或团队经验把有效做法变成别人也能执行的步骤故障排查顺序、面试复盘方法、客户需求分析流程

判断时可以问三句:以后还会不会做?有没有值得复用的方法?做好与做差有没有明确标准?三项都明显,就很适合做成 Skill;偶尔问个知识点、改一句话,直接对话通常就够了。

skill定义和目录结构

taiwan-entertainment-news-crawler/ ├── SKILL.md ├── agents/ │ └── openai.yaml ├── references/ │ ├── input-contract.md │ ├── source-analysis.md │ ├── output-schema.md │ ├── credibility-rules.md │ └── validation.md ├── scripts/ │ └── validate_output.py └── tests/ └── test_validate_output.py

整体调用关系

用户提出采集需求 │ ▼ SKILL.md:决定完整工作流程 │ ├── input-contract.md:确定输入参数 ├── source-analysis.md:分析数据入口 ├── output-schema.md:规定结果结构 ├── credibility-rules.md:标记消息来源状态 └── validation.md:规定如何验收 │ ▼ 生成一个独立的可运行爬虫项目 │ ▼ validate_output.py:检查最终 JSON │ ▼ test_validate_output.py:保证验证器本身正常

skill大概率就是这样,他没有侵入到具体项目代码去,几个发挥作用的md文档都只是和模型在对话

只是另外写了两个脚本: validate_output.py:检查最终 JSON;test_validate_output.py:保证验证器本身正常 来去检查最终结果而已;

作用

要我说啊,skill这东西最大的价值就是我能够去复用大佬们的工作经验、

这对公司开发人员来说有一个很好的搬运价值;过去我们借鉴大佬们的,更多是他们的源码项目;他们提出的一些架构;而skills的出现让我们得以学习他们的工作习惯。这是进一步的学习深入。

另外,我们都知道skills能够让prompts得到复用性,让工作流程得到一个一致性,而且具有可迭代行;这也是好处嘛。

我们要掌握的能力:

1、我们要时不时的去浏览各种skills广场,很多时候正式这种浏览,提高了我们的认知,你会知道别人的工作范式之于现在我们自身的学习方式是否更高效。

2、我们要学会自己写skills,这就要求我们要了解skills的特性;虽说最简单的skills无非是一个markdown文档,而且他的本质就是在其中交代对ai的指令,但它还是有一定的tricks在的;首先我们要明确自己的需求,然后在描述里面定义好 skill description,包括他是否需要被触发;另外其实不同功能的skills它的体量是不一样的;譬如调研型的skills.,数据处理性(需要脚本),代码生成型,我们需要视情况去创建更多的子文件夹来存放诸如脚本(scripts),说明文档(references),文件资产(resoures)等等; 其次,对于输入,输出的要求和格式;以及对于代码生成完成之后的审计和验证标准,我们都要定义好;

Skill 创建流程

1. 明确需求

什么任务重复发生?
什么经验值得固化?
哪些步骤容易出错?

从而,你不会为了“写一句邮件”创建 Skill,但每周生成销售分析报告值得;

2、定义触发条件

也就是description:,告诉agent什么时候想起我。这是 Skill 和普通 Prompt 最大区别之一。

3、设计输入输出

没有输入输出约束,Skill 很容易退化成聊天。

4、根据复杂度决定目录结构

5、增加验证

这个是很多 Prompt 用户不会考虑的。普通 Prompt:写完代码结束。

工程 Skill写完代码:我们不能只凭感觉判断。建议遵循“便宜检查优先、昂贵检查靠后”的原则,设置层层递进的质量门(Quality Gates)

置层层递进的质量门(Quality Gates)

层级验收维度核心检查项
1产物完整性文件是否齐全、目录结构是否正确、入口点是否存在。
2结构合法性代码能否被解析(AST),JSON/YAML/XML 格式是否合法。
3Schema 合规字段、类型、枚举值、必填项是否符合定义(如 OpenAPI、DB Schema)。
4静态质量运行 Formatter、Linter、Typecheck,确保风格与语法无误。
5构建验证项目是否真正可编译或打包(如npm run build,mvn package)。
6单元测试核心函数逻辑是否正确,覆盖正常、空值、极值等场景。
7集成测试模块间协作是否正常(API、数据库、文件系统交互)。
8运行时冒烟软件能否启动并响应(如请求健康检查接口、运行 CLI)。
9非功能质量安全性(依赖审计)、性能基线、兼容性检查。
10仓库卫生git diff检查,确保无临时文件、无密钥泄露、无误改其他文件。
11输出验收最终交付物是否严格满足用户的原始需求(格式、路径、内容)

第二是流程验收;

必须验证其工作流是否可靠。我们需要从以下五个维度对 Skill 本身进行“图灵测试”:

1)触发准确性;

  • 该出手时才出手:明确点名时能触发,需求匹配时能触发,但在相似但不适用的场景(如“修改样式”而非“创建项目”)下绝不能误触发。
  • 抗噪能力:在带有真实上下文噪声时,仍能精准识别意图。、

2)环境识别能力

  • 尊重现有资产:Skill 在动手前应“环顾四周”——识别语言框架、包管理器(别在有pnpm-lock.yaml的项目里用npm)、现有的测试与构建命令。
  • 遵守约束:阅读AGENTS.md、README和贡献指南,不假定所有项目都是从零开始。、

3)过程遵循

  • 言行一致:验证 Skill 是否真的执行了规定步骤,而不是在回答里撒谎说“已验证”。
  • 权限克制:不擅自提升权限,不执行危险操作,不修改任务范围之外的模块。

4)失败处理机制

  • 闭环思维:生成代码 → 快速验证 → 失败则定位修复 → 重新验证。
  • 拒绝死循环:限制自动修复次数。
  • 诚实报告:如果某项验证无法运行,必须明确告知用户“哪一项没跑、为什么、你可以手动执行什么命令”,严格区分“未验证”和“验证通过”。

5)幂等性与效率

  • 拒绝重复劳动:重复运行同一 Skill 不应产生无意义的 Diff,不重复插入配置,不覆盖用户已有实现。
  • 边界控制:不读取大量无关文件,不消耗不必要的 Token。

为了让上述理念落地,建议将以下Validation规范直接写入你的 Skill 定义中,作为 AI 执行任务时的“宪法”:

## Validation Protocol

完成代码修改后,必须严格执行以下步骤:

  1. 范围确认:确认修改范围仅包含任务必需的文件。
  2. 结构校验:对生成的 JSON、YAML 或结构化输出执行解析和 Schema 校验。
  3. 静态检查:运行仓库已有的格式化、Lint 和类型检查命令。
  4. 单元测试:运行与改动直接相关的单元测试用例。
  5. 冒烟测试:若改动影响构建或启动,必须执行构建及运行时冒烟测试。
  6. 卫生检查:检查git diff,确保没有临时文件、密钥或无关修改。
  7. 修复闭环:如果验证失败,进行最小化修复并重新运行受影响的检查。
  8. 诚实原则:不得把未运行的检查描述为“通过”。
  9. 最终报告:输出必须包含修改内容、实际运行的命令、每项结果、未运行项及原因、剩余风险。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 5:34:59

MT8880芯片详解:DTMF收发与电话报警远程控制设计

简介:MT8880是面向DTMF双音频信号处理设计的专用集成电路,集发送、接收译码及信号音检测于一体,常与单片机配合用于电话机、电话交换机等通信设备。这份中文资料较完整地介绍了芯片的20脚封装引脚功能、双音频/呼叫处理/中断三种常用工作模式…

作者头像 李华
网站建设 2026/10/15 5:34:37

撕碎0与1的完美幻觉:嵌入式架构师的物理学防线

凌晨一点半,孵化器工位还亮着一盏灯。A同学把代码翻来覆去看了三遍,状态机、中断优先级、环形队列,逻辑上挑不出毛病。可那台设备就像中了邪,每运行十七八秒,串口就会丢一个字节,偶尔还蹦出个0xFF。他问我&…

作者头像 李华
网站建设 2026/10/15 5:34:30

服务器企业版1020发行注记深度解读与升级实操指南

1. 这个"1020"版本到底改了什么拿到"服务器企业版(1020)发行注记"这个标题的时候,我第一反应是:又是一个版本号带日期的企业级发行版。干运维这行的都懂,企业版服务器系统的发行注记(R…

作者头像 李华
网站建设 2026/10/15 5:34:14

Java超市管理系统实训报告:从表结构到事务处理

简介:这是一份基于Java的超市管理系统实训报告文档,面向高校计算机相关专业正在进行课程设计或数据库实训的学生,可用于学习项目报告的完整结构与系统功能设计思路,无论用于整体参照还是局部借鉴都较为合适。报告以超市实际业务为…

作者头像 李华
网站建设 2026/10/15 5:33:31

COMSOL弱形式入门:从积分表达式到自定义偏微分方程求解

简介:COMSOL Multiphysics弱形式入门是一份面向仿真工程师与有限元初学者的技术文档,旨在帮助使用者突破内置模块和经典PDE模板的局限,学会用弱形式用户界面求解非线性、多物理场等复杂问题。文档从偏微分方程、能量最小化形式与弱形式三种表…

作者头像 李华