生态定位与证据阶梯:RuView 如何被定位为"无摄像头的 RF 感知运行时"而非"完整的空间智能操作系统"
【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView
导读
本文基于 RuView 仓库中的 ADR-282: Ecosystem positioning(生态定位决策),系统梳理 RuView 在 RuField / RuVector / MetaHarness 生态中的分层定位,并重点解读本决策引入的强制性公开证据阶梯(L0–L5,frame::EvidenceLevel)。读者将理解:为什么"更窄的身份反而更强"、每一层(L0–L5)证据的具体含义与升级规则、代码层面如何用构造函数强制杜绝"合成数据伪装成现场数据"(frame.rs 中的 provenance 不变量与 ruview-evidence 的只追加账本),以及 RuView 未来规模化测试(L4 门禁)的验收口径。
1. 背景:为什么需要一纸"定位声明"
ADR-282 指出 RuView 曾经处于一个"有价值但模糊"的位置:
RuView 的 README 覆盖面极广,容易让读者把每一项能力都当作**经过现场验证(field-validated)**的事实;同时平台层面偶尔也会表现得像一个完整的空间智能操作系统。
但可辩护的(defensible)身份其实更窄、也更强。于是本 ADR 用一纸分层身份把范围收敛下来——这既是一种对外叙事,也是一种内部工程纪律:哪一层负责什么、证据责任落在哪里,从此一目了然。
该 ADR 的父级是 ADR-273(Unified RF Spatial World Model),并关联 ADR-260/262(RuField)、ADR-261(RuVector)、ADR-182(MetaHarness 产出的 harness)、ADR-279(provenance / evidence 类型)、ADR-187(诚实标注先例)。
2. 核心决策:分层的身份(Layered Identity)
ADR-282 给出的正式定位是:
RuView 是一个开放的、边缘原生的 RF 感知运行时(edge-native RF perception runtime),把异构的无线电测量转化为受治理的空间观测(governed spatial observations)。
它不是完整的世界模型、机器人平台、数字孪生或通用空间操作系统。整个技术栈按职责被切成六层:
| 层 | 职责 | 属主 |
|---|---|---|
| 应用层 | 医疗健康、建筑、机器人、安防、零售、工业 | 应用系统 |
| Agent 与决策 | 查询规划、主动感知、自动化、策略 | MetaHarness |
| 空间记忆与推理 | 持久化对象、Gaussian 场、场景图、时序记忆 | RuVector(由ruview-unified::gaussian喂入) |
| 受治理的感知平面 | 证据、隐私、标定、谱系、感知任务 | RuField(按 ADR-262 桥接;契约见 ADR-277/279/280) |
| 感知与边缘推理 | 原生采集、适配器、共享编码器、任务头、不确定性、P0 遏制 | RuView |
| 无线电与物理传感器 | WiFi CSI/CIR/BF、雷达、UWB、BLE CS、蜂窝 SRS | 硬件 |
这六层界定了生态位:
- 补位而非取代视觉:覆盖"摄像头不可用、不受欢迎或低效"的场景,从不声称"普遍取代摄像头";
- 跨模态共享:在 CSI 与雷达上共用一套编码器 + 空间场;
- 锚定几何:BLE/UWB 作为几何锚点(geometric anchors),WiFi 负责环境级感知;
- 对标 6G ISAC:成为"在当前已存在的硬件上"对感知数据平面(sensing data plane)的务实开源实现,而不是等待未来标准落地。
在工程上,这一层表也直接映射到了代码库的组织:v2/crates/下 ruview-hal(适配器层)、ruview-unified(统一感知与边缘推理)、ruview-active(主动感知 / 策略)等 crate 大致与上表的感知/治理职责一一对应。
3. 优势继续投入,短板定向修补
3.1 值得继续投资(已有差异化)的方向
- 低成本环境感知:基于商品化无线电(commodity radios);
- 无摄像头覆盖:明确附带一条告诫——无摄像头 ≠ 隐私安全,隐私是由 ADR-277/280 的治理门(gates)来保证的;
- 边缘优先执行(edge-first);
- 既有应用面:HA / Matter / HomeKit。只有当需求被证明成立时,才向 ROS 2、OpenUSD、MQTT Sparkplug、OPC UA、BIM / 数字孪生连接器扩展。
3.2 需要修补的短板(每一项都有具体 ADR 对应)
| 短板 | 对策 |
|---|---|
| 平台 / 世界模型式的宣称混淆 | 本文档(ADR-282)的证据阶梯 |
| 缺少持久化的空间表征 | ADR-275:喂养 RuVector,而不是把一切装进 sensing server |
| 过于依赖 ESP32 单一管线的风险 | ADR-279:原生 RF 帧 + 适配器 |
| 只有流式操作、缺少任务模型 | ADR-280:感知任务(sensing tasks) |
4. 强制性公开证据阶梯(Evidence Ladder)
本 ADR 的核心工程产物是frame::EvidenceLevel类型,以及"用它作为政策"的规定。语义如下:
| 级别 | 含义 |
|---|---|
| L0 | 仅仿真(Simulation only) |
| L1 | 采集回放(Captured replay) |
| L2 | 受控实验室(Controlled laboratory) |
| L3 | 留出房间 + 被试验证(Held-out room + subject validation) |
| L4 | 多站点现场试点(Multi-site field pilot) |
| L5 | 生产运行证据(Production operational evidence) |
在代码中,该阶梯定义于 v2/crates/ruview-unified/src/frame.rs,六个变体分别为L0Simulation、L1CapturedReplay、L2Lab、L3HeldOutValidation、L4MultisiteField、L5Production,并实现了PartialOrd + Ord——因为"总结取最低档"(floor rule)需要依赖这个偏序。
同时,ruview-evidence 以叶子 crate的方式本地镜像了一份EvidenceLevel(L0–L5),并用注释明确:该枚举是frame::EvidenceLevel的忠实本地副本,而非独立的标尺,其序关系是被依赖的关键语义——summary 的档位是切片内所有记录的最小值(L0 < L1 < … < L5)。
4.1 四条强制规则
- 每条能力行只能带一个档位:README / registry 中的每个 capability 行必须标注且仅标注一个 level;
- 按类型锁定,双向拒绝:
ProvenanceClass::Synthetic帧按类型就是 L0,实测帧必须 ≥ L1;构造函数在两个方向上都拒绝别名(即 ADR-279 的第 6 条不变量); - 升档必须有对应产物:升级到某档需要对应的人工产物——回放语料、实验室协议、按 ADR-279 第 4 节的严格切分清单(strict-split manifest)、或现场试点报告;
- 隐藏真实测试集不可污染:用于支撑 L3+ 宣称的隐藏真实世界测试集,永远不允许进入合成生成、数据增强或标定流程。
4.2 规则 2 的代码落地:构造函数不变量
在 frame.rs 中,RfFrameV2::new的校验逻辑直接实现了"双向拒绝":
match (provenance.class, provenance.evidence) { (ProvenanceClass::Synthetic, EvidenceLevel::L0Simulation) => {} (ProvenanceClass::Synthetic, level) => { // synthetic frames are L0Simulation by definition return Err(...); } (ProvenanceClass::Measured, EvidenceLevel::L0Simulation) => { // measured frames cannot claim L0Simulation return Err(...); } (ProvenanceClass::Measured, _) => {} }也就是说:"合成数据自称 L3 现场验证"和"实测数据自称 L0 仿真"都无法通过构造——别名不是被纪律约束,而是在类型系统层面不可表示。对应测试为synthetic_and_measured_provenance_can_never_alias,可用cargo test -p ruview-unified frame::运行验证(详见 ADR-279 第 6 节)。
ruview-evidencecrate 进一步把"诚实"推进到账本层面(lib.rs):
- 不可升档:
EvidenceRecord::synthetic构造出来就是 L0,且没有set_level方法; - 只追加:
EvidenceLedger::append以值方式消费记录,任何修正都是一条新记录而非就地编辑; - 上下文不可混池:
EvidenceLedger::query只按单一上下文(room / device / subject-class / model-version)产出切片;没有 API 能把两个上下文平均成一个数字;summary 档位取切片内最低档(floor); - "无证据"是明确的信号:空上下文返回
SummaryEvidence::NoEvidence,与"存在但为零分"区分开——下游必须把"无证据"当作"无能力",而不是0.0分。
此外,ruview-evidence还区分了ProvenanceClass的三个变体:Synthetic(仿真器产出,按构造为 L0)、Claimed(真实推理但没有 ground-truth 参照)、Measured(有 ADR-303 参照 + 可复现句柄)。
4.3 现状标注(honest labeling)
ADR-282 明确写着:ADR-273..281 中发布的每一项数据,全部是 L0——除适配器/契约层之外,因为它们属于"代码级"证据,没有可评级的精度宣称。这正是 ADR-187(诚实标注)先例的延续。
5. 商业聚焦:每个垂直领域的"有界宣称"
ADR-282 对每个目标垂直给出了精确的能力边界:
| 垂直领域 | 宣称什么 | 明确不宣称什么 |
|---|---|---|
| 养老照护 | 决策支持与异常升级(anomaly escalation) | 不是诊断 |
| 智能建筑 | 占用率 / 使用率;价值 = 能源 + 空间 + 安全 − 成本 | — |
| 工业安全 | 能在粉尘 / 黑暗 / 遮挡环境下工作 | 未现场验证前不是认证安全系统 |
| 安防 | 穿墙占用感知;以 ADR-277/280 的监控治理门为功能而非摩擦 | — |
| 机器人 | RuView 是概率性外部感知(probabilistic exteroception) | 永远不是 ground truth |
6. 护城河(The Moat)
值得注意:ADR-282 明确否定"任何一个单独检测器"作为护城河,而把护城河定义为组合性能力:
- 广泛的硬件支持(ADR-279 适配器);
- 带 provenance 的异构数据;
- 在反泄漏评估(ADR-273 第 4 节)下的跨环境预训练编码器;
- 标定 / 不确定性纪律;
- 隐私保护的边缘执行(ADR-277/280);
- 密码学证据(RuField 桥接);
- 持久化空间记忆(ADR-275 → RuVector);
- 开放的集成方式。
Harder to reproduce than any model.(比任何单一模型都更难被复刻。)
7. 生态契合验收测试:L4 门禁
当满足下列条件时,RuView 才被认为"契合成熟技术栈":
- 冻结的编码器能够摄入来自从未见过的硬件的 WiFi CSI、雷达与蓝牙测量;
- 输出RuField 兼容的观测;
- 更新持久的RuVector 空间模型;
- 支持 Agent 查询,并满足硬指标:
- 定位p90 ≤ 0.5 m;
- 跨未见房间的性能退化< 20 %;
- 每条结果都带显式不确定性;
- 完整的标定 + provenance 谱系;
- 没有任何 P0(原始 RF)离开边缘;
- 回放 / 实验室 / 现场证据清晰分离;
- 能与标准机器人或数字孪生平台成功融合。
该测试作为L4 门禁被跟踪;其合成模拟机制已经存在——即tests/e2e_acceptance.rs。
7.1 合成模拟机制:e2e_acceptance.rs
仓库中的 v2/crates/ruview-unified/tests/e2e_acceptance.rs 在合成数据上端到端跑通了"部署态管线"(而非捷径):物理仿真 CSI → 规范张量 → tokenizer → 掩码重建自监督预训练(标签从不触碰编码器)→冻结编码器→ 参数预算 ≤ 1 % 的存在性适配头 → 严格反泄漏评估 → 策略包裹导出。文件头注释逐条列出验收门禁(ADR-273 §6 的合成模拟):
- 完全留出房间上的存在性 F1 ≥ 0.90;
- 在留出芯片组切分上同样成立;
- 已知 → 未知的相对退化 < 20 %;
- 适配器 < 主干参数的 1 %;
- tokenize+encode 的 p95 延迟 < 50 ms;
- 每个导出输出都携带不确定性、provenance、模型版本与用途,且只能穿过策略信任边界。
测试中还验证了选择性风险单调性(调高置信阈值不会抬高选择性风险)以及"未授权用途在政策引擎上被 fail-closed 拒绝"。
在 ADR-273 的合成结果表里可以看到这些门禁对应的合成档数字:留出房间/芯片组的存在性 F1 为 1.0000、已知→未知退化 0.0000、适配器参数 129/268/387/2 vs 40,856 参数主干、p95 延迟(debug profile)2.0 ms、留出 ECE 0.0122。但该 ADR 同时给出诚实的解读:在合成世界里"存在 ⇔ 移动散射体"是可分离的,F1 = 1.0 验证的是管线与反泄漏机制,而非真实世界性能——真实数据门禁(5 个未见房间、2 个未见芯片组、2 个未见布局、实测 CSI)属于 P2,仍然开放。这正与 ADR-282"ADR-273..281 一切均为 L0"的标注保持一致。
8. 实践指引:如何查看 / 复现 / 验证
- 完整阅读定位决策原文:ADR-282;其上游架构决策见 ADR-273。
- 查看
EvidenceLevel/FrameProvenance及构造不变量:v2/crates/ruview-unified/src/frame.rs;provenance 别名测试的复现命令为cargo test -p ruview-unified frame::。 - 查看证据账本(只追加、不可升档、min-floor、NoEvidence 语义):v2/crates/ruview-evidence/src/lib.rs。
- 查看 L4 验收门禁的合成模拟:运行
cd v2 && cargo test -p ruview-unified --test e2e_acceptance(测试输出会显式标注SYNTHETIC,即 ADR-273 第 0 节规定的 PROOF 纪律:MEASURED-SYNTHETIC / MEASURED-CODE / EXTERNAL-UNVERIFIED 三类数字绝不混标)。
9. 小结:一纸定位如何变成工程纪律
ADR-282 的独特之处在于:它没有停留在对外叙事的层面,而是把"诚实"翻译成了可执行规则——六层职责表划清了生态位,L0–L5 证据阶梯定义了每个宣称的证据等级,而frame::EvidenceLevel与RfFrameV2构造函数把"合成即 L0、实测 ≥ L1、双向不可别名"固化到了类型系统里,ruview-evidence的只追加账本又从记录层面保证了不可事后改档。对读者(尤其是 Agent / LLM 读者)而言,这套文档 + 代码的组合意味着:任何关于 RuView 能力档位的断言,都可以沿着文档链追溯到 ADR 原文与可运行的测试命令——这就是本项目区别于一般"能力罗列型 README"的关键。
【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考