跳转至

15 Mock 后端策略

目的

本章定义 v0.1 中 Mock 后端的角色与设计原则。

核心要求

Mock 后端必须对整体架构形成真实的工程检验,但不能冒充完整硬件实现。

Mock 后端的角色

Mock 后端的主要作用是做一致性验证与开发者赋能。它们证明 canonical 核心可以驱动多种硬件家族,而不会把某一种硬件的假设硬编码进核心模型层。

Mock 后端必须:

  • 接收 canonical UQCI 程序与 Bundle 输入
  • 实现统一的后端生命周期
  • 返回标准 RunResult
  • 提供有代表性的诊断输出
  • 足够轻量,能够被仓库内示例与测试直接使用

Mock 后端不得宣称物理保真度或生产就绪性。

在 v0.1 中,Mock 后端不是附带示例,而是参考策略的重要组成部分。它们用来证明 canonical 核心、Bundle 模型与 driver 契约可以跨越多种技术路线工作。

标准后端流程

参考仓库中的每个 Mock 后端都应覆盖以下阶段:

  1. validate_ir
  2. allocate_resources
  3. schedule
  4. compile
  5. run
  6. diagnostics

这一统一流程的意义在于:后续新增后端可以在实现细节上不同,但无需改变 canonical contract。

当前 v0.1 仓库范围

当前仓库包含两个可运行的 Mock 后端:

  • SuperconductingMockBackend
  • NeutralAtomMockBackend

同时还保留了一个未来离子阱 Mock 后端的占位扩展点。这样的组合是刻意选择的:v0.1 需要证明架构具备技术路线多样性,但并不声称平台覆盖已经完整。

超导 Mock

超导 Mock 后端宜体现微波驱动、读出,以及可选 flux 或 coupler 语义。代表性行为包括:

  • 面向单比特操作的微波驱动通道
  • 面向测量采集的读出通道
  • 面向双比特作用的 coupler 或 flux 提示
  • 与谐振腔读出窗口相适配的时间槽逻辑

目标不是模拟真实超导控制栈,而是让超导特有的资源与调度假设显式化、可测试化。

中性原子 Mock

中性原子 Mock 后端宜体现光学控制与成像读出语义。代表性行为包括:

  • 面向站点或区域寻址的光学控制资源
  • Rydberg 风格纠缠语义或 blockade 类约束
  • 成像式测量或占据态采集
  • 以阵列或 site 为中心的拓扑,而不是默认 qubit 邻接图

这一后端用于证明:即使平台不是微波驱动,canonical UQCI 模型也无需改变。

为什么 v0.1 需要 Mock

Mock 后端在 v0.1 中存在的原因主要有四个:

  • 验证 canonical 模型与 backend realization 的分离是否成立
  • 在没有真实硬件依赖的前提下保持测试与示例可运行
  • 以可检查的方式暴露后端生命周期阶段
  • 为未来半真实或真实适配器建立稳定进入路径

可复现执行

Mock 执行结果应当是确定性的,或至少是可复现的伪随机结果。仓库更应优先可复现性,而不是追求逼真度,因为:

  • 测试需要稳定
  • 示例需要可验证
  • 诊断结果需要可比较

如果使用伪随机行为,其种子规则应当明确。

Mock 策略的边界

Mock 后端的定位是刻意受限的。它们不应被理解为:

  • 完整的物理仿真器
  • 生产控制系统
  • 厂商认证工件
  • 对脉冲级硬件行为的穷尽模型

它们首先是架构验证与一致性验证工具。

可扩展性原则

Mock 后端策略必须为未来离子阱等后端预留空间。因此,Mock API 设计应强调公共生命周期与标准输出,而不是围绕某一种平台的信号词汇做过早固化。