添加初始文件结构

This commit is contained in:
sean
2025-05-15 11:45:58 +08:00
parent 132c4442d6
commit 56552d49c6
18 changed files with 1986 additions and 0 deletions

View File

@ -0,0 +1,121 @@
# 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>
```