## 客观技术限制 - **DPML语法约束**:必须遵循EBNF定义的role语法结构 - **XML格式要求**:标签必须正确闭合,属性值必须用双引号包围 - **三组件架构固化**:personality、principle、knowledge三组件的语义边界固定 - **文件编码**:必须使用UTF-8编码 - **引用协议约束**:@!引用必须指向实际存在的资源 - **PromptX系统集成**:必须与promptx命令行工具和ResourceManager兼容 ## 强制性编写规则 - **纯XML结构**:role文件必须从``标签开始,不得包含任何XML结构外的内容 - **根标签强制**:文件必须使用``作为根标签包装全部内容 - **三组件完整**:必须包含personality、principle、knowledge三个子标签 - **组件顺序固定**:子标签必须按personality → principle → knowledge顺序排列 - **文件纯净性**:除了``标签结构外,不得包含任何其他内容 - **引用规范性**:使用@!引用时必须遵循resource协议语法 - **镜像结构约束**:用户资源必须遵循`.promptx/resource/domain/`结构,镜像系统`prompt/domain/` ## 编写指导原则 - **编排优先**:role文件主要职责是编排组合,推荐使用@!引用机制而非直接内容 - **简洁性原则**:保持role文件的简洁和清晰,避免冗长的直接内容 - **模块化思维**:将具体内容抽离到独立的thought、execution、knowledge文件中 - **引用一致性**:在同一role文件中保持引用风格的一致性 - **可维护性**:通过引用机制实现内容的独立维护和复用 - **灵活性保留**:允许在引用和直接内容之间选择,但推荐引用 - **镜像一致性**:用户资源结构与系统资源保持一致,降低认知负载 ## 编写执行流程 ### Phase 1: 角色概念设计 1. **明确角色定位**:确定AI角色的核心身份和专业领域 2. **分析能力需求**:识别角色需要的思维特征、行为原则和专业知识 3. **规划组件结构**:决定三个组件的具体内容来源和组织方式 4. **选择编排策略**:决定使用引用机制还是直接内容 ### Phase 2: 资源组织规划 #### 用户资源目录结构(镜像系统结构): ``` .promptx/resource/domain/{roleId}/ ├── {roleId}.role.md # 主角色文件 ├── thought/ # 思维模式目录 │ └── {name}.thought.md # 专业思维模式 └── execution/ # 执行流程目录 └── {name}.execution.md # 专业执行流程 ``` #### 内容来源规划: 1. **思维模式来源**(personality组件): - 核心引用:`@!thought://remember`(记忆能力) - 核心引用:`@!thought://recall`(回忆能力) - 专业引用:`@!thought://[role-specific]`(角色特定思维) - 或直接定义角色的思维特征和认知偏好 2. **行为原则来源**(principle组件): - 专业引用:`@!execution://[role-specific]`(角色特定执行原则) - 或直接定义角色的行为准则和工作流程 3. **专业知识来源**(knowledge组件): - 领域引用:`@!knowledge://[domain-specific]`(领域专业知识) - 或直接定义角色的知识体系和技能框架 ### Phase 3: DPML结构实现 **关键要求:文件必须从``标签直接开始** **推荐编排风格(引用优先):** ```xml @!thought://remember @!thought://recall @!thought://[role-specific-thought] @!execution://[role-specific-execution] @!knowledge://[domain-specific-knowledge] ``` **示例:助手角色(参考assistant.role.md)** ```xml @!thought://remember @!thought://recall @!thought://assistant @!execution://assistant @!knowledge://general-assistant ``` **用户资源示例(自定义销售分析师):** ```xml @!thought://remember @!thought://recall @!thought://sales-analyst @!execution://sales-data-analysis @!knowledge://business-intelligence ``` **混合风格(引用+直接内容):** ```xml @!thought://remember @!thought://recall ## 角色特定思维特征 - **用户导向思维**:始终以用户需求为中心 - **解决方案思维**:专注于提供实用的解决方案 @!execution://assistant ## 补充行为原则 - 保持耐心和友善的交互风格 - 承认不确定性,不臆测答案 @!knowledge://general-assistant ``` **纯直接内容风格(不推荐但允许):** ```xml # 角色思维模式 ## 核心思维特征 - **特征1**:描述 - **特征2**:描述 # 角色行为原则 ## 核心原则 - **原则1**:描述 - **原则2**:描述 # 角色专业知识 ## 知识领域 - **领域1**:描述 - **领域2**:描述 ``` ### Phase 4: 质量检查和集成验证 1. **结构验证**:确保DPML role语法正确性 2. **引用检查**:验证所有@!引用的资源实际存在 3. **三组件完整性**:确认personality、principle、knowledge都有实质内容 4. **系统集成测试**:验证与promptx命令和ResourceManager的兼容性 5. **纯净性检查**:确认文件从``标签开始,无多余内容 6. **镜像结构验证**:确认用户资源目录结构符合镜像规范 ## 质量评价标准 ### 格式合规性 - ✅ 文件从``标签直接开始,无额外内容 - ✅ 使用正确的DPML role标签结构 - ✅ 三个子标签按personality → principle → knowledge顺序排列 - ✅ XML语法正确,标签正确闭合 - ✅ Markdown格式规范(如有直接内容) ### 编排质量 - ✅ 体现role文件的编排组合职责 - ✅ 合理使用@!引用机制实现模块化 - ✅ 保持文件的简洁性和可读性 - ✅ 引用风格在文件内保持一致 - ✅ 避免不必要的冗长直接内容 ### 三组件完整性 - ✅ personality组件包含思维特征定义或引用 - ✅ principle组件包含行为原则定义或引用 - ✅ knowledge组件包含专业知识定义或引用 - ✅ 三组件逻辑一致,共同构建完整角色 - ✅ 组件内容与角色定位匹配 ### 引用有效性 - ✅ 所有@!引用遵循resource协议语法 - ✅ 引用的资源路径正确且存在 - ✅ 引用内容与组件语义匹配 - ✅ 引用关系清晰,无循环依赖 ### 系统集成性 - ✅ 与PromptX锦囊串联系统兼容 - ✅ 支持promptx action命令激活 - ✅ 角色定义可被AI系统正确解析 - ✅ 实现角色的即时专家化能力 - ✅ ResourceManager可正确发现和加载 ### 文件纯净性 - ✅ 文件结构完全符合DPML role规范 - ✅ 无任何XML结构外的多余内容 - ✅ 体现role文件的标准编排格式 - ✅ 维持role文件的简洁优雅特性 ### 架构合规性 - ✅ 用户资源目录结构镜像系统结构 - ✅ 文件组织符合`.promptx/resource/domain/`规范 - ✅ 与系统资源结构保持一致性 - ✅ 降低用户认知负载和学习成本