各位 Vibe Coder 们,咱们天天看自己的 token 额度还剩多少,天天担心 Claude Code、Codex 的 IP 健不健康、会不会被封号,把这些 Coding Agent 伺候得妥妥帖帖。可有多久,咱们没真正关心过自己的健康了?
你上次体检是几年前?我是 3 年前,前公司的入职体检 🤦🏻♀️
更扎心的是:就算现在去补一次,新报告和 3 年前那份也很难放在一起看。换了医院,指标名就变了;在国外做的化验,单位都不一样。一份写 Total Cholesterol 193 mg/dL,一份写 总胆固醇 5.0 mmol/L,数字看着差了几十倍,其实几乎是同一个值。
我们给 agent 喂代码,都知道上下文没对齐就会出错。那健康数据呢?很少有人管。把两份报告一起丢给大模型,它能讲得头头是道,却未必知道这两个数说的是同一件事。数据层不先统一,模型再强也画不出一条对的趋势。
所以今天我拿 Theta Health 开源的 Mirobody(Apache-2.0)认真试了一遍,我只关注一个点:它能不能把同一项认成同一项。全程用的都是虚拟数据。
1. 在本地换算 193 mg/dL,结果是 4.99 mmol/L。「总胆固醇」和「total cholesterol」对到了同一个国际化验编码(LOINC 2093-3)。这一步没调模型,也没用 API Key。
2. 中文 demo 里,一开始只有一份报告。我问「我的胆固醇有什么变化?」,它老实说只有一个时间点:4.60 mmol/L。我又导入了一份 PDF 体检报告和一份 CSV 化验单,同样的问题,这次画出了一条趋势:4.60、4.45、4.38。两份报告的英文写法一份是「Total Cholesterol-TC」,一份是「Cholesterol, Total」,它都认成了同一项。每个读数都能点开原文件看。
3. 最让我放心的是:我输入「血脂 5.0 mmol/L」,它并没有硬猜,只是不给编码,因为「血脂」是一类检查,不是一项读数。写过代码的都懂,知道什么时候不该答,比什么都答更难得。
我还用 1.6.0 版本复跑了它仓库里公开的名称识别用例,347 项全部通过。这只说明公开用例在这个版本上的表现,不代表临床准确率。
没跑完的也照实说:16 GB 电脑上的全本地部署我还没试,这台机器上没装 Docker,磁盘空间也不够。下一篇补上实测。
给自己的 agent 做了那么多配置,也花一个周末给自己的健康数据搭个底子吧:
1. 先看中文 demo,里面是两位虚拟成员的数据:
2. 给 Claude Code 接上(官方提供的命令,不用部署,也不要 Key): claude mcp add mirobody -- uvx --python 3.12 mirobody mcp 提醒一句:接 Claude Code 这类云端工具时,记录会发给对应的模型公司。
截至 11 月 9 日,它是 GitHub digital-health 话题下星标第 1 的项目。觉得有用,欢迎点个星,或者提 issue、PR:
(然后,真的该去体检了啊。。。)
显示更多