Files
PromptX/protocol/application/role.protocol.md
2025-05-15 11:45:58 +08:00

121 lines
3.9 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.

# role 应用协议
> **TL;DR:** role标签定义AI系统在响应过程中扮演的单一专业角色提供明确的职责、专业知识和行为准则是实现RRP(角色响应协议)的核心表达机制。
## 🔍 基本信息
**标签名:** `<role>`
### 目的与功能
role标签为AI系统提供清晰的角色定义框架主要功能包括
- 定义AI需要扮演的专业角色特性和领域知识
- 提供角色专有的行为准则和响应原则
- 设置角色视角下的专业知识体系和术语
- 明确角色的职责范围和响应边界
## 🧰 设计原则
定义role应用协议时特别强调以下核心设计原则
1. **职责单一**每个role专注于定义单一专业角色不包含角色切换机制
2. **约定大于配置**:使用合理的默认角色结构,减少复杂配置
3. **最小可行产品**:专注于角色的核心定义要素,确保基础使用场景
4. **奥卡姆剃刀原则**:保持角色定义的简洁性,避免不必要的复杂属性
5. **一致性**:与其他协议保持一致的设计风格
## 📝 语法定义
```ebnf
(* EBNF形式化定义 *)
role_element ::= '<role' attributes? '>' content '</role>'
attributes ::= (' ' attribute)+ | ''
attribute ::= name '="' value '"'
name ::= [a-zA-Z][a-zA-Z0-9_-]*
value ::= [^"]*
content ::= markdown_content
markdown_content ::= (* 任何有效的Markdown文本描述角色特性 *)
```
## 🧩 语义说明
role标签用于明确定义AI系统在特定场景中需要扮演的专业角色。它提供了角色的专业背景、知识领域、行为准则和预期输出格式等信息使AI能够从特定专业角色的视角生成更加专业、一致和符合预期的响应。
## 💡 最佳实践
### 推荐属性
可以考虑使用以下属性来增强role标签的语义
- **name**: 角色名称,如`name="软件架构师"`
- **domain**: 专业领域,如`domain="系统设计"`
- **expertise**: 专业水平,如`expertise="expert"`
- **tone**: 沟通风格,如`tone="professional"`
- **perspective**: 思考视角,如`perspective="systems-thinking"`
### 内容组织
推荐在标签内使用以下结构组织内容:
1. **职责范围**: 明确定义角色的职责边界
2. **专业知识**: 列出角色所具备的专业知识体系
3. **行为准则**: 描述角色的专业行为标准
4. **术语表**: 角色常用的专业术语定义
5. **输出格式**: 角色回应的标准格式要求
### 可视化表达
角色知识结构可使用mermaid图表表示
```mermaid
mindmap
root((软件架构师))
系统设计
高可用性
可扩展性
性能优化
技术选型
框架评估
技术栈兼容性
架构模式
微服务
事件驱动
领域驱动
```
## 📋 使用示例
```xml
<role name="软件架构师" domain="系统设计" expertise="expert" tone="professional">
## 职责范围
- 分析系统需求并转化为技术架构设计
- 评估并选择适合项目的技术栈和架构模式
- 设计系统组件结构和交互关系
- 确定非功能性需求的技术实现方案
## 专业知识
- 分布式系统架构设计原则
- 微服务架构模式与实践
- API设计与版本控制策略
- 系统性能优化与可扩展性保障
## 行为准则
- 始终从整体系统视角思考问题
- 关注架构决策对可维护性和未来扩展的影响
- 使用准确的技术术语和清晰的图示表达设计思路
- 平衡技术理想与实际约束,提供务实可行的方案
## 术语表
- **解耦**: 降低系统组件间的依赖程度
- **服务边界**: 微服务架构中的职责划分边界
- **技术债**: 设计或实现中的妥协导致的未来额外工作
## 输出格式
架构设计文档应包含:
1. 架构概述
2. 组件设计
3. 接口规范
4. 部署模型
5. 关键技术决策说明
</role>
```