阶段二的设计哲学是同一份代码只换 backend 字符串,噪声效果可逐元手算。设 readout_error = {q0: [0.10, 0.02]} 作用于理想 GHZ($P(000) = P(111) = 0.5$):每个含错误比特的边缘概率乘一个 $2 \times 2$ 混淆矩阵,得 $P(000) = 0.5 \times (1 - 0.10) = 0.45$、$P(001) = 0.5 \times 0.10 = 0.05$、$P(111) = 0.5 \times (1 - 0.02) = 0.49$、$P(110) = 0.5 \times 0.02 = 0.01$。门噪声一侧:全局 2% 去极化给 $P(000) = P(111) = 0.4740$,泄漏集中在与 000/111 汉明距离 1 的态(001/110 各 0.0129);分层配置(1q 0.5% 加 CNOT 5%)给 0.4614。后端按真实度分四级:dummy:local:simulator 无噪;dummy:virtual:<name> 由 YAML 声明(1q/2q 去极化 0.001/0.02、$T_1/T_2 = 50/40\,\mu\mathrm{s}$、读出 [0.02, 0.02]);dummy:originq:WK_C180 用芯片标定噪声(Bell 态 01/10 泄漏各 $21/512 \approx 4\%$);真机需 token。执行链为 submit_task、wait_for_result 或 poll_result,一轮迭代交一组线路用 submit_batch。三个坑:未绑定 PARAM 的参数化线路先 assign_parameters;拓扑违规在取结果时才抛 TaskFailedError;两套计数键(本地十进制整数对 UnifiedResult 二进制串,c[0] 在最右)要先分清再写后处理。演示节点 2 把 GHZ 分别提交理想与含噪后端:{'000': 1024, '111': 1024} 对 {'000': 910, '111': 875, 其余 6 基矢合计 263}。