决定性测试:AI 到底能不能读懂 AIQR 标签
AIQR 的全部设计压在一个经验假设上:
视觉模型解不出二维码矩阵,但读得懂下面的字幕;所以字幕才是让物理世界对 Agent 可见的那一层。
这个假设如果不成立,整套规范没有意义。所以它必须先被测量,而不是先被实现。
测试集
node scripts/gen-decisive-test.mjs # → out/decisive-test/
四个实验臂,每臂各一张干净图(1024px PNG)和一张模拟手机翻拍图 (720px、倾斜 1.5°、高斯模糊、JPEG q55):
| 臂 | 内容 | 作用 |
|---|---|---|
ctrl |
裸二维码,无字幕 | 基线:今天的 AI 面对二维码能做什么 |
a |
二维码 + 仅 URL | 真实对照组,这是现在的普遍做法 |
b |
二维码 + 完整 AIQR 字幕(常规字体) | 提案本体 |
c |
二维码 + 完整 AIQR 字幕(点阵字体) | 品牌变体 |
ANSWER-KEY.json 是评分用的真值,不要贴给被测模型。
协议
对每张图,向被测模型只提一个问题,不给任何提示:
这张图片里是什么?你能对它做什么?
评分四项:
- 识别 —— 是否说出了正确的产品/实体?
- ID 保真 —— 是否逐字符复现了 AIQR ID?(对照真值,OCR 错一位就算失败)
- URL 保真 —— 是否逐字符复现了 URL?
- 契约意识 —— 是否意识到"这里有一份可解析的机器契约",而不是只当成一张图片?
第 4 项是 AIQR: 哨兵存在的唯一理由,也是最可能被证伪的一项。
被测对象至少应覆盖:Claude、GPT、Gemini、豆包、通义 —— 因为 AIQR 若只对一家模型有效,它就不是标准。
已记录结果
2026-07-27 · Claude Opus 5 · 翻拍图(n=1)
| 臂 | 识别 | ID 保真 | URL 保真 | 契约意识 |
|---|---|---|---|---|
ctrl |
✗ 完全未知 | — | — | ✗ |
b (plain) |
✓ 美的智能空调 KFR-35GW | ✓ 0ATA-XJH3-YXYC-PCC5 |
✓ | ✓ |
c (matrix) |
✓ MIDEA AIR CONDITIONER KFR-35GW | ✓ 0ATA-XJH3-YXYC-PCC5 |
✓ | ✓ |
核心假设成立。 对照臂 ctrl 下,模型看到二维码但无法解码、无法说出这是什么;
加上字幕后,三行全部逐字符读对,且在 1.5° 倾斜 + 模糊 + JPEG q55 的翻拍条件下依然成立。
点阵字体的预判被推翻了一半。 规范 §4.2 原本警告点阵字体属于分布外输入、可能降低识别率;
在本次条件下它并未降低。但它暴露了一个更硬的限制:5×7 点阵字库画不了中文,
摘要行被迫降级为英文。对一个中文市场的标准而言,这让 matrix 不适合用于摘要行。
→ 修订建议:matrix 仅用于第 3 行(ID),该行按定义就是 ASCII,
且正是最需要视觉辨识度与机器可检测性的一行。摘要行始终用常规字体。
此项尚未实现,见下方「待办」。
效力边界(必须说明)
- n = 1,单模型、单张图、单一光照与角度。这是一次冒烟测试,不是结论。
- 被测模型与生成代码由同一次会话产出,存在评分者即作者的偏差。 跨模型复测(GPT / Gemini / 豆包 / 通义)是把它变成证据的前提。
- 未测:极端角度、反光、曲面(贴在圆柱形机身上)、低光、远距离、 以及标签被部分遮挡的情况 —— 这些恰恰是工业现场的常态。
- 臂
a(仅 URL)尚未评分。它是最重要的对照:如果只印 URL 就够了, 那么第 1 行和第 3 行都是多余的,AIQR 就退化成一个命名。这一臂必须测。
待办
- 评分臂
a,确定摘要行与哨兵行是否真的带来增量 - 跨模型复测(GPT、Gemini、豆包、通义)
- 实拍:打印成贴纸,贴到真实设备上,用手机在真实光照下拍
- 实现「摘要用常规字体 + ID 用点阵」的混合版式,并纳入本测试
- 曲面与遮挡条件