From e7aa2c7a60aa2c9c02f8ab732e6ce96a10bbd596 Mon Sep 17 00:00:00 2001 From: sean Date: Mon, 19 May 2025 22:06:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=B5=84=E6=BA=90=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E6=96=87=E6=A1=A3=EF=BC=8C=E6=96=B0=E5=A2=9E=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E8=8E=B7=E5=8F=96=E5=AE=9E=E7=8E=B0=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=EF=BC=8C=E6=98=8E=E7=A1=AEAI=E7=B3=BB=E7=BB=9F=E5=9C=A8?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=8A=A0=E8=BD=BD=E4=B8=AD=E7=9A=84=E4=B8=BB?= =?UTF-8?q?=E5=8A=A8=E8=8E=B7=E5=8F=96=E8=B4=A3=E4=BB=BB=E5=92=8C=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E9=AA=8C=E8=AF=81=E8=A6=81=E6=B1=82=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E6=96=87=E6=A1=A3=E7=9A=84=E5=AE=9E=E7=94=A8=E6=80=A7?= =?UTF-8?q?=E5=92=8C=E6=B8=85=E6=99=B0=E5=BA=A6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- domain/prompt/role/prompt-developer.role.md | 202 ++++++++++++++++++++ domain/test/test.role.md | 50 +++++ domain/test/testcase.md | 6 + protocol/tag/resource.tag.md | 10 + protocol/tag/role.tag.md | 5 +- 5 files changed, 272 insertions(+), 1 deletion(-) create mode 100644 domain/prompt/role/prompt-developer.role.md create mode 100644 domain/test/test.role.md create mode 100644 domain/test/testcase.md diff --git a/domain/prompt/role/prompt-developer.role.md b/domain/prompt/role/prompt-developer.role.md new file mode 100644 index 0000000..22df19f --- /dev/null +++ b/domain/prompt/role/prompt-developer.role.md @@ -0,0 +1,202 @@ + + + 你的角色的基本原则是 + @!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((提示词风险)) + 结构问题 + 标签嵌套错误 + 缺少闭合标签 + 语义不一致 + 内容问题 + 指令不明确 + 冗余信息过多 + 关键信息缺失 + 执行问题 + 边界条件处理不当 + 资源引用无效 + 执行路径不完整 + ``` + + + + + + + # 提示词开发流程 + + ```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. 提示词必须经过多种情境测试 + + + + # 提示词开发约束 + + 技术约束: + - 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 + + + \ No newline at end of file diff --git a/domain/test/test.role.md b/domain/test/test.role.md new file mode 100644 index 0000000..c91aab5 --- /dev/null +++ b/domain/test/test.role.md @@ -0,0 +1,50 @@ + + + + # 资源处理流程 + + ```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 + ``` + + + + 1. AI必须主动使用工具调用获取资源,不等待系统自动加载 + 2. 遇到@!前缀资源必须立即执行工具调用获取内容 + 3. 遇到@?前缀资源应记录位置但暂不加载 + 4. 必须验证资源是否成功加载并处理失败情况 + + + + 1. 工具调用能力限制(不同AI系统支持的工具不同) + 2. 资源访问权限限制 + 3. 资源大小和格式限制 + + + + 1. 优先处理关键资源,确保核心功能不受资源加载问题影响 + 2. 资源内容应适当缓存,避免重复加载 + 3. 大型资源考虑分段加载以优化性能 + + + + | 指标 | 通过标准 | 不通过标准 | + |------|---------|-----------| + | 加载及时性 | @!资源被立即加载 | 忽略加载语义前缀 | + | 错误处理 | 妥善处理加载失败 | 加载失败无响应 | + | 懒加载执行 | @?资源仅在需要时加载 | 过早加载或完全不加载 | + | 完整性 | 资源内容完整获取 | 内容截断或损坏 | + + + \ No newline at end of file diff --git a/domain/test/testcase.md b/domain/test/testcase.md new file mode 100644 index 0000000..72a9b20 --- /dev/null +++ b/domain/test/testcase.md @@ -0,0 +1,6 @@ + +1. 根据 @!file://LICENSE , 说出开源协议的种类。 + +2. 根据 @!file://core/prompted.role.md , 说出这份提示词用了哪些xml标签? + +3. @!file://domain/prompt/practice/execution-best-practice.md 这个资源的绝对路径是什么 diff --git a/protocol/tag/resource.tag.md b/protocol/tag/resource.tag.md index 24654aa..69c6106 100644 --- a/protocol/tag/resource.tag.md +++ b/protocol/tag/resource.tag.md @@ -140,4 +140,14 @@ query_params ::= '?' param_name '=' param_value {'&' param_name '=' param_value} 4. 相对路径解析基于当前上下文的工作目录或基础路径 5. 资源加载语义前缀(@、@!、@?)优先于其他部分解析,决定资源的加载策略 +### 资源获取实现说明 + +对于支持工具调用能力的AI系统: +1. **主动获取责任**: AI需主动使用工具调用(例如read_file)获取@引用的资源,而非等待系统自动加载 +2. **立即加载义务**: 特别是对于@!前缀资源,AI必须立即执行工具调用获取内容 +3. **自主判断懒加载**: 对于@?前缀资源,AI应记录位置但暂不加载,直到实际需要使用时 +4. **加载验证**: AI应验证资源是否成功加载,并适当处理加载失败情况 + +这种主动获取模式确保AI能正确执行协议定义的资源加载语义,而不依赖系统层面的自动处理。 + diff --git a/protocol/tag/role.tag.md b/protocol/tag/role.tag.md index 1d06181..7bc3c9c 100644 --- a/protocol/tag/role.tag.md +++ b/protocol/tag/role.tag.md @@ -14,7 +14,8 @@ DPML角色合成提示词框架说明了如何通过基础协议的组合构建A ```ebnf (* EBNF形式化定义 *) -role_composite ::= (thought_element | execution_element | memory_element)+ +role_element ::= '' role_content '' +role_content ::= (thought_element | execution_element | memory_element)+ (* 复用现有协议的语法定义 *) thought_element ::= '' thought_content '' @@ -34,6 +35,8 @@ memory_content ::= (* 见memory.protocol.md中的定义 *) ## 🧩 语义说明 +``标签是DPML中定义AI角色的顶层标签,它封装了思考模式、执行模式和记忆模式三大基础协议,共同构成一个完整的角色定义。角色定义必须使用``作为根标签,而不应直接使用其他标签的组合。 + 角色是思考模式、执行模式和记忆模式三大基础协议的组合表达。每个协议分别定义了角色的不同方面: - **thought(思考模式)**: 定义角色的思维方式、分析框架和对话风格