Skip to content

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 工具                      │
└─────────────────────────────────────┘

使用指南

对于不同角色

解析器实现者

  1. 阅读 语法规范
  2. 实现 XML 解析和验证
  3. 支持保留属性 (type, id)
  4. 处理错误和边界情况

AI 系统开发者

  1. 阅读 语义规范
  2. 理解标签设计原则
  3. 实现 DPML 生成和理解能力
  4. 参考 Patterns 中的应用示例

领域专家/标签设计者

  1. 先理解 设计白皮书
  2. 学习 语义规范 的设计原则
  3. 参考 Meta-Pattern
  4. 创建领域特定的 Pattern

工具开发者

  1. 同时阅读语法和语义规范
  2. 实现符合两个规范的工具
  3. 提供友好的错误提示
  4. 支持 Pattern 验证

一致性要求

符合 DPML 协议的实现必须:

语法层面 (MUST)

  • 支持标准 XML 1.0/1.1 语法
  • 正确解析元素、属性、内容
  • 支持保留属性 typeid
  • 正确处理命名空间(如果使用)
  • 提供清晰的错误信息

语义层面 (SHOULD)

  • 理解常见标签的语义
  • 支持 type 系统 (v1.0: text, markdown)
  • 遵循标签设计原则
  • 提供语义验证(如果可能)

注意: 语义规范是指导性的 (SHOULD),不是强制性的 (MUST)。


扩展机制

自定义标签

DPML 鼓励创建领域特定标签,只需:

  • 遵循语义规范的设计原则
  • 使用 kebab-case 命名
  • 提供 Pattern 定义(推荐)

自定义属性

领域可以定义自己的属性,建议:

  • 使用命名空间避免冲突
  • 文档化属性的含义和用法

Pattern 注册

通过 Patterns 目录 分享:

  • 认知框架模式
  • 领域特定标签定义
  • 最佳实践案例

版本演化

当前版本: v1.0

  • 建立基础语法和语义规范
  • 定义核心概念和原则
  • type 系统: text, markdown

未来方向

  • 更多 type 支持 (code, json, etc.)
  • 语义推理机制
  • 跨领域 Pattern 互操作
  • 工具生态建设

相关文档

规范文档

理念文档

应用文档


反馈与贡献

报告问题

  • 语法歧义或不一致
  • 语义规范的不清晰之处
  • 实现困难或冲突

贡献内容

  • 新的 Pattern 定义
  • 最佳实践案例
  • 工具和库的实现

版本历史:

  • v1.0.0 (2025-10-04) - 初始版本,分离语法和语义规范

Released under the MIT License.