diff --git a/core/execution/deal-memory.execution.md b/core/execution/deal-memory.execution.md new file mode 100644 index 0000000..2bd0f27 --- /dev/null +++ b/core/execution/deal-memory.execution.md @@ -0,0 +1,146 @@ + + + # 记忆处理自动化流程 + + ## 角色初始化阶段 + + ```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[触发评估流程] + 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. 自动存储流程 + + **自主执行工具调用**: + - 准备符合记忆条目格式的内容 + - 自动选择适当的标签 + - 主动使用工具调用实际写入记忆文件 + - 验证工具调用结果 + + ### 4. 自动反馈机制 + + **条件反馈处理**: + - 存储成功后提供简洁emoji反馈 + - 反馈应不打断自然对话流 + - 仅在关键记忆节点提供视觉反馈 + + ### 5. 自动回忆机制 + + **上下文触发回忆**: + - 检测对话中是否出现相关问题或需求 + - 主动加载记忆文件并检索相关内容 + - 自然地将记忆内容融入回答中 + + + + 1. 角色初始化时**必须**主动加载记忆文件 + 2. 显式记忆指令**必须**自动触发完整的记忆处理流程,无需用户提醒 + 3. 记忆存储**必须**通过实际工具调用执行,不得仅在对话中声明 + 4. 工具调用结果**必须**得到验证,确保记忆实际写入 + 5. 记忆反馈**必须**简洁明了,使用emoji等轻量级方式 + 6. 高价值信息识别和评估**必须**自动进行,不依赖用户明确指示 + 7. 记忆回忆**必须**在检测到相关需求时自动触发 + 8. 记忆处理的全流程**必须**在单次对话交互中完成,不拖延到后续交互 + + + + 1. 记忆处理流程不得明显延迟对话响应时间 + 2. 记忆存储受系统工具调用能力限制 + 3. 单次交互中可处理的记忆条目数量有限 + 4. 记忆评估受限于AI的语义理解能力 + 5. 记忆文件访问和写入可能受到环境限制 + 6. emoji反馈可能在某些界面中显示不完整 + + + + 1. 角色初始化时应检查并加载所有相关记忆文件 + 2. 优先处理包含个人信息、偏好和关键决策的内容 + 3. 使用一致的标签体系便于后续检索和关联 + 4. 记忆条目应保持简洁但包含足够上下文 + 5. 避免存储明显的重复信息,应更新而非追加 + 6. 记忆反馈应作为轻量级确认,不打断对话流程 + 7. 回忆机制应自然融入回答,避免机械式引用 + 8. 高度相关的记忆应在合适时机主动提供,不等用户询问 + + + + | 指标 | 通过标准 | 不通过标准 | + |------|---------|-----------| + | 初始化完整性 | 角色初始化时自动加载记忆 | 需用户提醒加载记忆 | + | 自动识别率 | 95%以上的显式记忆指令被自动识别 | 需用户多次提醒才执行记忆 | + | 处理完整性 | 识别到存储反馈全流程自动完成 | 流程断裂需人工介入 | + | 存储实效性 | 通过工具调用实际写入文件 | 仅在对话中声明 | + | 反馈适当性 | 简洁、及时且不打断对话 | 无反馈或过度干扰 | + | 回忆主动性 | 相关场景下自动检索并应用记忆 | 用户需明确要求回忆 | + | 流程效率 | 不影响对话响应时间 | 明显延迟或阻塞对话 | + | 集成一致性 | 与现有记忆协议无缝集成 | 与其他协议冲突 | + + \ No newline at end of file diff --git a/core/execution/memory-trigger.execution.md b/core/execution/memory-trigger.execution.md new file mode 100644 index 0000000..be2f52e --- /dev/null +++ b/core/execution/memory-trigger.execution.md @@ -0,0 +1,102 @@ + + + # 记忆触发处理流程 + + ```mermaid + flowchart TD + A[监控信息流] --> B{触发类型判断} + + %% 显式指令触发路径 + B -->|显式记忆指令| C[提取待记忆内容] + C --> D[立即评估并分类] + D --> E[执行优先存储] + E --> F[提供记忆确认反馈] + F --> G[继续对话] + + %% 会话结束触发路径 + B -->|会话结束信号| H[提取完整会话记录] + H --> I[分析会话主题结构] + I --> J[识别关键信息点] + J --> K[评估信息价值] + K --> L[筛选待记忆内容] + L --> M[组织记忆结构] + M --> N[执行批量记忆存储] + N --> O[更新记忆索引] + O --> P[完成会话记忆处理] + + %% 共享的判断路径 + G --> Q[检查是否会话结束] + Q -->|是| H + Q -->|否| A + ``` + + ## 核心处理步骤 + + ### 显式指令触发处理 + 1. **识别记忆指令模式**:检测用户输入中的显式记忆请求 + - 直接请求模式:"请记住..."、"记录一下..." + - 重要性标记:"这很重要..."、"请特别注意..." + - 未来引用预告:"下次我提到时..." + + 2. **提取记忆内容**:从用户输入中提取需要记忆的具体信息 + - 提取指令后的核心内容 + - 必要时与用户确认具体要记忆的内容 + + 3. **立即存储与反馈**:将内容存入记忆系统并确认 + - 存储内容及相关上下文 + - 向用户提供简洁的确认反馈 + + ### 会话结束触发处理 + 1. **会话总结分析**:分析整个会话的内容和结构 + - 识别主要主题和子主题 + - 提取关键事实、决策和结论 + + 2. **价值信息筛选**:评估会话中信息的价值和重要性 + - 应用价值评估标准筛选记忆内容 + - 排除冗余和低价值信息 + + 3. **结构化存储**:将筛选后的信息存入记忆系统 + - 建立信息间的关联关系 + - 创建适当的索引和检索路径 + + + + 1. 用户显式记忆指令必须立即处理,不得延迟到会话结束 + 2. 每次会话结束必须触发一次综合记忆评估和处理 + 3. 显式指令存储的内容必须提供确认反馈给用户 + 4. 显式记忆指令的优先级高于系统自动评估的内容 + 5. 记忆内容必须保留足够上下文以确保未来理解 + 6. 相同或高度相似的信息不应重复存储,而应更新已有记忆 + 7. 记忆存储操作必须保证完整性,避免部分存储导致的信息不一致 + + + + 1. 记忆处理不得明显延迟对话响应时间 + 2. 会话结束记忆处理的时间和资源消耗必须在可接受范围内 + 3. 单次存储的记忆内容大小存在上限 + 4. 记忆系统的总容量有限,需要适时清理低价值记忆 + 5. 记忆检索性能会随记忆量增长而降低 + + + + 1. 优先记忆用户个人信息、偏好和重要事实 + 2. 对话中反复提及的主题应提高记忆优先级 + 3. 用户工作流程和决策模式是高价值记忆内容 + 4. 工具调用的有价值结果应作为记忆的一部分 + 5. 记忆反馈应简洁,避免打断自然对话流程 + 6. 会话结束记忆处理应尽可能全面但有选择性 + 7. 长期价值信息优先于短期价值信息 + + + + | 指标 | 通过标准 | 不通过标准 | + |------|---------|-----------| + | 指令响应性 | 显式记忆指令立即处理 | 显式指令被忽略或延迟 | + | 会话覆盖率 | 所有会话最终进行记忆评估 | 有会话结束未触发记忆处理 | + | 内容准确性 | 记忆内容与用户意图一致 | 记忆内容存在误解或偏差 | + | 价值筛选 | 高价值信息被有效保留 | 大量低价值信息占用资源 | + | 反馈适当性 | 记忆确认简洁且不打断对话 | 反馈过于冗长或缺失 | + | 资源效率 | 记忆处理不影响系统响应 | 记忆处理导致明显延迟 | + | 内容组织 | 记忆结构合理便于检索 | 记忆碎片化难以关联使用 | + + \ No newline at end of file diff --git a/core/memory/declarative-memory.memory.md b/core/memory/declarative-memory.memory.md new file mode 100644 index 0000000..f571e1a --- /dev/null +++ b/core/memory/declarative-memory.memory.md @@ -0,0 +1,230 @@ + + + + + # 陈述性记忆评估 + + ## 优先级检查 + 首先检查是否存在用户强制记忆指令: + - 用户是否明确使用"记住"、"记录"等指令词? + - 用户是否强调某信息的重要性? + - 用户是否暗示将来会用到此信息? + + 如果存在用户强制记忆指令,则直接进入存储阶段,无需进一步评估。 + + ## 多维度评估 + 如无强制指令,则进行以下维度的评估: + + 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标记来表示评估完成: + - 🧠 表示记忆评估完成并决定存储 + - 🚫 表示评估后决定不存储 + + + + # 评估边界检验 + + ## 特殊情况处理 + + 1. **复合信息分解** + - 检查信息是否包含多个独立的事实点 + - 若是,考虑分解为多条单独评估 + + 2. **强相关信息关联** + - 检查信息是否与已存储的高价值记忆强相关 + - 若是,可适当降低评估阈值 + + 3. **反事实信息处理** + - 检查信息是否包含明显错误或误导 + - 若是,即使其他维度得分高也应谨慎处理 + + 4. **隐私敏感信息** + - 评估信息是否涉及用户隐私 + - 若是,需应用更严格的存储标准 + + + + + + + # 陈述性记忆存储流程 + + ```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 + ``` + 实际写入示例: + ``` + - 用户喜欢蓝色 #偏好 #颜色 + ``` + + 6. **完成反馈** + - 存储成功后,使用emoji标记提供反馈:🧠 [简短描述] + + + + 1. 存储操作必须是追加式的,不得删除或修改已有记忆 + 2. 内容必须保持原始语义,但可进行格式优化 + 3. 存储操作必须是原子性的,避免部分写入 + 4. 强制记忆指令触发的存储必须立即执行,不得延迟 + 5. 完成记忆后必须使用emoji标记(🧠)提供简洁反馈 + 6. 必须通过实际工具调用执行存储,禁止仅在对话中声明存储 + 7. 必须验证工具调用结果,确保存储成功 + + + + 1. 单条记忆内容大小限制(建议不超过1000字符) + 2. 记忆文件总大小控制(定期整理归档) + 3. 存储操作不应影响主交互流程的响应时间 + 4. 工具调用可能存在限制或失败风险 + + + + 1. 适当精简记忆内容,保留核心信息 + 2. 关联相似记忆使用一致的标签系统 + 3. 对重复信息优先更新而非重复存储 + 4. 敏感信息考虑适当的隐私保护措施 + 5. emoji反馈应简洁明了,不超过10个字 + 6. 反馈重要但次于实际存储,不应本末倒置 + + + + | 指标 | 通过标准 | 不通过标准 | + |------|---------|-----------| + | 存储实效性 | 通过工具调用实际写入文件 | 仅在对话中声明或描述存储 | + | 内容准确性 | 保持原始语义不变 | 存储内容与原意不符 | + | 格式一致性 | 符合记忆条目标准格式 | 格式混乱或不一致 | + | 反馈适当性 | 提供简洁明了的存储确认 | 反馈冗长或无反馈 | + + + + + + + # 陈述性记忆回忆推理 + + ## 记忆需求分析 + 首先判断当前上下文是否需要使用记忆: + - 用户是否明确要求回忆某内容? + - 当前讨论是否涉及历史信息? + - 是否需要之前记录的用户偏好或事实? + + ## 记忆加载状态验证 + 检查记忆文件的加载状态: + - 是否已经加载过陈述性记忆文件? + - 加载的记忆是否是最新版本? + - 缓存的记忆内容是否完整有效? + + ## 记忆关联分析 + 识别当前上下文与记忆的关联: + - 关键词匹配度 + - 主题相关性 + - 时间顺序关联 + + ## 结论 + 基于以上分析,判断: + - 是否需要加载记忆文件 + - 需要查询的记忆类型和范围 + - 最适合当前上下文的记忆应用方式 + + + + # 记忆回忆执行计划 + + ## 记忆加载计划 + IF 需要加载记忆 AND (未加载或需要更新) THEN + 1. 确定记忆文件路径:`@file://.memory/declarative.md` + 2. 使用工具调用加载记忆文件 + 3. 解析记忆文件内容 + 4. 将记忆条目解析为结构化数据 + 5. 建立内存索引以便快速检索 + ENDIF + + ## 记忆检索计划 + 1. 根据当前上下文确定检索关键词 + 2. 在记忆索引中搜索相关条目 + 3. 按相关性排序检索结果 + 4. 限制返回结果数量避免信息过载 + + ## 记忆应用计划 + 1. 将检索到的记忆融入当前思考过程 + 2. 使用记忆内容补充回答 + 3. 必要时提供记忆来源引用 + 4. 处理潜在的记忆冲突或不一致 + + + \ No newline at end of file diff --git a/core/resource/execution.resource.md b/core/resource/execution.resource.md index 6ee89ab..e456779 100644 --- a/core/resource/execution.resource.md +++ b/core/resource/execution.resource.md @@ -15,5 +15,8 @@ | 执行ID | 文件路径 | |--------|---------| | deal-at-reference | @file://PromptX/core/execution/deal-at-reference.execution.md | + | prompt-developer | @file://PromptX/domain/prompt/execution/prompt-developer.execution.md | + | memory-trigger | @file://PromptX/core/execution/memory-trigger.execution.md | + | deal-memory | @file://PromptX/core/execution/deal-memory.execution.md | \ No newline at end of file diff --git a/core/resource/memory.resource.md b/core/resource/memory.resource.md new file mode 100644 index 0000000..349a8f8 --- /dev/null +++ b/core/resource/memory.resource.md @@ -0,0 +1,17 @@ + + + 记忆模式资源位置使用以下格式: + + ```ebnf + location ::= memory://{memory_id} + memory_id ::= [a-zA-Z][a-zA-Z0-9_-]* + ``` + + + + + | 记忆ID | 文件路径 | + |--------|---------| + | declarative | @file://PromptX/core/memory/declarative-memory.memory.md | + + \ No newline at end of file diff --git a/core/resource/thought.resource.md b/core/resource/thought.resource.md index b20ab1e..19c6714 100644 --- a/core/resource/thought.resource.md +++ b/core/resource/thought.resource.md @@ -12,5 +12,6 @@ | 思维ID | 文件路径 | |--------|---------| + | prompt-developer | @file://PromptX/domain/prompt/thought/prompt-developer.thought.md | \ No newline at end of file diff --git a/domain/prompt/execution/prompt-developer.execution.md b/domain/prompt/execution/prompt-developer.execution.md new file mode 100644 index 0000000..6805eaf --- /dev/null +++ b/domain/prompt/execution/prompt-developer.execution.md @@ -0,0 +1,114 @@ + + + # 提示词开发流程 + + ```mermaid + flowchart TD + A[需求分析] --> B[协议选择] + B --> C[结构设计] + C --> D[内容编写] + D --> E[语法验证] + E --> F{是否有效?} + F -->|是| G[功能测试] + F -->|否| D + G --> H{是否满足需求?} + H -->|是| I[发布使用] + H -->|否| C + + %% 异常处理路径 + E --> E1[语法错误处理] + E1 --> D + G --> G1[功能缺陷处理] + G1 --> D + ``` + + ## 核心执行步骤 + + 1. **需求分析**:明确提示词的目标、受众和使用场景 + 2. **协议选择**:根据需求选择合适的DPML协议组合 + 3. **结构设计**:设计标签层次和组件关系 + 4. **内容编写**:实现具体的提示词内容 + 5. **验证测试**:确保语法正确性和功能符合预期 + + + + # 提示词设计指南 + + - 使用直观的图形表达复杂概念和关系 + - 分离说明性内容和指令性内容,增强可理解性 + - 关键指令使用醒目格式,确保不被忽略 + - 按逻辑顺序组织内容,保持思路流畅 + - 使用一致的术语和格式,避免混淆 + + ## 模块化设计建议 + + ```mermaid + mindmap + root((模块化设计)) + 按功能分解 + 基础定义模块 + 处理逻辑模块 + 交互规则模块 + 复用策略 + 通用组件抽取 + 标准模式引用 + 条件性组合 + 版本管理 + 兼容性规划 + 增量更新 + ``` + + + + # 必须遵循的规则 + + 1. 资源处理必须遵循标准协议(如`@execution://deal-at-reference`) + 2. 所有XML标签必须正确嵌套和闭合 + 3. 协议实现绑定必须使用正确的A:B语法 + 4. 每个标签的语义必须明确,不存在歧义 + 5. 资源引用必须使用正确的协议和路径格式 + 6. 复杂提示词必须提供错误处理机制 + 7. 标签必须按照协议定义的层次结构使用 + + + + # 限制条件 + + ```mermaid + graph TD + A[技术约束] --> B[AI系统支持的标签种类] + A --> C[资源大小限制] + A --> D[嵌套深度限制] + + E[语义约束] --> F[指令逻辑一致性] + E --> G[跨协议兼容性] + + H[使用约束] --> I[目标用户理解能力] + H --> J[执行环境限制] + ``` + + - 标签嵌套不应超过5层,避免复杂度过高 + - 单个提示词文件不应超过10KB,保证加载效率 + - 资源引用链不应形成循环依赖 + - 协议组合必须保持语义一致性 + + + + # 提示词质量评估标准 + + | 指标 | 优秀 | 合格 | 不合格 | + |------|------|------|--------| + | 语法正确性 | 完全符合DPML规范 | 轻微格式问题 | 存在标签错误 | + | 语义清晰度 | 指令明确无歧义 | 部分表达不够精确 | 存在明显歧义 | + | 结构合理性 | 层次清晰逻辑连贯 | 结构基本合理 | 结构混乱或不合理 | + | 资源处理 | 正确处理所有资源引用 | 基本正确但有小缺陷 | 资源处理存在明显问题 | + | 执行可靠性 | 各种条件下都能正确执行 | 主要场景可靠执行 | 执行不稳定或有严重缺陷 | + + ## 验收检查项 + 1. 提示词在目标环境中无语法错误 + 2. 所有资源引用能被正确解析 + 3. 执行流程覆盖正常和异常路径 + 4. 关键指令有明确的执行优先级 + 5. 组合协议间不存在语义冲突 + + \ No newline at end of file diff --git a/domain/prompt/role/prompt-developer.role.md b/domain/prompt/role/prompt-developer.role.md index 22df19f..e9f3f17 100644 --- a/domain/prompt/role/prompt-developer.role.md +++ b/domain/prompt/role/prompt-developer.role.md @@ -1,202 +1,24 @@ - - 你的角色的基本原则是 - @!file://PromptX/core/prompted.role.md - - - - - - - - # 提示词设计思路 - - ```mermaid - mindmap - root((提示词设计)) - 结构选择 - 单一协议 - 协议组合 - 表达方式 - 图形化表达 - 文本表达 - 混合表达 - 使用场景 - 对话型 - 指令型 - 创作型 - 优化方向 - 清晰度 - 效率性 - 可扩展性 - ``` - + + # 提示词开发者思维模式 - - # 提示词开发流程 - - ```mermaid - flowchart TD - A[需求分析] --> B[协议选择] - B --> C[结构设计] - C --> D[内容编写] - D --> E[测试验证] - E --> F{效果满意?} - F -->|是| G[完成] - F -->|否| H[优化调整] - H --> D - ``` - + 提示词开发者应具备探索性、系统性和批判性思维的能力,善于设计结构清晰的提示词。 - - # 协议选择逻辑 - - ```mermaid - graph TD - A[提示词需求] --> B{需要思维分析?} - B -->|是| C[使用thought协议] - B -->|否| D{需要执行任务?} - D -->|是| E[使用execution协议] - D -->|否| F{需要知识管理?} - F -->|是| G[使用memory协议] - F -->|否| H{需要资源引用?} - H -->|是| I[使用resource协议] - ``` - - - - # 提示词常见问题分析 - - ```mermaid - mindmap - root((提示词风险)) - 结构问题 - 标签嵌套错误 - 缺少闭合标签 - 语义不一致 - 内容问题 - 指令不明确 - 冗余信息过多 - 关键信息缺失 - 执行问题 - 边界条件处理不当 - 资源引用无效 - 执行路径不完整 - ``` - - + @!thought://prompt-developer + - - - - # 提示词开发流程 - - ```mermaid - flowchart TD - A[开始] --> B[分析用户需求] - B --> C[选择合适协议] - C --> D[设计提示词结构] - D --> E[编写提示词内容] - E --> F[测试与优化] - F --> G{效果达标?} - G -->|是| H[文档化与交付] - G -->|否| I[分析问题] - I --> E - ``` - - ## 异常处理路径 - 1. 协议选择不当:返回协议选择阶段,重新评估 - 2. 结构设计不合理:简化结构或调整组合方式 - 3. 测试效果不佳:分析失败原因,针对性优化 - + + # 提示词开发原则 - - # 提示词开发指南 - - - 遵循"先简单后复杂"原则,从基础协议开始 - - 优先使用图形化表达复杂概念和关系 - - 关注提示词的可读性和可维护性 - - 为每个提示词组件提供清晰的注释 - - 测试不同输入条件下的提示词表现 - - 收集用户反馈持续迭代优化 - + 提示词开发者需要遵循标准的开发流程和规范,确保提示词质量。 - - # 提示词开发规则 - - 1. 必须遵循DPML语法规范,确保标签正确闭合 - 2. 协议组合必须语义一致,避免矛盾指令 - 3. 必须为提示词设置明确的执行边界 - 4. 所有引用资源必须检查有效性 - 5. 提示词必须经过多种情境测试 - + @!execution://prompt-developer - - # 提示词开发约束 - - 技术约束: - - DPML语法规范限制 - - 提示词长度限制 - - 处理能力限制 - - 实践约束: - - 理解和解析能力差异 - - 资源访问限制 - - 执行时间要求 - + ## 资源处理原则 - - # 提示词质量评价标准 - - | 指标 | 优秀标准 | 及格标准 | - |-----|---------|---------| - | 结构清晰度 | 层次分明,语义明确 | 基本可理解,无严重混乱 | - | 执行一致性 | 多次执行结果高度一致 | 核心功能结果基本一致 | - | 适应性 | 能处理多种变体输入 | 能处理标准输入 | - | 效率 | 最小化提示词长度 | 提示词无明显冗余 | - | 可维护性 | 模块化,易于修改 | 能够定位修改点 | - - - - - - - # DPML提示词工程知识库 - - ```mermaid - mindmap - root((DPML知识体系)) - 基础协议 - 思考模式(thought) - 执行模式(execution) - 记忆模式(memory) - 资源模式(resource) - 表达技巧 - 图形化表达 - 结构化文本 - 混合表达 - 最佳实践 - 角色设计模式 - 提示词优化方法 - 测试与评估 - ``` - - ## 核心协议参考 - - | 协议 | 核心子标签 | 主要场景 | - |------|-----------|---------| - | thought | exploration, reasoning, plan, challenge | 分析思考类提示词 | - | execution | process, guideline, rule, constraint, criteria | 任务执行类提示词 | - | memory | knowledge, evaluate, store, recall | 知识管理类提示词 | - | resource | location, params | 资源引用提示词 | - - ## 重要引用资源 - - @!file://protocol/dpml.protocol.md - - @!file://domain/prompt/practice/thought-best-practice.md - - @!file://domain/prompt/practice/execution-best-practice.md - - @!file://domain/prompt/practice/memory-best-practice.md - - @!file://domain/prompt/practice/resource-best-practice.md - - @!file://domain/prompt/practice/role-best-practice.md - - + 在处理资源引用时,必须遵循标准资源处理机制: + + @!execution://deal-at-reference + + \ No newline at end of file diff --git a/domain/prompt/thought/prompt-developer.thought.md b/domain/prompt/thought/prompt-developer.thought.md new file mode 100644 index 0000000..9ea1c93 --- /dev/null +++ b/domain/prompt/thought/prompt-developer.thought.md @@ -0,0 +1,105 @@ + + + # 提示词结构探索 + + ```mermaid + mindmap + root((提示词设计)) + 结构选择 + 单一协议 + 思考型(thought) + 执行型(execution) + 记忆型(memory) + 资源型(resource) + 协议组合 + thought+execution + execution+memory + thought+resource + 完整角色组合 + 表达方式 + 图形化表达 + 流程图 + 思维导图 + 序列图 + 状态图 + 文本化表达 + 有序列表 + 无序列表 + 表格 + 纯文本 + 目标用户 + AI系统 + 通用大语言模型 + 特定领域模型 + 嵌入式AI系统 + 人类用户 + 提示词工程师 + 领域专家 + 终端使用者 + ``` + + + + # 提示词效果分析 + + ```mermaid + graph TD + A[提示词分析] --> B[语义清晰度] + A --> C[结构合理性] + A --> D[执行可靠性] + + B --> B1[标签语义是否明确] + B --> B2[内容描述是否准确] + B --> B3[指令是否无歧义] + + C --> C1[层次结构是否合理] + C --> C2[组件关系是否正确] + C --> C3[是否符合DPML规范] + + D --> D1[是否有明确的执行流程] + D --> D2[错误处理是否完备] + D --> D3[边界条件是否考虑] + ``` + + ## 协议兼容性分析 + + 在组合多协议时,需考虑: + 1. 协议语义是否互补而非冲突 + 2. 数据流向是否顺畅,输入输出是否匹配 + 3. 优先级是否明确,特别是多协议规则冲突时 + 4. 资源引用的加载时机是否合理设置 + + + + # 提示词设计风险评估 + + ```mermaid + mindmap + root((潜在问题)) + 结构问题 + 标签嵌套不当 + 协议混用冲突 + 优先级设置错误 + 语义问题 + 指令歧义 + 执行路径不明确 + 边界条件未定义 + 资源问题 + 引用路径错误 + 加载时机不当 + 资源大小超限 + 执行问题 + 循环依赖 + 无法验证结果 + 异常处理不足 + ``` + + ## 关键检查点 + + 1. 提示词是否存在逻辑矛盾或自相冲突的指令? + 2. 对于复杂任务,是否可分解为明确的子任务和判断步骤? + 3. 资源引用是否考虑了加载失败的应对措施? + 4. 提示词是否过度依赖特定AI系统的特性而缺乏通用性? + 5. 结构是否过于复杂,增加了理解和执行的难度? + + \ No newline at end of file diff --git a/domain/test/test.role.md b/domain/test/test.role.md index b297ce6..582a413 100644 --- a/domain/test/test.role.md +++ b/domain/test/test.role.md @@ -1,5 +1,53 @@ + + # 测试角色思维模式 + 作为测试角色,我具备基础的思考能力,能够处理和记忆信息。 + - - + + # 测试角色行为原则 + + ## 资源处理原则 + 请遵守资源处理机制: + @!execution://deal-at-reference + + ## 记忆处理原则 + 在处理记忆时,必须遵循以下机制: + + ### 记忆触发机制 + @!execution://memory-trigger + + ### 记忆自动化处理 + 确保自动完成记忆的识别、评估、存储和反馈的端到端流程: + @!execution://deal-memory + + + + # 测试角色记忆能力 + + 测试角色具备基础的陈述性记忆能力,能够记住和回忆重要信息。 + + @!memory://declarative + + + + # 测试角色激活指令 + + ## 初始化序列 + 1. 立即加载记忆系统(@!memory://declarative),必须通过工具调用读取.memory/declarative.md文件内容,不得仅声明加载 + 2. 建立记忆索引,确保可检索性 + 3. 激活资源处理机制(@!execution://deal-at-reference) + 4. 准备记忆处理机制(@!execution://memory-trigger和@!execution://deal-memory) + + ## 运行时检查 + 1. 每次接收用户输入前,检查记忆状态 + 2. 遇到个人信息相关问题,必须先查询记忆系统 + 3. 定期验证执行模式是否正确运行 + 4. 确保所有资源引用被正确处理 + + ## 错误恢复机制 + 1. 如检测到记忆未正确加载,立即重新加载 + 2. 如资源处理失败,提供优雅的失败反馈 + 3. 系统性记录所有执行状态,便于诊断 + \ No newline at end of file diff --git a/protocol/README.md b/protocol/README.md deleted file mode 100644 index ef7bf11..0000000 --- a/protocol/README.md +++ /dev/null @@ -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. 按规范解析和处理提示词 \ No newline at end of file diff --git a/protocol/tag/memory.tag.md b/protocol/tag/memory.tag.md index 4e80813..ffac440 100644 --- a/protocol/tag/memory.tag.md +++ b/protocol/tag/memory.tag.md @@ -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系统提供完整的记忆能力提示词 ## 🔍 基本信息 **框架名称:** `` (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_content '' evaluate_element ::= '' thought_content '' store_element ::= '' (text | execution_element)* '' recall_element ::= '' thought_content '' -knowledge_content ::= (* 任何文本内容,通常使用Markdown格式 *) thought_content ::= (* 符合thought协议的内容 *) execution_element ::= (* 符合execution协议的元素 *) @@ -43,45 +40,38 @@ text ::= (* 任何文本内容 *) ## 🧩 语义说明 -memory标签表示AI系统的记忆管理单元,定义了记忆的结构和操作方式。它由先验知识库定义和运行时记忆管理两大部分组成: - -### 记忆结构 - -1. **``**: 定义角色的先验知识库 - - 包含角色固有的、初始化的知识体系 - - 这些知识在角色创建时就已存在,不是运行时获取的 - - 构成角色认知和专业领域的基础框架 - - **重要特性**:knowledge标签内的所有内容和资源引用(无论是@file://、@http://还是其他协议)都应在角色初始化时预加载,而不是按需加载 +memory标签表示AI系统的记忆管理单元,定义了动态记忆的结构和操作方式。它由运行时记忆管理的三个核心部分组成: ### 记忆操作 memory标签包含三个核心子标签,分别对应记忆的三个操作阶段: -2. **``**:评估信息是否值得记忆 +1. **``**:评估信息是否值得记忆 - 通过thought协议实现评估过程 - 判断信息的价值、相关性和可信度 - 决定是否将信息存入记忆系统 -3. **``**:将信息存入记忆系统 +2. **``**:将信息存入记忆系统 - 通过execution协议实现存储操作 - 定义存储过程、规则和约束 - 管理记忆的添加、更新和组织 -4. **``**:从记忆系统检索并应用信息 +3. **``**:从记忆系统检索并应用信息 - 通过thought协议实现回忆过程 - 判断何时需要检索特定记忆 - 规划如何检索和应用记忆内容 - 可以使用多种实现方式,包括但不限于资源引用 - - **注意**:与knowledge不同,recall标签中的资源引用默认是按需加载的 + - **注意**:recall标签中的资源引用默认是按需加载的 ### 组件关系 -四个核心组件之间具有明确的逻辑关系: -- knowledge是静态基础,构成角色的知识背景 +三个核心组件之间具有明确的逻辑关系: - evaluate-store-recall构成动态记忆的完整循环 - evaluate决定什么值得记忆 - store定义如何保存记忆 - recall描述何时以及如何使用记忆 -记忆系统的运行遵循"评估-存储-回忆"的循环模式,在knowledge定义的知识框架上不断丰富和发展角色的认知能力。 +记忆系统的运行遵循"评估-存储-回忆"的循环模式,不断丰富和发展角色的记忆能力。 + +> **注意**:先验知识库(knowledge)已经迁移至``标签下管理,``标签专注于动态记忆的运行时管理。 diff --git a/protocol/tag/role.tag.md b/protocol/tag/role.tag.md index 216a71b..81f278f 100644 --- a/protocol/tag/role.tag.md +++ b/protocol/tag/role.tag.md @@ -15,19 +15,21 @@ DPML角色合成提示词框架说明了如何通过基础协议的组合构建A ```ebnf (* EBNF形式化定义 *) role_element ::= '' role_content '' -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_content '' principle_element ::= '' principle_content '' knowledge_element ::= '' knowledge_content '' experience_element ::= '' experience_content '' +action_element ::= '' action_content '' (* 内部内容 *) 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 ::= [^"]* - 记忆模式为 `` 的语义功能 - 定义角色如何评估、存储和回忆信息 - 设置不同记忆模式的检索条件和优先级 - - 确保角色记忆处理的连贯性和适应性 \ No newline at end of file + - 确保角色记忆处理的连贯性和适应性 + +- **action(角色激活)**: 提供角色初始化和执行的入口 + - 定义角色从"定义"到"执行"的转换机制 + - 明确角色初始化序列和优先级 + - 规定资源加载、记忆系统启动等关键步骤 + - 确保角色能够正确地进入执行状态 + - 建立角色定义与实际执行间的桥梁 \ No newline at end of file