同一张海鲜饭照片,Gemini 2.5 Pro 有时估 55g 碳水,有时估 484g。
这不是换了照片,也不是换了提示词。Diabettech 作者在一项预印本测试里,用同一批食物照片、同一套提示词,反复问四个多模态模型,总计 26904 次。
这个结果最值得警惕的地方,不是 AI 偶尔把饭认错了。真正的问题是:当答案会漂移,甚至会稳定地错,通用视觉大模型还能不能进入胰岛素给药这条链路。
我更在意的是这条边界。拍照估算碳水可以减负,但胰岛素剂量不是普通推荐结果。错到一定程度,代价不是体验差,而是低血糖或高血糖风险。
实验看的是稳定性,不是炫技识图
这项测试用了 13 张手机拍摄的真实食物照片。测试对象是 OpenAI GPT-5.4、Claude Sonnet 4.6、Gemini 2.5 Pro 和 Gemini 3.1 Pro Preview。
提示词改编自 iAPS 开源自动胰岛素输送系统中的生产提示。每张图对每个模型重复提交 500 次以上,并采用模型可提供的最低随机性设置。
也就是说,这不是随手逗 AI 的问题。它更接近一个产品真实会遇到的场景:用户拍一张饭,系统要给出碳水估算,然后影响餐前胰岛素计算。
结果是,四个模型都会在同一张图片上给出不同答案,只是波动程度不同。
| 模型 | 中位变异系数 | 最需要注意的风险 |
|---|---|---|
| Claude Sonnet 4.6 | 2.4% | 相对最稳定,但仍可能稳定出错 |
| GPT-5.4 | 8.4% | 在强参考值图片中,37% 查询导致 >2U 临床显著误差 |
| Gemini 3.1 Pro Preview | 10.3% | 12% 查询导致 >2U 临床显著误差 |
| Gemini 2.5 Pro | 11.0% | 海鲜饭案例从 55g 到 484g;12% 查询导致 >5U 严重低血糖风险误差 |
海鲜饭案例最刺眼。Gemini 2.5 Pro 对同一张图的估算跨度从 55g 到 484g,相差 429g。
如果按 1:10 的胰岛素碳水比粗算,剂量差可以到 42.9U。这个数字不能被解读成“所有 AI 碳水估算都会致命”。它只能说明一件事:在本研究设置下,尾部异常值已经大到不能当小噪声处理。
这也是医疗 AI 和普通消费 AI 的差别。识别错一件衣服、推荐错一条视频,用户可以划走。碳水估算错得太多,用户可能已经把剂量打出去了。
更麻烦的是:稳定不等于正确
Claude Sonnet 4.6 在这组测试里相对最稳定。这对开发者有价值。波动小,至少更容易做监控、校准和异常处理。
但稳定不是安全证书。
奶酪三明治案例更能说明问题。参考值是 40g 碳水,两片白面包每片 20g,奶酪碳水可忽略。Claude、Gemini 2.5 Pro 和 Gemini 3.1 Pro 三款模型却稳定估到约 28g。
Claude 在 510 次查询中的变异系数只有 0.3%。看起来很稳,但每次都低估约 12g。对使用 1:10 胰岛素碳水比的人来说,这相当于可能少打约 1.2U。
这类错误更隐蔽。因为界面上看不出“发散”,用户反而更容易相信它。
模型自报 confidence 也没有把问题解决。四个模型都返回了置信度,但它和真实准确性的相关性很弱或为零。Claude 平均 confidence 为 0.80,与准确性的相关系数为 r=-0.01。Gemini 2.5 Pro 和 Gemini 3.1 Pro 平均 confidence 都达到 0.91,却不能有效区分好答案和坏答案。
所以我不太买账的是,把 confidence 当安全阀。低置信度拦截当然可以做,但它不能单独承担医疗安全责任。一个高 confidence 的错误答案,仍然是错误答案。
还有食物识别幻觉。原文提到,13 张图中有 8 张出现食物识别错误。例如 Gemini 3.1 Pro 在奶酪三明治中,17.4% 查询加入了并不存在的“熟食肉”。
这不是小瑕疵。碳水估算不是只看图像总热量,它要知道盘子里到底有什么。食物认错,后面的数字再精确也没有意义。
患者可以参考,团队不能把责任交给单次输出
受影响最直接的是两类人。
一类是正在用糖尿病 App、闭环或半闭环系统辅助估算碳水的患者。拍照估算确实方便。不用称重,不用查数据库,也不用每餐都翻食品标签。
但这篇预印本给出的现实动作很简单:AI 碳水估算只能当参考,不要把单次输出直接等同于剂量依据。尤其是米饭、面食、混合餐、酱汁多的菜,最好看模型识别了哪些食物,而不是只看最后一个克数。
如果 App 允许,多问几次也有帮助。不是为了投票选一个“看起来顺眼”的数字,而是看答案是否离散。如果同一张图反复问出来差很多,这个结果就不该进入自动给药。
另一类是做 AI 碳水识别和胰岛素决策功能的医疗科技团队。接下来更该看的不是模型排行榜谁第一,而是产品链路有没有把风险挡住。
| 需要观察的环节 | 现实问题 | 更稳妥的做法 |
|---|---|---|
| 单次输出 | 同图可能给出不同碳水值 | 多次采样,做离群值处理,显示不确定范围 |
| 模型稳定性 | 稳定也可能稳定低估 | 用称重、包装标签、营养数据库做本地校准 |
| 食物识别 | 模型可能编出不存在的配料 | 展示识别到的食物,让用户确认 |
| confidence | 与真实准确性相关性弱或为零 | 不能把 confidence 当唯一拦截条件 |
| 产品定位 | 用户可能把估算值直接用于 dosing | 明确限制为辅助估算,不做自主剂量建议 |
这里也要把限制说清楚。这是一项预印本测试,还没有完成同行评审。样本只有 13 张照片,结论不能外推成所有 AI 碳水产品都不可靠。
但它已经足够支持一个谨慎判断:在本研究设置、模型、图片和提示词下,通用视觉大模型还没有稳定、准确、可校准到能直接参与自主胰岛素 dosing。
DTN-UK 今年早些时候也提出,通用 LLM 不应作为自主胰岛素输送的建议计算器使用。Diabettech 这次测试给出的不是口号,而是一组更具体的风险样本。
对患者来说,选择是“参考但不托付”。对团队来说,选择是“延后自动给药承诺,把校准、确认和异常处理补上”。
回到开头那张海鲜饭。同一张照片,从 55g 到 484g,不只是数字漂移。它提醒我们,AI 在饭桌前可以帮忙看一眼,但针头落下之前,责任不能交给一次生成。
