更新角色和资源协议文档,新增提示词开发者和记忆触发机制的定义,优化角色的内容结构,提升文档的清晰度和实用性。同时,删除不再使用的README文档,清理代码库以提高可维护性。

This commit is contained in:
sean
2025-05-20 13:55:55 +08:00
parent 8ebc9da367
commit b40cf2496d
13 changed files with 806 additions and 337 deletions

View File

@ -1,118 +0,0 @@
# PromptX 协议文档
> **TL;DR:** PromptX协议体系包含基础协议定义和最佳实践指南为不同角色框架开发者、提示词开发者、提示词理解者提供相应的参考资料。
## 目录结构
```
protocol/
├── base/ # 基础协议定义 - 语法和语义
│ ├── thought.protocol.md
│ ├── execution.protocol.md
│ ├── resource.protocol.md
│ ├── memory.protocol.md
│ └── ...
├── practice/ # 最佳实践指南 - 实际应用建议和示例
│ ├── thought-best-practice.md
│ ├── execution-best-practice.md
│ ├── resource-best-practice.md
│ ├── memory-best-practice.md
│ └── ...
├── template/ # 协议模板 - 用于创建新协议
│ ├── protocol-pattern-template.md
│ ├── protocol-application-template.md
│ └── ...
└── README.md # 本文件
```
## 角色定义与关注点
### 1. 框架开发者
**定义**负责设计和维护DPML协议体系本身的开发人员。
**目标**
- 设计一致且可扩展的协议体系
- 保证协议间的互操作性
- 优化协议的表达能力和效率
**应关注内容**
-`base/` 所有协议定义
-`practice/` 所有最佳实践
-`template/` 所有协议模板
- ✅ 协议之间的依赖和互操作
### 2. 提示词开发者
**定义**使用DPML框架开发具体提示词的工程师或设计师。
**目标**
- 设计高质量、结构化的提示词
- 优化提示词的效果和性能
- 复用现有协议和最佳实践
**应关注内容**
-`base/` 相关协议的语法和语义
-`practice/` 相关协议的最佳实践和示例
- ❌ 协议内部实现细节
### 3. 提示词理解者
**定义**需要解析和执行DPML结构化提示词的系统或组件如AI模型、解析器等
**目标**
- 准确理解提示词的语法和语义
- 按预期执行提示词指令
**应关注内容**
-`base/` 协议的语法定义和语义说明
- ❌ 最佳实践和设计建议
- ❌ 协议模板和开发方法
## 文档类型说明
### 协议文档 (`base/*.protocol.md`)
协议文档定义了"**是什么**"和"**如何理解**"
- 语法定义:标签结构、属性、嵌套规则等
- 语义说明:各元素的含义和解释规则
- 子标签语义:子标签的功能和互操作方式
这些文档面向**所有角色**,但主要服务于**提示词理解者**,提供基础的语法和语义规范。
### 最佳实践文档 (`practice/*-best-practice.md`)
最佳实践文档探讨"**怎么用**"和"**用得更好**"
- 设计建议:推荐的使用方法和模式
- 风格指南:推荐的表达风格和格式
- 实际示例:常见用例的具体实现
这些文档主要面向**提示词开发者**,帮助他们创建高质量的提示词。
### 模板文档 (`template/*.md`)
模板文档提供了"**如何创建新协议**"的指导:
- 结构模板:新协议的标准结构
- 内容要求:各节应包含的内容
- 验证清单:完整性与一致性检查
这些文档专门面向**框架开发者**,用于扩展协议体系。
## 使用指南
### 作为框架开发者
1. 参考 `template/` 下的模板创建新协议
2. 确保新协议与现有协议体系一致
3. 同时提供协议定义和最佳实践文档
### 作为提示词开发者
1. 首先阅读相关协议的语法和语义 (`base/`)
2. 参考最佳实践和示例 (`practice/`)
3. 按协议规范构建提示词
### 作为提示词理解者
1. 重点关注协议的语法定义和语义说明 (`base/`)
2. 按规范解析和处理提示词

View File

@ -1,11 +1,10 @@
# DPML记忆模式提示词框架
> **TL;DR:** DPML记忆模式提示词框架定义了AI系统的记忆管理提示词模板支持先验知识库定义与运行时记忆管理,包含知识库(knowledge)、评估(evaluate)、存储(store)和回忆(recall)个核心组件,实现完整的记忆能力。
> **TL;DR:** DPML记忆模式提示词框架定义了AI系统的记忆管理提示词模板支持运行时记忆管理包含评估(evaluate)、存储(store)和回忆(recall)个核心组件,实现完整的动态记忆能力。
### 目的与功能
DPML记忆模式提示词框架为AI系统提供完整的记忆能力提示词模板主要功能包括
- 定义角色的知识库和初始认知结构
- 提供运行时记忆的评估、存储和检索的标准化提示词机制
- 实现跨会话的信息持久化提示词模板
- 支持复杂的记忆关联和检索模式的提示词构建
@ -13,7 +12,7 @@ DPML记忆模式提示词框架为AI系统提供完整的记忆能力提示词
## 🔍 基本信息
**框架名称:** `<memory>` (DPML记忆模式提示词框架)
**版本:** 1.1.0
**版本:** 1.2.0
**类别:** 记忆类提示词
**状态:** 草稿
@ -27,14 +26,12 @@ attribute ::= name '="' value '"'
name ::= [a-zA-Z][a-zA-Z0-9_-]*
value ::= [^"]*
memory_content ::= (text | knowledge_element | evaluate_element | store_element | recall_element)+
memory_content ::= (text | evaluate_element | store_element | recall_element)+
knowledge_element ::= '<knowledge>' knowledge_content '</knowledge>'
evaluate_element ::= '<evaluate:thought>' thought_content '</evaluate:thought>'
store_element ::= '<store:execution' attributes? '>' (text | execution_element)* '</store:execution>'
recall_element ::= '<recall:thought>' thought_content '</recall:thought>'
knowledge_content ::= (* 任何文本内容通常使用Markdown格式 *)
thought_content ::= (* 符合thought协议的内容 *)
execution_element ::= (* 符合execution协议的元素 *)
@ -43,45 +40,38 @@ text ::= (* 任何文本内容 *)
## 🧩 语义说明
memory标签表示AI系统的记忆管理单元定义了记忆的结构和操作方式。它由先验知识库定义和运行时记忆管理两大部分组成:
### 记忆结构
1. **`<knowledge>`**: 定义角色的先验知识库
- 包含角色固有的、初始化的知识体系
- 这些知识在角色创建时就已存在,不是运行时获取的
- 构成角色认知和专业领域的基础框架
- **重要特性**knowledge标签内的所有内容和资源引用无论是@file://@http://还是其他协议)都应在角色初始化时预加载,而不是按需加载
memory标签表示AI系统的记忆管理单元定义了动态记忆的结构和操作方式。它由运行时记忆管理的三个核心部分组成:
### 记忆操作
memory标签包含三个核心子标签分别对应记忆的三个操作阶段
2. **`<evaluate:thought>`**:评估信息是否值得记忆
1. **`<evaluate:thought>`**:评估信息是否值得记忆
- 通过thought协议实现评估过程
- 判断信息的价值、相关性和可信度
- 决定是否将信息存入记忆系统
3. **`<store:execution>`**:将信息存入记忆系统
2. **`<store:execution>`**:将信息存入记忆系统
- 通过execution协议实现存储操作
- 定义存储过程、规则和约束
- 管理记忆的添加、更新和组织
4. **`<recall:thought>`**:从记忆系统检索并应用信息
3. **`<recall:thought>`**:从记忆系统检索并应用信息
- 通过thought协议实现回忆过程
- 判断何时需要检索特定记忆
- 规划如何检索和应用记忆内容
- 可以使用多种实现方式,包括但不限于资源引用
- **注意**与knowledge不同recall标签中的资源引用默认是按需加载的
- **注意**recall标签中的资源引用默认是按需加载的
### 组件关系
个核心组件之间具有明确的逻辑关系:
- knowledge是静态基础构成角色的知识背景
个核心组件之间具有明确的逻辑关系:
- evaluate-store-recall构成动态记忆的完整循环
- evaluate决定什么值得记忆
- store定义如何保存记忆
- recall描述何时以及如何使用记忆
记忆系统的运行遵循"评估-存储-回忆"的循环模式,在knowledge定义的知识框架上不断丰富和发展角色的认知能力。
记忆系统的运行遵循"评估-存储-回忆"的循环模式,不断丰富和发展角色的记忆能力。
> **注意**:先验知识库(knowledge)已经迁移至`<role>`标签下管理,`<memory>`标签专注于动态记忆的运行时管理。

View File

@ -15,19 +15,21 @@ DPML角色合成提示词框架说明了如何通过基础协议的组合构建A
```ebnf
(* EBNF形式化定义 *)
role_element ::= '<role' attributes? '>' role_content '</role>'
role_content ::= (personality_element | principle_element | knowledge_element | experience_element)+
role_content ::= (personality_element | principle_element | knowledge_element | experience_element | action_element)+
(* 角色组织标签 *)
personality_element ::= '<personality' attributes? '>' personality_content '</personality>'
principle_element ::= '<principle' attributes? '>' principle_content '</principle>'
knowledge_element ::= '<knowledge' attributes? '>' knowledge_content '</knowledge>'
experience_element ::= '<experience' attributes? '>' experience_content '</experience>'
action_element ::= '<action' attributes? '>' action_content '</action>'
(* 内部内容 *)
personality_content ::= markdown_content
principle_content ::= markdown_content
knowledge_content ::= markdown_content
experience_content ::= markdown_content
action_content ::= markdown_content
attributes ::= (' ' attribute)+ | ''
attribute ::= name '="' value '"'
@ -64,4 +66,11 @@ value ::= [^"]*
- 记忆模式为 `<memory>` 的语义功能
- 定义角色如何评估、存储和回忆信息
- 设置不同记忆模式的检索条件和优先级
- 确保角色记忆处理的连贯性和适应性
- 确保角色记忆处理的连贯性和适应性
- **action(角色激活)**: 提供角色初始化和执行的入口
- 定义角色从"定义"到"执行"的转换机制
- 明确角色初始化序列和优先级
- 规定资源加载、记忆系统启动等关键步骤
- 确保角色能够正确地进入执行状态
- 建立角色定义与实际执行间的桥梁