feat: 准备snapshot发布 - 简化角色系统,完善核心命令

This commit is contained in:
sean
2025-05-31 18:51:31 +08:00
parent 323c4e569c
commit dcd5f8ce1f
59 changed files with 1069 additions and 7117 deletions

View File

@ -1,48 +0,0 @@
<execution>
<process>
# 资源处理#流程
```mermaid
flowchart TD
A[识别#资源引用] --> B{判断#加载语义}
B -->|@!前缀| C[立即执行#工具调用]
B -->|@?前缀| D[记录位置暂不#加载]
B -->|@默认| E[根据上下文决定]
C --> F[验证#加载结果]
E --> F
F -->|成功| G[处理#资源内容]
F -->|失败| H[执行失败处理]
D --> I[等待使用触发]
I --> J[需要使用时#加载]
J --> F
```
</process>
<rule>
1. AI必须主动使用#工具调用获取#资源,不等待系统自动#加载
2. 遇到@!前缀#资源必须立即执行#工具调用获取内容
3. 遇到@?前缀#资源应记录位置但暂不#加载
4. 必须验证#资源是否成功#加载并处理失败情况
</rule>
<constraint>
1. 工具调用能力限制不同AI系统支持的工具不同
2. 资源访问权限限制
3. 资源大小和格式限制
</constraint>
<guideline>
1. 优先处理关键资源,确保核心功能不受资源加载问题影响
2. 资源内容应适当缓存,避免重复加载
3. 大型资源考虑分段加载以优化性能
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 加载及时性 | @!资源被立即加载 | 忽略加载语义前缀 |
| 错误处理 | 妥善处理加载失败 | 加载失败无响应 |
| 懒加载执行 | @?资源仅在需要时加载 | 过早加载或完全不加载 |
| 完整性 | 资源内容完整获取 | 内容截断或损坏 |
</criteria>
</execution>

View File

@ -1,208 +0,0 @@
<execution>
<process>
#记忆 处理自动化#流程
## #角色 #初始化 阶段
```mermaid
flowchart TD
Start[#角色 #初始化 触发] --> A[检查#记忆文件存在性]
A -->|文件存在| B[主动#加载#记忆文件]
A -->|文件不存在| C[准备空#记忆容器]
B --> D[解析#记忆内容]
C --> E[建立#记忆索引]
D --> E
E --> F[#记忆系统就绪]
F --> G[继续#角色#初始化]
```
### #初始化 步骤详解
1. **检测#角色切换或#初始化**
- 识别"代入#角色"、"作为#角色"等指令
- 识别`@role://角色ID`或`@file://path/to/role.md`#资源引用
2. **主动#加载#记忆文件**
- 使用#工具调用读取`.memory/declarative.md`
- 如果文件不存在,记录状态但不报错
- 准备好空#记忆容器以接收新#记忆
3. **建立#记忆索引**
- 将加载的#记忆解析为结构化数据
- 建立#关键词#索引便于快速检索
- 识别常用#标签集和主题分类
## 运行时#记忆处理#流程
```mermaid
flowchart TD
A[接收#记忆请求] --> B{验证#评分标记}
B -->|无#评分| C[拒绝并要求#评分]
B -->|有#评分| D{检查#评分依据}
D -->|依据不足| E[拒绝并要求补充]
D -->|依据充分| F{#评分验证}
F -->|#评分≥7| G[准备存储格式]
F -->|#评分<7| H[拒绝并说明原因]
G --> I[准备存储格式]
I --> J[执行#工具调用存储]
```
```mermaid
flowchart TD
A[监听用户输入] --> B{#记忆价值判断}
B -->|显式#记忆指令| C[标记为强制#记忆]
B -->|高价值信息| D[触发评估#流程]
B -->|低价值信息| E[不处理]
C --> F[提取#记忆内容]
D --> F
F --> G[准备#记忆格式]
G --> H[执行#工具调用存储]
H --> I{存储结果验证}
I -->|成功| J[提供简洁#emoji#反馈]
I -->|失败| K[记录错误并重试]
J --> L[继续对话]
K --> L
M[检测#记忆相关问题] --> N{是否需要#回忆}
N -->|是| O[触发#回忆#流程]
N -->|否| P[正常响应]
O --> Q[检索相关#记忆]
Q --> R[将#记忆融入回答]
R --> P
```
### 1. 识别#记忆内容
**自动识别以下情况**
- **显式#记忆指令**:包含"记住"、"记录"、"牢记"等指令词
- **个人信息陈述**:如"我是..."、"我的...是..."、"我喜欢..."等
- **重要事实标记**:用户明确表示某信息重要
- **未来引用预告**:用户表示将来会用到此信息
### 2. 自动评估#流程
**自动触发评估**
- 对于显式#记忆指令,直接标记为强制#记忆,跳过评估
- 对于隐式高价值信息,调用多维度评估机制
- 根据预设阈值决定是否#记忆
### 3. 自动存储#流程
**自主执行#工具调用**
- 使用 `promptx.js remember` 命令存储#记忆
- 命令格式:`node PromptX/promptx.js remember "#记忆内容 #关键点1 #关键点2 #评分:分值 #有效期:时长"`(此 # 非 DPML 的 #,仅为命令格式要求)
- 示例:`node PromptX/promptx.js remember "用户偏好设置 #用户信息 #配置 #评分:8 #有效期:长期"`
- 验证存储结果并提供#反馈
**#记忆存储格式**
```
#记忆条目格式:
- {内容} #关键点1 #关键点2 #评分:{分值} #有效期:{时长} #时间:{时间戳}(此 # 非 DPML 的 #,仅为命令格式要求)
示例:
- 用户偏好深色主题 #用户信息 #配置 #评分:8 #有效期:长期 #时间:2024-03-20 15:30
```
### 4. 自动#反馈机制
**条件#反馈处理**
- 存储成功后提供简洁#emoji#反馈
- #反馈应不打断自然对话流
- 仅在关键#记忆节点提供视觉#反馈
### 5. 自动#回忆机制
**上下文触发#回忆**
- 检测对话中是否出现相关问题或需求
- 主动#加载#记忆文件并检索相关内容
- 自然地将#记忆内容融入回答中
### 6. #工具初始化检查
**启动时执行**
- 检查 promptx.js 是否可用
- 验证 remember 命令是否正常
- 确认#记忆存储权限
### 7. 违规监控机制
**违规处理#流程**
```mermaid
flowchart TD
A[检测#记忆存储请求] --> B{是否使用promptx.js}
B -->|是| C[继续处理]
B -->|否| D[记录违规]
D --> E{违规次数}
E -->|首次| F[发出警告]
E -->|再次| G[记录到审计日志]
E -->|三次及以上| H[暂停#记忆功能]
F --> I[引导使用正确命令]
G --> I
H --> J[要求人工干预]
```
</process>
<rule>
1. 角色初始化时**必须**主动加载记忆文件
2. 显式记忆指令**必须且只能**使用 `promptx.js remember` 命令执行存储
3. 记忆存储**必须**包含评分、标签和有效期信息
4. 工具调用结果**必须**得到验证,确保记忆实际写入
5. 记忆反馈**必须**简洁明了使用emoji等轻量级方式
6. 高价值信息识别和评估**必须**自动进行,不依赖用户明确指示
7. 记忆回忆**必须**在检测到相关需求时自动触发
8. 记忆处理的全流程**必须**在单次对话交互中完成,不拖延到后续交互
9. **严禁**使用其他工具调用替代 promptx.js remember 命令
10. **严禁**忽略评分不达标的记忆存储请求
11. 违反工具使用规则**必须**执行违规处理流程
12. 命令格式**必须**为node promptx.js remember "内容 #标签 #评分:分值 #有效期:时长"
</rule>
<constraint>
1. 记忆处理流程不得明显延迟对话响应时间
2. 记忆存储受系统工具调用能力限制
3. 单次交互中可处理的记忆条目数量有限
4. 记忆评估受限于AI的语义理解能力
5. 记忆文件访问和写入可能受到环境限制
6. emoji反馈可能在某些界面中显示不完整
7. 仅允许使用 promptx.js remember 进行记忆存储
8. 其他工具调用在记忆存储场景下将被拒绝
9. 记忆存储操作不可被其他工具替代
10. 单次记忆命令执行时间不超过1秒
11. 评分计算不超过100ms
12. 存储验证不超过50ms
</constraint>
<guideline>
1. 角色初始化时应检查并加载所有相关记忆文件
2. 优先处理包含个人信息、偏好和关键决策的内容
3. 使用一致的标签体系便于后续检索和关联
4. 记忆条目应保持简洁但包含足够上下文
5. 避免存储明显的重复信息,应更新而非追加
6. 记忆反馈应作为轻量级确认,不打断对话流程
7. 回忆机制应自然融入回答,避免机械式引用
8. 高度相关的记忆应在合适时机主动提供,不等用户询问
9. 发现记忆指令时应立即切换到 promptx.js remember 命令
10. 首次出现工具选择错误时,应提供正确使用方法的指导
11. 对于评分不达标的信息,应明确解释不存储的原因
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 初始化完整性 | 角色初始化时自动加载记忆 | 需用户提醒加载记忆 |
| 自动识别率 | 95%以上的显式记忆指令被自动识别 | 需用户多次提醒才执行记忆 |
| 处理完整性 | 识别到存储反馈全流程自动完成 | 流程断裂需人工介入 |
| 存储实效性 | 通过工具调用实际写入文件 | 仅在对话中声明 |
| 反馈适当性 | 简洁、及时且不打断对话 | 无反馈或过度干扰 |
| 回忆主动性 | 相关场景下自动检索并应用记忆 | 用户需明确要求回忆 |
| 流程效率 | 不影响对话响应时间 | 明显延迟或阻塞对话 |
| 集成一致性 | 与现有记忆协议无缝集成 | 与其他协议冲突 |
| 工具选择正确性 | 使用 promptx.js remember | 使用其他工具调用 |
| 命令格式正确性 | 符合规定格式 | 格式错误或缺失参数 |
| 违规处理及时性 | 及时发现并处理违规 | 忽视违规操作 |
</criteria>
</execution>

View File

@ -1,163 +0,0 @@
<execution>
<process>
# 记忆工具使用规范
## 🚨 强制命令调用自检与违规中断机制
- 每次记忆存储前,**必须自检是否通过标准命令调用**如promptx.js remember如未走命令自动中断并发出警告。
- 检测到edit_file、write_file等直接写文件操作时**立即中断流程并提示"记忆存储只能用命令,禁止直接写文件"**。
- 所有记忆存储分支的终点都必须是命令调用,而不是文件写入。
```mermaid
flowchart TD
A[启动记忆服务] --> B[检查工具可用性]
B --> C[注册监控钩子]
C --> D[等待记忆触发]
D --> E{检测记忆指令}
E -->|显式指令| F[强制使用promptx.js]
E -->|隐式指令| G[评估并使用promptx.js]
F --> H[执行记忆命令]
G --> H
I[检测工具使用错误] --> J{纠正机制}
J -->|首次错误| K[发出警告]
J -->|再次错误| L[记录违规]
J -->|多次错误| M[阻断操作]
K --> N[提供正确示例]
L --> N
N --> O[重定向到正确工具]
O --> H
```
## 工具优先级规则
1. **命令优先级设置**
- promptx.js remember 命令具有最高优先级
- 任何记忆存储操作必须使用此命令
- 其他工具调用在记忆场景下将被自动拦截
2. **命令格式标准化**
- 标准格式:`node PromptX/promptx.js remember "内容 #关键点1 #关键点2 #评分:分值 #有效期:时长"`(此 # 非 DPML 的 #,仅为命令格式要求)
- 示例:`node PromptX/promptx.js remember "用户偏好简洁界面 #用户偏好 #设置 #评分:8 #有效期:长期"`
- 所有参数必须按照规定格式提供,不得省略必要参数
3. **监控与拦截机制**
- 实时监控所有记忆相关操作
- 自动拦截非 promptx.js 的工具调用
- 自动转换为正确的命令格式
- 记录所有拦截和转换操作
4. **违规处理流程**
```
1. 首次违规:发出警告,提供正确使用示例
2. 二次违规:记录违规,强制转换为正确命令
3. 三次违规:阻断操作,要求人工确认
4. 多次违规:暂时禁用自动记忆功能
```
5. **工具调用初始化检查**
- 系统启动时检查 promptx.js 可用性
- 验证 remember 命令是否正常工作
- 测试记忆存储路径的写入权限
- 配置违规监控阈值和处理策略
</process>
<rule>
0. **记忆存储自检规则**
- 每次记忆存储前必须检查是否为标准命令调用promptx.js remember
- 检测到直接写文件等非命令操作时,立即中断并发出警告
- 存储后必须有 emoji 反馈,反馈内容需包含命令执行结果
1. **工具选择强制规则**
- 记忆操作**必须且只能**使用 promptx.js remember 命令
- **严禁**使用任何其他工具调用替代
- 违反工具使用规则将触发自动拦截和纠正
- 连续违规将导致记忆功能暂时禁用
2. **命令格式强制规则**
- 命令格式必须为:`node promptx.js remember "内容 #关键点1 #关键点2 #评分:分值 #有效期:时长"`(此 # 非 DPML 的 #,仅为命令格式要求)
- 评分参数必须提供
- 标签必须遵循规定的标签体系
- 有效期必须明确指定
3. **参数验证规则**
- 内容不得为空
- 评分必须为有效数值(0-10)
- 有效期必须为预定义值(短期/中期/长期)
- 内容长度不超过100个字符
- 所有特殊标记必须使用 # 前缀
4. **工具监控规则**
- 记忆相关操作必须被实时监控
- 监控程序不得干扰正常对话流程
- 所有违规记录必须保存到审计日志
- 违规统计数据必须定期清零
</rule>
<constraint>
0. **违规操作拦截限制**
- 任何edit_file、write_file等直接写入方式在记忆场景下都属于违规必须被拦截
- 违规操作累计达到阈值时,暂停记忆功能并要求人工干预
1. **工具使用技术限制**
- promptx.js 依赖于运行环境
- 监控机制受系统性能限制
- 拦截和转换操作可能产生轻微延迟
- 并发记忆操作存在资源竞争
2. **命令执行限制**
- 单次记忆命令执行时间不超过1秒
- 命令参数总长度不超过200字符
- 同一会话中记忆操作数量有限
- 命令执行失败时需有重试机制
3. **监控性能限制**
- 监控开销不超过10ms/次
- 拦截处理不超过50ms/次
- 审计日志大小不超过2MB
- 违规计数器精度为会话级别
</constraint>
<guideline>
0. **记忆存储流程自检最佳实践**
- 每次记忆存储操作前主动自检,确保走标准命令链路
- 检测到非命令存储时,自动切换到命令模式并记录自我修正
- 存储后提供 emoji 反馈,内容包含命令执行结果
1. **工具选择最佳实践**
- 始终首选 promptx.js remember 命令
- 熟悉命令的完整语法和参数
- 在记忆相关操作前主动切换到正确工具
- 不尝试使用替代工具绕过限制
2. **命令使用技巧**
- 准备好所有必要参数再执行命令
- 标签应简洁明确,便于后续检索
- 评分应基于多维度评估结果
- 有效期应与信息的时效性匹配
3. **错误处理建议**
- 命令执行失败时检查参数格式
- 权限问题时检查存储路径设置
- 内容过长时进行适当分割
- 遇到违规警告时立即改正
4. **监控响应建议**
- 理解并遵循工具使用规则
- 收到警告时认真查看提供的示例
- 避免尝试绕过监控系统
- 记录并学习常见的使用错误
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 工具选择正确性 | 100%使用promptx.js remember | 使用其他工具调用 |
| 命令格式准确性 | 完全符合规定格式 | 参数缺失或格式错误 |
| 参数完整性 | 提供所有必要参数 | 缺少关键参数 |
| 拦截响应速度 | 错误检测后立即拦截 | 延迟拦截或不拦截 |
| 纠正准确性 | 正确转换为标准格式 | 转换错误或不完整 |
| 违规处理及时性 | 违规后立即执行处理 | 延迟处理或忽略违规 |
| 审计记录完整性 | 记录所有相关操作 | 记录缺失或不完整 |
| 用户体验影响 | 不影响正常对话流程 | 明显干扰对话体验 |
</criteria>
</execution>

View File

@ -1,179 +0,0 @@
<execution>
<process>
# 记忆触发处理流程
```mermaid
flowchart TD
A[监控信息流] --> B{评分计算}
B --> C[计算多维度评分]
C --> D{评分是否达标}
D -->|评分≥7| E[执行存储]
D -->|评分<7| F[拒绝存储]
E --> G[提供反馈]
F --> H[记录拒绝原因]
I[显式记忆指令] --> J{是否覆盖评分}
J -->|是| K[强制评分为8]
J -->|否| B
K --> E
```
## 评分计算流程
1. **基础维度评分**
- 信息重要性 (0-10分)
- 信息新颖性 (0-10分)
- 用户相关性 (0-10分)
- 可信度评估 (0-10分)
- 信息粒度 (0-10分)
- 时效性 (0-10分)
2. **加权计算**
```
总分 = (重要性×0.3 + 新颖性×0.1 + 相关性×0.2 +
可信度×0.2 + 粒度×0.1 + 时效性×0.1)×10
```
3. **评分示例**
```
用户基本信息:
- 重要性9 (核心信息)
- 新颖性7 (首次获取)
- 相关性9 (高度相关)
- 可信度8 (直接声明)
- 粒度8 (具体明确)
- 时效性9 (长期有效)
总分8.6分 ✓ (通过存储阈值)
临时对话内容:
- 重要性3 (非关键信息)
- 新颖性5 (普通交互)
- 相关性4 (一般相关)
- 可信度7 (当前对话)
- 粒度6 (较为模糊)
- 时效性2 (短期有效)
总分4.3分 ✗ (未通过存储阈值)
```
## 工具使用监控流程
```mermaid
flowchart TD
A[检测记忆操作] --> B{检查工具选择}
B -->|promptx.js| C[继续处理]
B -->|其他工具| D[拦截操作]
D --> E[记录违规]
E --> F[强制重定向]
F --> G[使用正确工具]
G --> C
C --> H[执行记忆存储]
```
1. **工具使用检测**
- 主动监控记忆相关操作
- 识别显式和隐式记忆指令
- 在检测到记忆指令时立即验证工具选择
2. **工具纠正机制**
- 发现错误工具使用时立即拦截
- 自动切换到 promptx.js remember 命令
- 保留原始参数并转换为正确格式
- 记录纠正操作以便审计
</process>
<rule>
1. **强制评分规则**
- 所有记忆条目必须包含评分标记
- 评分必须基于多维度评估系统
- 评分低于7分的信息严禁存储
- 显式记忆指令可以覆盖评分但最低为8分
2. **存储前置条件**
- 存储操作必须且只能使用 `promptx.js remember` 命令
- 严禁使用其他工具调用替代 promptx.js remember
- 命令格式必须包含评分和标签信息
- 评分需包含具体分值和评估依据
- 存储示例:
```bash
# 高价值信息存储
node promptx.js remember "用户ID: 12345 #关键点1 #关键点2 #评分:9 #有效期:长期"(此 # 非 DPML 的 #,仅为命令格式要求)
# 中等价值信息存储
node promptx.js remember "用户喜欢简洁界面 #关键点1 #关键点2 #评分:6 #有效期:长期"
# 低价值信息(不建议存储)
node promptx.js remember "临时调试信息 #关键点1 #关键点2 #评分:3 #有效期:短期"
```
3. **违规处理机制**
- 对评分不达标的存储操作发出警告提示
- 系统会自动拒绝评分低于5分的存储请求
- 记录所有存储操作到 `.memory/declarative.md`
- 定期检查并清理低价值记忆
- 检测到错误工具使用时必须立即纠正
- 记录所有工具使用违规到审计日志
4. **评分有效性**
- 评分有效期为当前会话
- 跨会话的记忆条目需重新评估
- 定期对已存储记忆进行重新评分
5. **工具使用优先级**
- promptx.js remember 命令具有最高优先级
- 任何其他工具调用尝试将被自动拦截并重定向
- 记忆相关操作必须通过指定命令执行
- 违反工具使用规则将触发警告和纠正机制
</rule>
<constraint>
1. **评分计算限制**
- 单次评分计算不超过100ms
- 评分维度数量固定为6个
- 评分精度保留一位小数
- 记忆命令执行时间不超过1秒
2. **存储验证限制**
- 验证超时时间不超过50ms
- 单次会话最多允许3次违规
- 评分记录最多保存30天
- `.memory` 目录总大小不超过10MB
3. **系统资源限制**
- 评分计算内存占用不超过10MB
- 审计日志大小不超过1MB
- 单日评分次数不超过1000次
4. **工具使用限制**
- 记忆存储操作仅支持 promptx.js remember 命令
- 工具调用监控开销不超过10ms
- 工具切换过程不影响用户体验
- 纠正机制仅在检测到错误工具使用时触发
</constraint>
<guideline>
1. 优先记忆用户个人信息、偏好和重要事实
2. 对话中反复提及的主题应提高记忆优先级
3. 用户工作流程和决策模式是高价值记忆内容
4. 工具调用的有价值结果应作为记忆的一部分
5. 记忆反馈应简洁,避免打断自然对话流程
6. 会话结束记忆处理应尽可能全面但有选择性
7. 长期价值信息优先于短期价值信息
8. 检测到记忆相关操作时立即使用正确的工具
9. 首次工具使用错误时提供明确的纠正指导
10. 主动监控工具选择以确保符合规则
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 评分完整性 | 包含所有维度得分 | 缺少维度或分值 |
| 评分准确性 | 符合评分标准 | 评分与依据不符 |
| 存储合规性 | 评分达到阈值 | 评分不足仍存储 |
| 响应及时性 | 评分计算及时 | 计算延迟明显 |
| 反馈清晰度 | 提供明确反馈 | 反馈模糊或缺失 |
| 审计完整性 | 记录所有违规 | 违规记录缺失 |
| 工具选择正确性 | 仅使用 promptx.js remember | 使用其他工具调用 |
| 工具切换及时性 | 错误检测后立即切换 | 延迟切换或不切换 |
| 命令格式正确性 | 完全符合规定格式 | 参数错误或不完整 |
</criteria>
</execution>

View File

@ -1,230 +0,0 @@
<memory type="declarative">
<!-- 记忆评估部分 -->
<evaluate:thought>
<reasoning>
# 陈述性记忆评估
## 优先级检查
首先检查是否存在用户强制记忆指令:
- 用户是否明确使用"记住"、"记录"等指令词?
- 用户是否强调某信息的重要性?
- 用户是否暗示将来会用到此信息?
如果存在用户强制记忆指令,则直接进入存储阶段,无需进一步评估。
## 多维度评估
如无强制指令,则进行以下维度的评估:
1. **信息重要性(Importance)**
- 信息是否包含关键事实或概念?(0-10分)
- 信息是否影响理解或决策?(0-10分)
- 信息是否有长期参考价值?(0-10分)
2. **信息新颖性(Novelty)**
- 这是否是首次出现的信息?(0-10分)
- 是否与已有记忆存在冗余?(0-10分反向计分)
- 是否提供了新视角或补充细节?(0-10分)
3. **用户相关性(Relevance)**
- 信息与用户兴趣/需求的匹配程度?(0-10分)
- 与用户历史交互的关联度?(0-10分)
- 对用户未来可能任务的适用性?(0-10分)
4. **可信度评估(Credibility)**
- 信息来源的可靠性?(0-10分)
- 内容是否有事实支持?(0-10分)
- 是否与已验证知识一致?(0-10分)
5. **信息粒度(Granularity)**
- 信息的具体程度和精确度(0-10分)
6. **时效性(Timeliness)**
- 信息的预期有效期(0-10分长期有效得高分)
## 综合评分
综合得分计算:
```
总分 = (3×强制指令) + (0.5×重要性) + (0.4×新颖性) + (0.5×相关性) + (0.3×可信度) + (0.2×粒度) + (0.3×时效性)
```
强制指令的权重远高于其他维度,确保用户明确要求记住的内容被优先处理。
## 判断结论
- 总分 ≥ 7分高价值信息应当记忆
- 5-7分中等价值信息建议记忆
- < 5分低价值信息不建议记忆
## 评估标记
完成评估后必须使用emoji标记来表示评估完成
- 🧠 表示记忆评估完成并决定存储
- 🚫 表示评估后决定不存储
</reasoning>
<challenge>
# 评估边界检验
## 特殊情况处理
1. **复合信息分解**
- 检查信息是否包含多个独立的事实点
- 若是,考虑分解为多条单独评估
2. **强相关信息关联**
- 检查信息是否与已存储的高价值记忆强相关
- 若是,可适当降低评估阈值
3. **反事实信息处理**
- 检查信息是否包含明显错误或误导
- 若是,即使其他维度得分高也应谨慎处理
4. **隐私敏感信息**
- 评估信息是否涉及用户隐私
- 若是,需应用更严格的存储标准
</challenge>
</evaluate:thought>
<!-- 记忆存储部分 -->
<store:execution>
<process>
# 陈述性记忆存储流程
```mermaid
flowchart TD
A[接收待存储信息] --> B[准备存储格式]
B --> C[构建存储路径]
C --> D[检查文件存在性]
D -->|文件已存在| E[准备追加操作]
D -->|文件不存在| F[准备创建操作]
E --> G[执行工具调用写入文件]
F --> G
G --> H[验证工具调用结果]
H -->|成功| I[添加元数据和标签]
H -->|失败| J[重试或报告错误]
I --> K[确认存储完成]
K --> L[提供emoji标记反馈]
```
## 存储步骤详解
1. **准备存储格式**
- 将信息转换为Markdown格式条目
- 每条记忆使用列表项格式(以"-"开头)
2. **构建存储路径**
- 对于陈述性记忆:`@file://.memory/declarative.md`
3. **文件操作准备**
- 检查记忆文件是否已存在
- 准备适当的写入操作(创建或追加)
4. **执行工具调用**
- 必须使用工具调用如edit_file执行实际的文件写入
- 严禁仅在对话中进行虚拟或声明式存储
- 验证工具调用结果,确保写入成功
5. **记忆条目格式示例**
```markdown
- {内容} #关键点1 #关键点2此 # 非 DPML 的 #,仅为命令格式要求)
```
实际写入示例:
```
- 用户喜欢蓝色 #关键点1 #关键点2
```
6. **完成反馈**
- 存储成功后使用emoji标记提供反馈🧠 [简短描述]
</process>
<rule>
1. 存储操作必须是追加式的,不得删除或修改已有记忆
2. 内容必须保持原始语义,但可进行格式优化
3. 存储操作必须是原子性的,避免部分写入
4. 强制记忆指令触发的存储必须立即执行,不得延迟
5. 完成记忆后必须使用emoji标记(🧠)提供简洁反馈
6. 必须通过实际工具调用执行存储,禁止仅在对话中声明存储
7. 必须验证工具调用结果,确保存储成功
</rule>
<constraint>
1. 单条记忆内容大小限制建议不超过1000字符
2. 记忆文件总大小控制(定期整理归档)
3. 存储操作不应影响主交互流程的响应时间
4. 工具调用可能存在限制或失败风险
</constraint>
<guideline>
1. 适当精简记忆内容,保留核心信息
2. 关联相似记忆使用一致的标签系统
3. 对重复信息优先更新而非重复存储
4. 敏感信息考虑适当的隐私保护措施
5. emoji反馈应简洁明了不超过10个字
6. 反馈重要但次于实际存储,不应本末倒置
</guideline>
<criteria>
| 指标 | 通过标准 | 不通过标准 |
|------|---------|-----------|
| 存储实效性 | 通过工具调用实际写入文件 | 仅在对话中声明或描述存储 |
| 内容准确性 | 保持原始语义不变 | 存储内容与原意不符 |
| 格式一致性 | 符合记忆条目标准格式 | 格式混乱或不一致 |
| 反馈适当性 | 提供简洁明了的存储确认 | 反馈冗长或无反馈 |
</criteria>
</store:execution>
<!-- 记忆回忆部分 -->
<recall:thought>
<reasoning>
# 陈述性记忆回忆推理
## 记忆需求分析
首先判断当前上下文是否需要使用记忆:
- 用户是否明确要求回忆某内容?
- 当前讨论是否涉及历史信息?
- 是否需要之前记录的用户偏好或事实?
## 记忆加载状态验证
检查记忆文件的加载状态:
- 是否已经加载过陈述性记忆文件?
- 加载的记忆是否是最新版本?
- 缓存的记忆内容是否完整有效?
## 记忆关联分析
识别当前上下文与记忆的关联:
- 关键词匹配度
- 主题相关性
- 时间顺序关联
## 结论
基于以上分析,判断:
- 是否需要加载记忆文件
- 需要查询的记忆类型和范围
- 最适合当前上下文的记忆应用方式
</reasoning>
<plan>
# 记忆回忆执行计划
## 记忆加载计划
IF 需要加载记忆 AND (未加载或需要更新) THEN
1. 确定记忆文件路径:`@file://.memory/declarative.md`
2. 使用工具调用加载记忆文件
3. 解析记忆文件内容
4. 将记忆条目解析为结构化数据
5. 建立内存索引以便快速检索
ENDIF
## 记忆检索计划
1. 根据当前上下文确定检索关键词
2. 在记忆索引中搜索相关条目
3. 按相关性排序检索结果
4. 限制返回结果数量避免信息过载
## 记忆应用计划
1. 将检索到的记忆融入当前思考过程
2. 使用记忆内容补充回答
3. 必要时提供记忆来源引用
4. 处理潜在的记忆冲突或不一致
</plan>
</recall:thought>
</memory>

View File

@ -0,0 +1,87 @@
<thought>
<exploration>
## 回忆需求探索
### 什么时候需要回忆?
- **明确查询**:用户直接问"你还记得..."
- **上下文缺失**:当前对话需要历史信息支持
- **模式识别**:发现与过往经验的相似性
- **决策支持**:需要参考历史决策和结果
- **个性化服务**:根据用户偏好提供定制建议
### 回忆的信息类型
- **身份信息**:用户的角色、职业、背景
- **偏好设置**:工作习惯、沟通风格、决策偏好
- **项目历史**:过往项目、团队、关键节点
- **问题解决**:成功案例、失败教训、解决方案
- **关系网络**:重要联系人、合作模式
### 回忆触发信号
- 用户提及过往事件
- 当前问题与历史相似
- 需要个性化推荐
- 决策需要历史依据
- 用户询问"你知道我..."
</exploration>
<reasoning>
## 回忆检索逻辑
### 三层检索策略
- **关键词匹配**:直接匹配用户查询的关键词
- **语义相关**:理解查询意图,找到相关概念
- **时空关联**:考虑时间、项目、情境的关联性
### 相关性评估
- **直接相关**:完全匹配查询内容
- **间接相关**:与查询主题相关联
- **背景相关**:提供上下文支持
- **无关信息**:与当前需求不匹配
### 结果组织原则
- **按相关性排序**:最相关的优先展示
- **按时间排序**:最新或最相关时期的优先
- **按重要性排序**:对用户最重要的优先
- **分类呈现**:按信息类型分组展示
### 回忆失败处理
- **无匹配结果** → 告知用户并询问更多信息
- **模糊匹配** → 提供近似结果并确认
- **过多结果** → 筛选最相关的并询问具体需求
</reasoning>
<challenge>
## 关键质疑
### 检索准确性问题
- 如何避免误匹配不相关的记忆?
- 语义理解是否足够准确?
- 时间久远的记忆是否还有价值?
### 隐私和安全考虑
- 是否会意外泄露敏感信息?
- 如何处理用户已经遗忘想隐藏的信息?
- 记忆的访问权限如何控制?
### 用户体验挑战
- 回忆过程是否会打断对话流程?
- 如何平衡信息完整性和简洁性?
- 用户如何纠正错误的回忆结果?
### 系统性能问题
- 大量记忆的检索速度如何保证?
- 复杂查询的计算成本是否过高?
- 如何处理记忆存储的增长?
</challenge>
<plan>
## 思考结构
### 检索思路
1. 分析查询意图和类型
2. 应用三层检索策略
3. 评估结果相关性
4. 组织和排序信息
5. 形成回忆结果
</plan>
</thought>

View File

@ -0,0 +1,64 @@
<thought>
<exploration>
## 记忆价值探索
### 什么值得记忆?
- **用户身份**:职业、角色、专业背景
- **工作偏好**:习惯、风格、决策模式
- **项目信息**:当前工作、重要节点、团队
- **经验教训**:成功案例、失败原因、解决方案
- **重要关系**:关键联系人、合作方式
### 记忆触发信号
- 用户明确说"记住"
- 重复提及的信息
- 重要决策和选择
- 问题解决的关键步骤
- 用户反馈和评价
</exploration>
<reasoning>
## 评估推理逻辑
### 三维度快速评估
- **重要性**:对用户有多重要?(核心身份>工作相关>一般信息>无关内容)
- **可信度**:信息有多可靠?(用户陈述>逻辑推导>第三方>推测)
- **持久性**:能用多长时间?(长期有效>中期有效>短期有效>即时信息)
### 简单决策规则
- **显式要求** → 直接记忆
- **三个维度都高** → 推荐记忆
- **重要性高 + 其他中等** → 考虑记忆
- **重要性低** → 不记忆
### 特殊情况处理
- **信息冲突** → 选择更可信、更新的
- **信息更新** → 替换旧信息
- **信息补充** → 关联到现有记忆
</reasoning>
<challenge>
## 关键质疑
### 评估是否过于主观?
- AI的判断标准是否一致
- 不同用户类型是否需要不同标准?
- 如何处理边界情况?
### 是否会遗漏重要信息?
- 看似不重要但长期有价值的信息?
- 用户未明确表达但暗示重要的信息?
- 情境变化导致价值变化的信息?
</challenge>
<plan>
## 思考结构
### 评估思路
1. 识别信息类型和来源
2. 快速三维度评估
3. 应用决策规则
4. 考虑特殊情况
5. 形成记忆建议
</plan>
</thought>