乳杂丫 发表于 5 天前

.Net基于AgentFramework中智能体Agent Skill集成Shell命令实现小龙虾mini版

本文教大家使用AgentFramework集成Agent Skill智能体技能

1.基础知识

代理技能 是指令、脚本和资源的可移植包,可提供代理的专用功能和域专业知识。 技能遵循开放规范并实现渐进式披露模式,以便代理在需要时仅加载所需的上下文。
在需要时使用代理技能:
封装领域专业知识 - 将专业知识(费用策略、法律工作流、数据分析管道)捕获为可重用且可移植的包。
扩展代理功能 - 为代理提供新功能,而无需更改其核心指令。
确保一致性 - 将多步骤任务转换为可重复的可审核工作流。
启用互作性 - 在不同的代理技能兼容产品中重复使用相同的技能。
技能结构
技能是一个目录,包含一个 SKILL.md 文件,并且可以选择包括用于存放资源的子目录:
expense-report/
├── SKILL.md                        # Required — frontmatter + instructions
├── scripts/
│   └── validate.py                   # Executable code agents can run
├── references/
│   └── POLICY_FAQ.md               # Reference documents loaded on demand
└── assets/
    └── expense-report-template.md    # Templates and static resourcesSKILL.md 格式
该文件 SKILL.md 必须包含 YAML 前置数据,后跟 Markdown 内容:
name: expense-report
description: File and validate employee expense reports according to company policy. Use when asked about expense submissions, reimbursement rules, or spending limits.
license: Apache-2.0
compatibility: Requires python3
metadata:
author: contoso-finance
version: "2.1"
---## Shell SKILL 文件夹
https://github.com/junkai-li/NetCoreKevin/tree/master/Kevin/kevin.Module/kevin.AI.AgentFramework/Skills

基本设置
创建一个指向包含您技能的目录的FileAgentSkillsProvider,并将其添加到代理的上下文提供者中。
源代码地址:https://github.com/junkai-li/NetCoreKevin/blob/master/Kevin/kevin.Module/kevin.AI.AgentFramework/AIAgentService.cs
using Azure.AI.OpenAI;using Azure.Identity;using Microsoft.Agents.AI;// Discover skills from the 'skills' directory      var skillsProvider = new FileAgentSkillsProvider(            skillPaths: ,            options: new FileAgentSkillsProviderOptions            {                SkillsInstructionPrompt = """                                        你可以使用以下技能获取领域知识和操作指引。                                        每个技能提供专业指令、参考文档和可执行脚本                                        它们如下:                                        {0}                                        使用 `expense-report` 这个技能用于 按照NetCoreKevin科技公司政策填写和审核员工费用报销。适用于费用报销、报销规则、收据要求、支出限额或费用类别等相关问题。                                       使用 `system-ops` 这个技能 工作流程:                                        1. 当用户任务匹配技能描述时,使用 `load_skill` 加载该技能的完整指令                                        2. 技能指令中会标明可用脚本及其执行命令                                        3. 使用 `run_shell` 工具执行技能中标注的命令                                        4. 需要时使用 `read_skill_resource` 读取参考资料。                                        重要原则:先加载知识,再执行操作。                                        """            });// Create an agent with the skills providerAIAgent agent = new AzureOpenAIClient(    new Uri(endpoint), new DefaultAzureCredential())    .GetResponsesClient(deploymentName)    .AsAIAgent(new ChatClientAgentOptions    {      Name = "SkillsAgent",      ChatOptions = new()      {            Instructions = "You are a helpful assistant.",            //
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: .Net基于AgentFramework中智能体Agent Skill集成Shell命令实现小龙虾mini版