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

40 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 属性。