如何给Agent Skill添加MAF快速入门(19)中的脚本执行功能?

摘要:根据上一篇我们知道,Agent Skill就是大模型随时翻阅的说明文档,它还可以包含一些资源文件,而脚本就是其中的一种重要资源。本文介绍了Agent Skill的脚本执行,脚本 和 工具的对比,最后通过一个MAF中Agent Skill 结
大家好,我是Edison。 最近我一直在跟着圣杰的《.NET+AI智能体开发进阶》课程学习MAF开发多智能体工作流,我强烈推荐你也上车跟我一起出发! 上一篇,我们初步学习了Agent Skill的基本概念以及在MAF中实现了一个Agent Skill的案例。本篇,我们来了解下Agent Skill如何集成脚本执行能力。 1 Agent Skill中的执行脚本 根据上一篇我们知道,Agent Skill就是大模型随时翻阅的说明文档,它还可以包含一些资源文件,而脚本就是其中的一种重要资源。 skill/ ├── SKILL.md # 必需:指令 + 元数据 ├── scripts/ # 可选:可执行代码 ├── references/ # 可选:文档资料 └── assets/ # 可选:模板、资源文件 scripts子目录 这些脚本会被放在其所属skill目录下的scripts子目录下,不管它是BASH脚本,PowerShell脚本,又或者是Python/C#代码,只要是Agent所在客户/服务端能够执行的都可以。 总结,Skills不仅让Agent知道处理规则(SKILL.md + references),还能让Agent直接上手处理(scripts)。 工具 vs 技能 工具(Tool)是一种能力,而技能(Skill)是一种知识。比如,自己开发一个PowerShellTools,给模型提供一些run shell的能力,我们通过注册到 ChatOptions.Tools 完成加载。 又如,自己定义一个系统运维Skill,给模型提供一些系统运维的知识,我们通过注册到AIContextProviders完成加载。 知识指导行为,而非工具限定行为。 2 快速开始:MAF中集成Shell执行能力 假设我们有这样一个需求:某企业开发了一个IT助手Agent,它运行在每个员工的笔记本电脑上,可以回答用户关于系统方面的一些问题并加以分析给出建议。 例如,很多员工发现自己的笔记本电脑最近越来越慢了,又或者发现内存一直高负载 等等,在以前员工会直接联系IT部的某位员工,而现在IT部将自身的运维经验封装为了一个Skill并通过Agent直接回复员工。 以终为始,我们的Agent应用的解决方案长这样子:这是一个.NET控制台应用程序,其中有一个skills目录,存放了系统运维领域的知识,这是IT部呕心沥血整理的“宝典”。 系统运维Skill 首先,我们创建这个SKILL.md,内容如下: --- name: system-ops description: 系统运维诊断技能。适用于系统健康检查、磁盘空间分析、进程资源监控、故障排查等系统运维场景。包含可执行的诊断脚本。 --- # 系统运维(System Operations) ## 可用诊断脚本 以下脚本位于本技能的 `scripts/` 目录,可通过 `run_shell` 工具执行: | 脚本 | 用途 | 执行命令 | |------|------|--------| | check-system-info.ps1 | 获取系统基本信息(OS、CPU、内存) | | check-disk-usage.ps1 | 检查磁盘使用情况和剩余空间 | | check-top-processes.ps1 | 查看 CPU/内存占用 Top 进程 | ## 运维检查流程 1. **基础检查**:先执行 `check-system-info.ps1` 获取系统概况 2. **针对性诊断**:根据用户问题,选择性执行磁盘或进程检查脚本 3. **分析报告**:综合脚本输出和故障排查指南,给出诊断结论和建议 4. **故障排查**:如需深入排查,参考 [references/troubleshooting-guide.md](references/troubleshooting-guide.md) ## 告警阈值 | 指标 | 正常 | 警告 | 严重 | |------|------|------|------| | CPU 使用率 | <70% | 70-90% | >90% | | 内存使用率 | <80% | 80-95% | >95% | | 磁盘使用率 | <70% | 70-90% | >90% | | 单进程 CPU | <30% | 30-60% | >60% | 由于该Skill还定义了引用的资源,所以我们还需要添加: (1)参考文件:故障自查指南 说明:这是一个markdown文件。
阅读全文