DPML 协议规范 v1.0
文档元数据
- 版本: 1.0.0
- 状态: Draft
- 最后更新: 2025-10-04
- 作者: 姜山 (Deepractice.ai)
- 语言: 中文
- 英文版本: index.en.md
协议概述
DPML (Deepractice Prompt Markup Language) 协议规范定义了 DPML 的完整技术标准,包括语法规范和语义规范两个部分。
设计理念
DPML 基于三方定位理论,通过标记语言连接三方参与者:
人类 ←→ DPML ←→ AI ←→ DPML ←→ 计算机
↓ ↓ ↓
创新意图 语义转译 精确执行详细设计理念参见 DPML 设计白皮书。
协议组成
DPML 协议由两个互补的规范组成:
1. 语法规范 (Syntax Specification)
- 文档: syntax.zh-CN.md
- 受众: XML 解析器实现者、验证器开发者、工具构建者
- 关注点: "能不能解析" (计算机视角)
定义内容:
- XML 语法规则
- 元素和属性的格式要求
- 文件结构规范
- 验证规则和一致性要求
- 错误处理机制
核心问题:
- 这个 DPML 文档格式是否合法?
- 解析器应该如何处理这个文档?
- 什么样的文档会被拒绝?
2. 语义规范 (Semantics Specification)
- 文档: semantics.zh-CN.md
- 受众: AI 系统、内容生成者、标签设计者、领域专家
- 关注点: "什么意思" (AI 视角)
定义内容:
- 标签的语义含义
- 标签设计原则(词性、命名、组合)
- 认知框架设计指南
- AI 理解和生成 DPML 的规则
- 内容类型系统(type 机制)
核心问题:
- 这个标签应该包含什么性质的内容?
- 如何设计一个好的认知框架?
- AI 应该如何理解和生成这个结构?
两者关系
┌─────────────────┐ ┌─────────────────┐
│ 语法规范 │ │ 语义规范 │
│ (Syntax) │ │ (Semantics) │
├─────────────────┤ ├─────────────────┤
│ • XML 格式 │ │ • 标签含义 │
│ • 结构规则 │ ───▶ │ • 设计原则 │
│ • 验证标准 │ │ • 认知框架 │
│ • 解析行为 │ │ • AI 指南 │
└─────────────────┘ └─────────────────┘
↓ ↓
"格式正确吗?" "表达清晰吗?"
(必要条件) (充分条件)类比理解:
| 对比 | 语法规范 | 语义规范 |
|---|---|---|
| 编程语言 | 语法检查器(能编译吗?) | 代码规范(写得好吗?) |
| 自然语言 | 语法(句子结构正确吗?) | 语义(表达什么意思?) |
| 建筑 | 结构安全规范 | 设计美学原则 |
依赖关系:
- 语法规范是基础 - 必须先满足语法要求
- 语义规范是指南 - 在语法正确的基础上提供最佳实践
核心设计原则
两个规范共同遵循的设计原则:
1. 简洁性原则
核心概念 ≤ 5 个
语法规范的5个核心概念:
- 元素 (Element)
- 属性 (Attribute)
- 内容 (Content)
- 保留属性 (type/id)
- 命名空间 (Namespace, 可选)
2. 三方定位原则
人类 - AI - 计算机 各司其职
- 人类: 提供创新意图(自然语言)
- AI: 语义理解和转译(生成/解析 DPML)
- 计算机: 精确执行和验证(解析/存储)
3. 四维语义原则
标签 - 属性 - 内容 - 结构 共同传递语义
语义通过四个维度表达:
- 标签语义: 标签名称本身的含义
- 属性语义: 元数据和约束
- 内容语义: 实际的信息载体
- 结构语义: 嵌套和组合关系
4. 约而不束原则
框定边界,不限制内容
- 约: 通过标签框定内容的性质和类别
- 不束: 不限制具体内容的表达和创造
5. 扩展性原则
开放扩展,保持兼容
- 支持自定义标签和属性
- 通过 Patterns 提供领域规范
- 保持向后兼容
协议层次结构
┌─────────────────────────────────────┐
│ DPML 生态系统 │
├─────────────────────────────────────┤
│ 理念层 (Whitepaper) │
│ ↓ │
│ 规范层 (Protocol) │
│ ├── 语法规范 (Syntax) │
│ └── 语义规范 (Semantics) │
│ ↓ │
│ 应用层 (Patterns) │
│ └── 具体领域的认知框架模式 │
│ ↓ │
│ 实现层 (Implementations) │
│ ├── 解析器 │
│ ├── 验证器 │
│ └── AI 工具 │
└─────────────────────────────────────┘使用指南
对于不同角色
解析器实现者
- 阅读 语法规范
- 实现 XML 解析和验证
- 支持保留属性 (type, id)
- 处理错误和边界情况
AI 系统开发者
领域专家/标签设计者
- 先理解 设计白皮书
- 学习 语义规范 的设计原则
- 参考 Meta-Pattern
- 创建领域特定的 Pattern
工具开发者
- 同时阅读语法和语义规范
- 实现符合两个规范的工具
- 提供友好的错误提示
- 支持 Pattern 验证
一致性要求
符合 DPML 协议的实现必须:
语法层面 (MUST)
- 支持标准 XML 1.0/1.1 语法
- 正确解析元素、属性、内容
- 支持保留属性
type和id - 正确处理命名空间(如果使用)
- 提供清晰的错误信息
语义层面 (SHOULD)
- 理解常见标签的语义
- 支持 type 系统 (v1.0: text, markdown)
- 遵循标签设计原则
- 提供语义验证(如果可能)
注意: 语义规范是指导性的 (SHOULD),不是强制性的 (MUST)。
扩展机制
自定义标签
DPML 鼓励创建领域特定标签,只需:
- 遵循语义规范的设计原则
- 使用 kebab-case 命名
- 提供 Pattern 定义(推荐)
自定义属性
领域可以定义自己的属性,建议:
- 使用命名空间避免冲突
- 文档化属性的含义和用法
Pattern 注册
通过 Patterns 目录 分享:
- 认知框架模式
- 领域特定标签定义
- 最佳实践案例
版本演化
当前版本: v1.0
- 建立基础语法和语义规范
- 定义核心概念和原则
- type 系统: text, markdown
未来方向
- 更多 type 支持 (code, json, etc.)
- 语义推理机制
- 跨领域 Pattern 互操作
- 工具生态建设
相关文档
规范文档
- 语法规范 (Syntax) - 技术实现者必读
- 语义规范 (Semantics) - AI 和设计者必读
理念文档
- DPML 设计白皮书 - 理解设计哲学
应用文档
- Meta-Pattern - 模式定义的模式
- Patterns 目录 - 认知框架应用案例
反馈与贡献
报告问题
- 语法歧义或不一致
- 语义规范的不清晰之处
- 实现困难或冲突
贡献内容
- 新的 Pattern 定义
- 最佳实践案例
- 工具和库的实现
版本历史:
- v1.0.0 (2025-10-04) - 初始版本,分离语法和语义规范
