Skip to content

SCP Canonical Embedding 实现规范(Implementation Specification)

版本:v0.3.2 生成日期:2026-02-25 状态:Production Implementation Blueprint


1. 文档目的

本文档定义 SCP Canonical Embedding 的工程实现规范。

目标:

  • 提供可直接落地的实现说明
  • 定义模块划分
  • 定义数据结构
  • 定义算法流程
  • 定义版本控制策略
  • 定义安全与一致性要求

本规范面向:

  • 协议实现工程师
  • Registry 引擎开发者
  • 节点实现团队

2. 模块划分

Canonical Embedding 实现必须拆分为以下模块:

  1. Text Normalization Module
  2. Embedding Engine Module
  3. Quantization Module
  4. Similarity Engine Module
  5. Elevation Decision Engine
  6. Registry State Manager
  7. Version Control Manager

3. 文本规范化模块

输入:

  • attribute name
  • description
  • domain context

处理步骤:

  1. 转为 UTF-8
  2. 转小写
  3. snake_case 统一
  4. 去除控制字符
  5. 去除多余空格
  6. 标准化单位表达

输出:

normalized_text

必须 deterministic。


4. Embedding Engine 模块

4.1 模型要求

  • 固定模型版本(embedding_model_version)
  • 固定 tokenizer
  • 固定参数文件
  • 不允许在线推理 API

推荐模型:

  • MiniLM
  • SBERT
  • 或内部定制模型

4.2 生成流程

vector = model(normalized_text)

输出浮点向量。


5. 量化模块(Quantization)

5.1 目标

将浮点向量转换为 deterministic 整数向量。

5.2 实现步骤

  1. 设定固定缩放因子 SCALE = 1000
  2. 对每个元素执行: int_value = round(float_value * SCALE)
  3. 转换为 int16
  4. 截断溢出值

必须保证:

  • 所有节点使用相同 SCALE
  • 使用相同 rounding 规则

6. Embedding Hash

embedding_hash = SHA256(serialized_int_vector)

仅 embedding_hash 存入 Registry。


7. 相似度引擎实现

7.1 余弦相似度

dot_product = Σ(v1_i * v2_i)

norm_v1 = sqrt(Σ(v1_i^2)) norm_v2 = sqrt(Σ(v2_i^2))

cos_sim = dot_product / (norm_v1 * norm_v2)

必须使用整数运算与固定精度。


8. 综合相似度计算

S_total_v2 =

w1*S_name +
w2*S_type +
w3*S_value +
w4*S_embedding

默认权重:

w1=0.4 w2=0.2 w3=0.1 w4=0.3

权重必须写入配置文件并参与 semantic_version。


9. 升级决策引擎

决策逻辑:

if S_total_v2 ≥ 0.92: merge() elif 0.8 ≤ S_total_v2 < 0.92: reject_upgrade() else: create_new_cluster()

同时必须检查:

  • stake threshold
  • distribution breadth
  • time stability

10. Registry 状态管理

Registry 必须维护:

  • Attribute Table
  • Semantic Cluster Table
  • Embedding Hash Table
  • Registry Root Hash

每个 Epoch 计算:

RegistryEmbeddingRoot = hash(all embedding_hash)


11. 性能优化建议

为避免全表扫描:

  • 使用 BK-tree 处理字符串相似度
  • 使用向量索引(如 HNSW)做候选筛选
  • 仅对候选执行精确余弦计算

12. 安全实现要求

系统必须:

  • 禁止模型动态更新
  • 禁止节点私自替换 embedding_model_version
  • 在共识层验证 semantic_version
  • 拒绝不匹配版本的升级请求

13. 版本控制

定义:

semantic_version = 2.x embedding_model_version = x.y

升级规则:

  • 模型升级必须 bump semantic_version
  • 旧属性不可 retroactive 修改
  • 新版本需生成新 embedding_hash

14. 单元测试要求

必须包含:

  1. 相同输入跨节点一致性测试
  2. 不同模型版本冲突测试
  3. 量化精度回归测试
  4. 冲突合并测试
  5. 升级状态机测试

15. 部署建议

推荐部署结构:

  • Embedding Engine 作为独立服务
  • Registry Engine 作为共识节点内部模块
  • 定期 snapshot RegistryEmbeddingRoot
  • 与 Settlement 层同步 Root

16. 结论

本实现规范提供:

  • 可落地模块结构
  • 算法流程定义
  • 协议一致性保障
  • 安全控制要求

该文档为 SCP v0.3.2 Canonical Embedding 生产级实现蓝图。


结束。