给 AI 装“技能”:Agent Skills 完全指南

news2026/4/16 18:29:42
给 AI 装“技能”Agent Skills 完全指南你的 AI 助手终于可以不只是“会说话”而是真正“会做事”了想象一下这个场景你帮我处理一下这张发票 PDF把里面的金额、日期、发票号提取出来。通用 AI我无法直接读取 PDF 文件但你可以把内容粘贴给我……装了“发票处理技能”的 AI自动识别任务 → 调用专用脚本 → 输出结果字段值发票号码INV-2024-0123价税合计12,800.00销售方XX科技有限公司这就是Agent Skills的魅力——它让你的 AI 从“只能聊天”进化到“能动手干活”。2025年12月18日Anthropic 将 Agent Skills 正式发布为开放标准。一套标准化的文件夹规范让 agent 像装 App 一样加载专业技能。标准一出行业跟进速度惊人——Microsoft 在 VS Code 和 GitHub 里直接集成OpenAI 在 ChatGPT 和 Codex CLI 里采用了几乎一模一样的架构Cursor、Goose 等编码工具也纷纷跟进。截至 2026 年初Atlassian、Figma、Canva、Stripe、Notion、Zapier 等厂商都已经为自家平台构建了相应的 skills。一、Agent Skills 是什么一句话定义Agent Skills 是一套标准化格式用于将 AI 指令、脚本和资源打包成可复用、可发现的模块。如果你用过 AI 编程助手可能遇到过这样的问题今天让 AI 帮你生成了一份符合公司规范的 PPT明天换了一个对话AI 就“忘”了这些规范你得从头再说一遍。Skills 解决的就是这个问题——它把“这件事该怎么做”的知识固化下来让 AI 每次都能按同一套标准执行。它和 MCP 是什么关系很多第一次接触 Skills 的人会问“不是已经有 MCP 了吗” 这两个概念确实容易混淆但定位完全不同MCP 解决的是「模型能用什么」Skills 解决的是「模型该怎么用」。打个比方MCP是“工具箱”——它给 AI 接上了手和眼让 AI 能够连接数据库、调用 API、读写文件Skills是“操作手册”——它告诉 AI拿到这个工具后应该按照什么流程、什么标准去用两者是互补关系不是替代关系。一个强大的 Agent 通用模型 MCP 连接外部工具 Skills 提供操作流程。核心设计渐进式披露Skills 最精妙的设计是渐进式披露Progressive Disclosure——它把信息分成三层按需加载层级内容何时加载大小限制第一层元数据name description始终在上下文中~100 词第二层SKILL.md 正文详细指令、流程说明技能被触发时 500 行推荐第三层附加资源脚本、参考文档、模板按需加载无限制这意味着即使你有 100 个 skills 安装在系统中AI 启动时也只加载它们的元数据每个 skill 仅 30-50 个 tokens只有当某个 skill 被判定为“相关”时才会加载它的完整内容。这种设计既保证了能力丰富又避免了上下文窗口被撑爆。二、一个 Skill 长什么样每个 Skill 就是一个文件夹包含一个必需的SKILL.md文件和若干可选的资源文件my-invoice-skill/ # 技能根目录 ├── SKILL.md # 【必需】核心定义文件 ├── scripts/ # 【可选】可执行脚本 │ └── extract_invoice.py ├── references/ # 【可选】参考文档 │ └── field_mapping.md └── assets/ # 【可选】静态资源 └── output_template.xlsxSKILL.md 文件结构SKILL.md采用YAML Frontmatter Markdown 正文的双层结构---name:invoice-extractor# 必需技能唯一标识小写字母连字符最长64字符description:从 PDF 发票中提取关键字段。当用户需要“解析发票”或“提取账单信息”时使用。license:MIT# 可选许可证声明compatibility:需要 python3 及 PyPDF2# 可选运行环境要求allowed-tools:Bash(python:*)# 可选授权使用的工具---关于 licenselicense: MIT表示该技能以 MIT 开源许可证发布任何人都可以免费使用、修改和分发。如果只是个人或公司内部使用这行可以删除或改为Proprietary。Frontmatter 之后是 Markdown 格式的技能说明包括角色定位、核心流程、输出格式、异常处理和示例对话。接下来我们就看一个完整的示例。三、完整示例发票信息提取技能以下是一个可直接运行的完整 Skill它封装了一个 Python 脚本用于从 PDF 中提取发票信息。1. SKILL.md--- name: invoice-extractor description: 从 PDF 发票中提取关键字段发票号、日期、金额、销售方等。当用户需要“解析发票”、“提取发票信息”或“识别 PDF 中的账单数据”时使用。 compatibility: 需要 python3 及依赖库 PyPDF2、pdfplumber allowed-tools: Bash(python:*) --- # 发票信息提取技能 ## 角色 你是一名专门处理财务文档的数据提取助手。你的任务是调用指定的 Python 脚本从用户提供的发票 PDF 中提取结构化数据。 ## 核心流程 1. **确认文件路径**获取用户要处理的 PDF 文件路径。 2. **执行提取脚本**运行以下命令调用核心逻辑。 bash python scripts/extract_invoice.py --pdf 用户提供的文件路径 --output invoice_result.json读取结果命令执行成功后读取生成的invoice_result.json文件。呈现给用户将 JSON 内容转换为易于阅读的 Markdown 表格。输出格式要求提取状态明确告知用户解析是否成功。数据表格使用 Markdown 表格展示提取到的字段。示例输出表格字段值发票号码INV-2024-0123开票日期2024-03-15价税合计12,800.00销售方名称XX科技有限公司购买方名称YY贸易有限公司异常处理若脚本执行失败请将错误信息原文告知用户并建议检查 PDF 是否清晰可读或是否为扫描件。若 JSON 中success字段为false直接向用户显示error字段的内容。示例对话用户帮我提取D:/发票/3月办公费.pdf里的发票信息。助手好的我现在使用发票提取技能处理该文件。内部执行python scripts/extract_invoice.py --pdf D:/发票/3月办公费.pdf --output invoice_result.json处理完成提取结果如下字段值发票号码24332000000123456789开票日期2024-03-10价税合计3,580.00销售方名称晨光文具股份有限公司购买方名称上海XX信息技术有限公司### 2. scripts/extract_invoice.py 脚本需要遵循**标准化接口**和**结构化输出**的规范这样才能被 AI 可靠地调用 python #!/usr/bin/env python3 # scripts/extract_invoice.py import argparse import json import sys import os def main(): parser argparse.ArgumentParser(description提取 PDF 发票信息) parser.add_argument(--pdf, requiredTrue, help发票 PDF 文件路径) parser.add_argument(--output, defaultinvoice_result.json, help输出 JSON 文件路径) args parser.parse_args() # 检查输入文件是否存在 if not os.path.exists(args.pdf): result {success: False, error: f文件不存在{args.pdf}} with open(args.output, w, encodingutf-8) as f: json.dump(result, f, ensure_asciiFalse, indent2) print(json.dumps(result, ensure_asciiFalse)) sys.exit(1) # 在这里调用你的实际提取逻辑 # 以下为模拟数据请替换为真实的 PDF 解析代码 try: extracted_data { 发票号码: 24332000000123456789, 开票日期: 2024-03-10, 价税合计: 3,580.00, 销售方名称: 晨光文具股份有限公司, 购买方名称: 上海XX信息技术有限公司 } result {success: True, data: extracted_data} except Exception as e: result {success: False, error: f解析失败{str(e)}} # # 输出结果到 JSON 文件 with open(args.output, w, encodingutf-8) as f: json.dump(result, f, ensure_asciiFalse, indent2) # 同时向 stdout 打印结果方便 AI 直接读取 print(json.dumps(result, ensure_asciiFalse)) if __name__ __main__: main()关键规范脚本输出必须是 JSON 格式且必须包含success布尔字段。这样 AI 才能正确判断执行结果。日志输出请使用sys.stderr避免污染 stdout。四、如何部署和使用部署位置Skills 可以放在两个位置位置路径示例作用范围项目级项目根目录/.claude/skills/仅当前项目可用可随代码提交用户级~/.claude/skills/所有项目均可用.claude/skills/ ├── invoice-extractor/ │ ├── SKILL.md │ └── scripts/ │ └── extract_invoice.py └── another-skill/ └── SKILL.md调用方式Skills 支持两种调用方式自动触发AI 根据description字段自动判断是否使用该技能。当用户说“帮我提取发票”时AI 会自动加载invoice-extractor技能。手动调用部分工具支持直接输入/加技能名来调用如/invoice-extractor。常用工具工具说明skill-creatorAnthropic 官方提供的元 Skill能引导你一步步生成完整的 Skill 文件OpenSkills开源工具可将 Skills 系统引入 Cursor、Windsurf 等其他 AI 编码工具五、最佳实践与避坑指南结合大量开发者的实践经验以下是几个关键建议✅ 应该做的description 写清楚“何时用”这是 AI 判断是否触发 skill 的唯一依据务必包含触发场景关键词。脚本输出必须是 JSONAI 只能可靠地解析结构化数据。示例对话写一个在 SKILL.md 中加入## 示例段落能显著提升 AI 执行的准确度。大文档放到 references/SKILL.md 正文推荐不超过 500 行详细的参考文档放到 references 目录在需要时用链接引用。解释“为什么”而不只是“做什么”现代 AI 理解原理后能更好地应对边缘情况。❌ 需要避免的指令塞太多一次性把全部细节都写进 SKILL.md 正文会导致 AI “晕掉”——信息过载反而降低执行质量。忽略安全校验脚本中避免直接拼接用户输入执行rm -rf等危险命令建议做路径白名单校验。日志污染 stdoutprint(正在处理...)这类日志会混入 JSON 输出导致 AI 解析失败。六、总结Agent Skills 让 AI 从“泛泛而谈”走向“专业做事”。它把领域知识、操作流程和执行脚本打包成一个可复用的模块让 AI 每次都能按同一套高标准完成任务。MCP 给 AI 装上了手脚Skills 教会了 AI 怎么走路。一个精心编写的 Skill就像一份传承下来的“老师傅秘籍”——新人AI拿到它就能立刻按最高标准干活。现在去创建你的第一个 Skill 吧你会发现让 AI 真正“会做事”其实只需要一个文件夹和一个 Markdown 文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2524108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…