当前位置: 首页 > article >正文

Agent Skill 快速开始

1 Agent Skill的基本概念用一句简单的话来说的话Agent Skill就是大模型随时翻阅的说明文档。Skill 本质上是一个沉淀了自然语言描述 SOP 的 markdown 文件能够避免重复性劳动统一能力标准实现高效且可复用的经验传递。Skill 的核心是一个包含 SKILL.md 文件的文件夹包含元数据以及指导 Agent 执行特定任务的指令。同时也可以包含文档资料、脚本、模板等文件。skill/ ├── SKILL.md # 必需指令 元数据 ├── scripts/ # 可选可执行代码 ├── references/ # 可选文档资料 └── assets/ # 可选模板、资源文件SKILL.md 大致长这样子--- name: Skill名称 description: Skill描述 --- # Skill 名称 ## 何时使用此技能 ...... ## 如何 XXXX ...... ## 如何 YYYY ......设计理念渐进式披露顾名思义渐进式披露就是不一次性加载所有信息而是按需加载。在 Agent 启动时仅加载 name 和 description 这种元数据信息用于判断相关性。只有当某个 Skill 被激活时才加载完整 SKILL.md 正文仅在需要时加载 scripts/references/assets 中的文件。这种渐进式披露的架构大致分为如下图所示的三层第一层元数据层会固定加载到系统提示词当中。~100 tokens第二层指令层当某个Skill被激活时才会被夹在即按需加载。一般5000 tokens第三层资源层可能某个Skill还需要调用其依赖的参考文件、资源文件或者脚本文件属于按需中的按需加载了。下图展示了一个会议总结助手Skill被激活的实例可以看到大模型通过用户的信息识别到需要启用会议总结助手这个Skill因此从会议总结助手的SKILL.md中加载了具体的指导又识别到需要再次加载一个财务规定的参考手册将参考手册中的内容也一起加载到了提示词中一起发给大模型进行处理。综上所述我们可以知道在渐进式披露的架构下Agent Skill的优点是大幅减少Token消耗因为系统提示词中只会包含简短的技能列表元数据信息避免了信息过载提高大模型处理效率大模型只需要快速判断当前任务和哪些技能相关MCP vs Agent SkillAgent Skill 和 MCP 并不是非此即彼而是互为辅助的关系。MCP 侧重连接 Agent 和 数据而 Agent Skill 则侧重于指导 Agent 如何处理这些数据。MCP Connects Agent to data, but Agent Skill teach Agent what to do with that data.下图展示了 MCP 和 Agent Skill 的侧重点 和 本质可以很好理解它们二者之间的关系总之在 Agent 智能体的开发中我们需要结合 MCP 和 Agent Skill 来使用开发一个高效的 Agent 智能体。2 快速开始MAF中使用 Agent Skill假设有这样一个需求有一个企业助手Agent可以回答企业内部员工提出的关于费用报销 和 差旅申请 等相关的常见问题。作为软件开发的我们自然知道这是两个业务知识域了因此我们计划将其规划为两个Skill供企业助手Agent按需加载调用。以终为始我们的Agent应用的解决方案长这样子这是一个.NET控制台应用程序其中有一个skills目录专门存放各种业务知识Skill。费用报销Skill首先我们创建一个SKILL.md内容如下--- name: expense-report description: 按照 Contoso 公司政策填写和审核员工费用报销。适用于费用报销、报销规则、收据要求、支出限额或费用类别等相关问题。 --- # 费用报销Expense Report ## 费用类别与限额 | 类别 | 限额 | 收据要求 | 审批 | |---|---|---|---| | 单人用餐 | $50/天 | $25 | 无需 | | 团队/客户用餐 | $75/人 | 必须 | 总额$200需经理 | | 住宿 | $250/晚 | 必须 | 超过3晚需经理 | | 地面交通 | $100/天 | $15 | 无需 | | 机票 | 经济舱 | 必须 | $1,500需VP | | 会议/培训 | $2,000/次 | 必须 | 经理LD | | 办公用品 | $100 | 是 | 无需 | | 软件/订阅 | $50/月 | 是 | $200/年需经理 | ## 报销流程 1. 收集收据——需包含商家、日期、金额、支付方式。 2. 按上表分类。 3. 使用模板[assets/expense-report-template.md](assets/expense-report-template.md)。 4. 团队/客户用餐需列出参与人及业务目的。 5. 提交——$500自动审批$500–$2,000需经理$2,000需VP。 6. 报销10个工作日内通过银行转账。 ## 政策规则 - 需在交易后30天内提交。 - 酒精类费用不予报销。 - 外币按交易日汇率折算为美元并注明原币种及金额。 - 混合个人/商务出行仅报销商务部分需提供对比报价。 - 丢失收据$25需提交财务部的丢失收据声明每季度最多2次。 - 如有未涵盖的问题请查阅FAQ[references/POLICY_FAQ.md](references/POLICY_FAQ.md)。答案应以本文件和FAQ为准。由于该Skill还定义了引用的资源所以我们还需要添加1参考文件费用政策常见QA说明这也是一个markdown文件。# 费用政策常见问答FAQ ## 用餐 **问工作日咖啡或零食可以报销吗** 答每日咖啡/零食低于$10不予报销视为个人消费。客户会议或团队协作期间购买的咖啡可作为团队用餐报销。 **问团队晚餐超出人均限额怎么办** 答$75/人限额为指导标准。超出20%以内可书面说明如“客户指定场地”超出20%需VP预先批准。 **问需要列出所有参与人吗** 答是。客户用餐需列明客户姓名及公司团队用餐需列出所有员工姓名。10人以上可单独附名单。 ## 差旅 **问可以预订高端经济舱或商务舱吗** 答经济舱为标准。6小时以上可选高端经济舱商务舱需VP预批通常仅限10小时以上或医疗原因。 **问打车Uber/Lyft和租车如何选择** 答往返30英里以内建议打车多日或超$100/天建议租车。3人以上可选更大车型。 **问小费可以报销吗** 答用餐、打车、酒店清洁小费20%以内可报销超出需说明理由。 ## 住宿 **问部分城市$250/晚不够怎么办** 答纽约、旧金山、伦敦、东京、悉尼等高消费城市自动提升至$350/晚无需额外审批。其他特殊情况请提前向经理申请。 **问住亲友家能否领取补贴** 答不可以。公司仅报销实际住宿费用不提供补贴。 ## 订阅与软件 **问个人效率工具可以报销吗** 答需与工作直接相关如IDE、设计软件、项目管理工具可报销。一般效率类应用需经理书面确认。 ## 收据与材料 **问收据模糊/损坏怎么办** 答可向商家补打如无法获取需提交丢失收据声明财务部网站下载每季度限2次。 **问停车/过路费需要收据吗** 答低于$15无需收据注明日期、地点、金额即可$15及以上需收据或银行流水。 ## 审批与报销 **问经理休假谁来审批** 答可由上级经理或系统指定的代理审批人审批。 **问能否报销上季度的费用** 答标准为30天内超期需书面说明并VP批准超90天仅特殊情况经CFO批准。2资源文件费用报销模板说明这也是一个markdown文件。# 费用报销模板Expense Report Template | 日期 | 费用类别 | 商家 | 描述 | 金额USD | 原币种 | 原币金额 | 参与人 | 业务目的 | 已附收据 | |------|----------|------|------|-------------|--------|----------|--------|----------|----------| | | | | | | | | | | 是 / 否 |画外音后续这类业务知识Skill可以交由业务专家或业务用户自行维护从而实现技术和业务的职责分离。差旅申请Skill我们创建一个SKILL.md内容如下--- name: travel-policy description: 公司差旅预订与审批政策。适用于航班预订、酒店预订、差旅审批流程或差旅安全指引等相关问题。 --- # 差旅政策Travel Policy ## 预订规则 | 项目 | 政策 | 审批 | |------|--------|----------| | 国内航班 | 仅限经济舱 | $800自动审批 | | 国际航班 | 经济舱6小时以上可选高端经济舱 | 均需经理审批 | | 酒店 | 优先公司协议酒店 | ≤$250/晚自动审批 | | 租车 | 紧凑/标准车型 | ≤3天自动审批 | | 火车/高铁 | 标准座 | 自动审批 | ## 预订流程 1. 所有预订须通过公司差旅平台TravelHub完成 2. 国内提前14天国际提前21天预订 3. 总费用超$2,000需经理预先审批 4. 预订后24小时内取消可全额退款 ## 安全指引 - 所有国际行程需向差旅安全团队报备 - 超过5天的行程需购买差旅保险 - 随身携带公司应急联系方式卡智能体调用Agent Skill最近MAF发布了1.0.0-rc2支持了Agent Skill所以让我们一步一步来实现在MAF中让智能体调用Skill尝尝鲜。1创建SkillsProvider从文件中发现和加载Skillsvar skillsProvider new FileAgentSkillsProvider( skillPath: Path.Combine(Directory.GetCurrentDirectory(), skills) ); Console.WriteLine( Skills 已从文件系统加载); Console.WriteLine();2创建Agent注入SkillsProvider让其有Skill调用能力AIAgent agent chatClient.AsAIAgent(new ChatClientAgentOptions { Name MultiSkillsAgent, ChatOptions new() { Instructions 你是一个高效的企业助手使用和用户同样的语言回答用户提出的问题。, }, AIContextProviders [skillsProvider], }); Console.WriteLine(✅ 多技能 Agent 创建成功);下面我们就来测试一下这个Agent测试用例1差旅政策问题 → 应加载 travel-policyvar session await agent.CreateSessionAsync(); var travelQuestion 我需要预订一张从纽约到伦敦、为期两周项目的航班。我可以乘坐什么舱位需要审批吗; Console.WriteLine( 测试1差旅政策问题); Console.WriteLine($ 用户: {travelQuestion}); Console.WriteLine(); var travelResponse await agent.RunAsync(travelQuestion, session); Console.WriteLine($ Agent: {travelResponse.Text}); Console.WriteLine(); Console.WriteLine(━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━); Console.WriteLine();测试结果如下图所示可以看到Agent通过查阅差旅申请Skill文档准确地回答了用户的问题。测试用例2费用报销问题 → 应加载 expense-reportvar expenseQuestion 我上周买了一个 $45/月的项目管理软件订阅需要什么审批流程; Console.WriteLine( 测试2费用报销问题); Console.WriteLine($ 用户: {expenseQuestion}); Console.WriteLine(); var expenseResponse await agent.RunAsync(expenseQuestion, session); Console.WriteLine($ Agent: {expenseResponse.Text}); Console.WriteLine(); Console.WriteLine(━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━); Console.WriteLine();测试结果如下图所示可以看到Agent通过识别判断是费用报销问题读取了费用报销Skill的文档后结合用户提出的问题进行了准确而完善的回复棒棒哒当然你还可以进行更多的测试体验这里就不多赘述了。下载示例源码动起来吧3 小结

相关文章:

Agent Skill 快速开始

1 Agent Skill的基本概念 用一句简单的话来说的话,Agent Skill就是大模型随时翻阅的说明文档。 Skill 本质上是一个沉淀了自然语言描述 SOP 的 markdown 文件,能够避免重复性劳动,统一能力标准,实现高效且可复用的经验传递。 Sk…...

企业数据存储频繁卡顿?该品牌SSD固态硬盘实测体验,揭秘稳定读写方案

在企业日常运营中,数据存储系统的频繁卡顿、读写延迟不仅影响工作效率,更可能成为业务连续性的潜在威胁。面对这一普遍痛点,许多企业开始寻求更可靠、更稳定的存储解决方案。本文将结合实测体验,探讨湖南天硕SSD固态硬盘如何凭借其…...

8大网盘直链解析工具深度测评:LinkSwift如何突破下载速度瓶颈?

8大网盘直链解析工具深度测评:LinkSwift如何突破下载速度瓶颈? 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / …...

从理论到实践:基于CompressAI库的端到端图像压缩模型部署指南

1. 为什么需要端到端图像压缩? 在传统的图像压缩领域,JPEG、PNG这些格式已经统治了几十年。但如果你仔细观察,会发现这些算法本质上都是手工设计的——离散余弦变换、量化表、霍夫曼编码,每个模块都是人为设定的规则。这就好比用…...

【人生底稿】08:2018 北京创业 180 天(上):第一次进京,从高铁上的微信到鸟巢旁的工位

2018年6月11日,天津到北京的高铁上,我第一次踏上去北京的路。 89年生的我,天津人,家离北京不过半小时高铁,活了快30年,居然从来没正经去过北京。 这不是什么逆袭爽文,是一个30岁程序员&#xff…...

go-zero 数据库自动化:从 SQL 到 CRUD 的生产级实践指南

go-zero 数据库自动化:从 SQL 到 CRUD 的生产级实践指南 一、先说结论:数据库自动化不是“偷懒”,而是工程标准化 在中大型后端系统里,数据库访问层往往有两个典型矛盾: 业务迭代要求快,表结构一变,CRUD、缓存、查询接口都得跟着改。 生产环境要求稳,任何一处 SQL、事…...

PyTorch实战:手把手拆解CLIP中的AttentionPool2d模块(附完整代码与逐行注释)

PyTorch实战:手把手拆解CLIP中的AttentionPool2d模块(附完整代码与逐行注释) 当你第一次看到CLIP模型的AttentionPool2d模块时,可能会被它独特的结构所困惑。这个看似简单的模块,实际上是CLIP能够理解图像全局上下文信…...

别再混淆了!一张图搞懂Node.js的process和浏览器环境的区别(附Webpack/Vite配置)

彻底掌握Node.js与浏览器环境差异:从process对象到构建工具实战 第一次在浏览器控制台看到"Uncaught ReferenceError: process is not defined"时,我盯着屏幕愣了三秒——明明在Node.js后端代码里用得好好的process.env,怎么到了前…...

从机械臂到无人机:手把手教你用C++实现一个简易PID控制器(附完整代码)

从机械臂到无人机:手把手教你用C实现一个简易PID控制器(附完整代码) 在嵌入式开发和机器人控制领域,PID控制器就像一位不知疲倦的调音师,时刻调整着系统的"音准"。想象一下,当你操控无人机时&am…...

别再只会用串口助手了!用STM32F103C8T6+HC-06做个蓝牙遥控器(HAL库实战)

从串口玩具到实战利器:STM32HC-06蓝牙遥控器开发指南 在创客和嵌入式开发领域,蓝牙通信一直是最受欢迎的无线连接方案之一。许多开发者最初接触蓝牙模块时,往往止步于简单的数据收发实验——通过串口助手发送几个字符,看到LED闪烁…...

【从零开始学Java | 第二十六篇】双列集合(Map)

目录 前言 一、双列集合的特点 1. 键值对(Key-Value)存储 2. 键(Key)的唯一性 3. 值(Value)的可重复性 4. 单向的映射关系 5. 顺序的差异化(根据具体实现类而定) 二、双列集…...

手机摄影新玩法:不用HDR也能拍出好照片?Exposure Fusion技术解析

手机摄影新玩法:不用HDR也能拍出好照片?Exposure Fusion技术解析 每次看到朋友圈里那些明暗细节丰富、色彩饱满的照片,你是不是也好奇它们是怎么拍出来的?大多数人第一反应可能是"HDR模式",但今天我要告诉你…...

从零设计一个AXI Master:手把手教你为Xilinx MIG DDR4控制器编写自定义测试逻辑

从零设计AXI Master:构建Xilinx DDR4控制器的定制化测试引擎 在FPGA开发领域,高效访问DDR4内存是提升系统性能的关键。本文将带您深入AXI总线协议的核心,通过Verilog/SystemVerilog实现一个功能完备的AXI Master模块,突破现成IP核…...

别再乱写音视频了!FFmpeg的av_interleaved_write_frame到底怎么用才不卡顿?

深入解析FFmpeg中av_interleaved_write_frame的高效使用技巧 音视频开发中,最令人头疼的问题莫过于音画不同步和卡顿。我曾在一个直播推流项目中,连续三天被这个问题折磨得焦头烂额——画面流畅但声音总是延迟半秒出现,用户体验极差。最终发…...

ComfyUI实战:LivePortrait对口型技术深度解析,打造动态人像新体验

1. LivePortrait对口型技术:让静态人像活起来的黑科技 第一次看到LivePortrait生成的效果时,我盯着屏幕愣了三分钟——一张普通的照片竟然能跟着我的语音节奏自然地"说话",连嘴角的微妙颤动都和真人无异。这种魔法般的体验&#x…...

低噪放(LNA)关键参数在5G通信电路设计中的优化策略

1. 5G时代LNA设计的核心挑战 当你用手机刷短视频时,可能不会想到信号要经历一场"马拉松"——从基站出发,穿过建筑、树木、甚至雨雾,最终到达你掌心大小的设备。而这场马拉松的第一棒选手,就是藏在手机射频前端的低噪声…...

Serpent 算法:从保守设计到硬件安全典范的深度剖析

1. Serpent 算法的前世今生 第一次听说 Serpent 算法是在2003年的一次密码学研讨会上。当时一位来自剑桥的工程师正在展示他的FPGA加密模块,提到这个算法时用了"固执的老古董"来形容——32轮加密的设计在当时看来简直匪夷所思。但正是这种"固执&quo…...

VSCode+PlatformIO环境下ESP32驱动1.3寸TFT屏幕:TFT_eSPI与lvgl配置实战

1. 硬件准备与接线指南 第一次接触ESP32和TFT屏幕时,最让我头疼的就是接线问题。我用的是一块1.3寸240240分辨率的SPI接口TFT屏幕,这种七针屏幕在淘宝上很常见,价格也很亲民。屏幕背面通常会标注引脚定义,如果没有的话可以找卖家要…...

JavaScript金融计算中的精度陷阱与decimal.js实战指南

1. 为什么金融计算需要decimal.js? 如果你在JavaScript中执行过0.1 0.2这样的计算,可能会惊讶地发现结果不是0.3,而是0.30000000000000004。这种精度问题在金融系统中简直是灾难——想象一下银行系统因为这种误差少算了一分钱,或…...

为什么频繁收到短信提醒?是因为温湿度出现异常波动设备及时提醒的?

​ 在现代生活和工作环境中,温湿度的稳定性对样本保存起着至关重要的作用,随着智慧物联网的持续发展,越来越多的医院以及实验室安装温湿度监控设备,以确保温湿度处于合适范围。通过安装采集器持续监测冰箱内部环境,…...

光流估计在自动驾驶中的5大应用场景:从车道线检测到碰撞预警

光流估计在自动驾驶中的5大应用场景:从车道线检测到碰撞预警 当一辆自动驾驶汽车以60公里/小时的速度行驶时,每秒需要处理超过100万像素的运动信息。传统基于静态图像的分析方法在这种动态场景中显得力不从心,而光流技术通过捕捉像素级的运动…...

CANoe诊断实战:从Console到Fault Memory的故障排查全流程

1. 当车辆故障灯突然亮起时,工程师如何用CANoe快速定位问题 那天我正在测试车间调试一台新车型的ECU,仪表盘上那个刺眼的黄色故障灯突然亮了起来。作为从业多年的汽车电子工程师,我立刻意识到这可能是偶发性故障——最让人头疼的问题类型。不…...

.NET AgentFramework实战:构建高可用多智能体工作流与微服务集成

1. 为什么需要多智能体工作流? 在现代化企业级应用中,业务逻辑往往涉及多个服务的协同处理。想象一下电商系统中的订单处理流程:需要同时调用库存服务、支付服务、物流服务和风控系统。传统做法是编写硬编码的调用链,但这种紧耦合…...

智能风扇调节:打造安静高效的系统散热优化方案

智能风扇调节:打造安静高效的系统散热优化方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanCon…...

3步掌握NormalMap-Online:免费在浏览器中生成专业法线贴图

3步掌握NormalMap-Online:免费在浏览器中生成专业法线贴图 【免费下载链接】NormalMap-Online NormalMap Generator Online 项目地址: https://gitcode.com/gh_mirrors/no/NormalMap-Online 还在为3D模型缺乏表面细节而烦恼吗?NormalMap-Online让…...

嵌入式工程师面试通关指南:从基础理论到实战调试的30个核心考点

1. 嵌入式系统基础概念 1.1 单片机与微处理器的本质区别 很多刚入门的工程师容易混淆单片机和微处理器的概念。简单来说,单片机就是"片上系统",它把CPU、存储器、I/O接口等核心部件都集成在了一个芯片里。我在设计智能家居控制器时就深有体会…...

Kali虚拟机内存扩展实战:从Gparted操作到swap分区配置

1. Kali虚拟机内存扩展的必要性 很多刚开始玩Kali Linux虚拟机的朋友都会遇到一个头疼的问题——磁盘空间不够用。特别是当你在做渗透测试或者运行一些资源密集型工具时,系统突然提示"磁盘空间不足",那种感觉就像开车时油箱突然见底一样让人焦…...

基于深度学习的肾结石检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Django+web+训练代码+数据集)

视频演示 基于深度学习的肾结石检测系统演示目录 视频演示 1. 前言​ 2. 项目演示 2.1 用户登录界面 2.2 主界面布局 2.3 个人信息管理 2.4 多模态检测展示 2.5 检测结果保存 2.6 多模型切换 2.7 识别历史浏览 2.8 管理员管理用户信息 2.9 管理员管理识别历史 3.模…...

基于Python的充电桩时空供需动态解析:以深圳峰谷电价与节假日效应为例

1. 充电桩供需动态分析的技术背景 电动汽车充电桩的供需关系分析是城市智慧交通建设中的重要课题。作为一名长期从事数据分析工作的技术人,我发现在实际项目中,单纯统计充电桩数量远远不够,关键在于理解时空维度上的供需变化规律。深圳作为国…...

2026年APP兼容性测试平台选型指南:精准破局兼容性难题困扰

随着移动互联网的飞速发展,APP的种类和数量呈爆炸式增长。然而,不同手机品牌、型号以及操作系统版本的差异,让APP在兼容性方面面临巨大挑战。许多开发者都遇到过这样的困扰:APP在某些手机上闪退、界面显示错乱,或是功能…...