更新角色和资源协议文档,新增提示词开发者和记忆触发机制的定义,优化角色的内容结构,提升文档的清晰度和实用性。同时,删除不再使用的README文档,清理代码库以提高可维护性。
This commit is contained in:
@ -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. 按规范解析和处理提示词
|
||||
@ -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>`标签专注于动态记忆的运行时管理。
|
||||
|
||||
|
||||
@ -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(角色激活)**: 提供角色初始化和执行的入口
|
||||
- 定义角色从"定义"到"执行"的转换机制
|
||||
- 明确角色初始化序列和优先级
|
||||
- 规定资源加载、记忆系统启动等关键步骤
|
||||
- 确保角色能够正确地进入执行状态
|
||||
- 建立角色定义与实际执行间的桥梁
|
||||
Reference in New Issue
Block a user