Files
BlueRoseNote/07-Other/AI/AI Agent/UnrealEngine/UnrealMcp/UE5.8 MCP 1.md

40 lines
2.1 KiB
Markdown
Raw Normal View History

2026-06-01 19:39:19 +08:00
# UAgentSkill 分析
## 1. 它是什么
UAgentSkill 是 UE5.8 MCP 的 AI prompt 增强机制,功能等价于 Claude Code 的 Skill
| | UE5.8 UAgentSkill | Claude Code Skill |
|---|---|---|
| 载体 | Blueprint 资产UAgentSkill 子类) | Markdown 文件 |
| 作用 | 注入领域知识 + 指令到 AI 上下文 | 注入工作流指引到对话 |
| 依赖 | Toolsets 字段声明需加载哪些 toolset | 无 |
| 动态生成 | GeneratePrompt() 虚函数可编程 | 静态内容 |
| 创建 | AI 通过 MCP CreateSkill 创建 | 文件写入 |
它不是功能性工具,不执行编辑器操作——只提供上下文:"这个领域怎么用、工具有哪些、最佳实践是什么"。
## 2. 相关类
- **UAgentSkill**:基类,核心属性 Description + Instructions + Toolsets虚函数 GeneratePrompt()
- **UAgentSkillBestPractices**:改写 GeneratePrompt追加技能编写规范
- **UAgentSkill_NiagaraBase**:改写 GeneratePrompt前置 Niagara 概述 + 资产发现路径
- **UAgentSkillToolset**:继承 UToolsetDefinition暴露 MCP CRUDListSkills / GetSkills / CreateSkill / UpdateSkill
- **FAgentSkillDetails**DTO最终生成的 Instructions + 依赖 toolset 名列表
核心流程GetDetails() → GeneratePrompt(Instructions) → FAgentSkillDetails → AI 拿到最终 prompt。
## 3. 编写一个基础 UAgentSkill
**C++ 子类方式:**
1. 继承 UAgentSkill
2. 设置 Description简短摘要ListSkills 返回它)
3. 设置 Instructions详细指令会被 GeneratePrompt 处理)
4. 在 Toolsets 中声明依赖的功能性 toolset软引用系统据此自动加载
5. 重写 GeneratePrompt_Implementation() 在指令前后注入额外上下文
Niagara 实现模式:前置概念概述 → 遍历 toolset 获取专属 prompt → 插入原始 Instructions → 追加资产发现路径。
**MCP 运行时创建AI 调用,需用户许可):**
CreateSkill(/Game/Skills/, MySkill, "描述", {Instructions:"...", Toolsets:["/Script/..."]}),本质是创建以 UAgentSkill 为父类的 Blueprint 资产,写入 CDO 属性。