内容提要
作者因个人健康数据分散于不同应用,开发了iOS应用《100 Years Life》,整合体检报告、体脂秤、睡眠和运动数据,以确定性算法计算身体年龄与百岁预测,AI仅用于解读。应用重点解决数据读取错误与来源冲突问题,健康数据本地存储且无需注册。免费版功能完整,可一次性买断解锁无限AI分析,目前仅支持iPhone和Apple Watch。
延伸解读
确定性算法与AI的分工
作者最初让大模型直接预测寿命,但同一份数据两次结果不同,无法看趋势。后来改为所有数值由App内确定性算法计算,AI只负责解释和给一般性建议,不能改数。这解决了AI输出不稳定的问题,也让用户能信任趋势变化。对于健康类应用,数值的稳定性和可复现性比AI的灵活性更重要。
数据读取的难点在AI之前
作者花最多时间解决的是数据读对的问题,而非AI解读。例如体脂率17.7%被读成10,是因为文字识别后丢失位置信息,程序误取了图表坐标轴刻度。修法是保留词的位置并按版面几何关系配对,同时加合理性检查。这说明健康数据整合中,数据清洗和校验比模型解读更关键,否则AI读到的就是错误数据。
隐私与本地化处理的取舍
健康数据存在手机本地,作者不运营服务器。体检报告和截图先用系统文字识别提取内容,图片不发给文本模型。AI解读可选全部本地、全部云端或平衡模式,云端用自己填的API key。代价是本地小模型解读不如云端大模型细致。用户需要在数据不出手机和解读质量之间做选择,App把选择权交给了用户。
夜间信号功能的依据与边界
夜间身体信号功能比较每晚静息心率、HRV、呼吸频率和手腕温度与过去四周的差异,两项以上偏离时提示。依据包括Stanford的NightSignal研究,该研究用夜间静息心率在约80%新冠确诊病例症状出现当天或之前给出提醒,中位数提前约3天。但研究也指出大部分提醒另有原因,如旅行、大餐、压力、喝酒。因此App措辞谨慎,只说信号偏离日常范围,并列出可能原因,不说要生病了。
Q&A
100 Years Life 这个 App 主要解决什么问题?
它解决个人健康数据分散在不同应用中的问题,将体检报告、体脂秤、睡眠和运动数据整合到一个地方,按时间排列,并用 AI 帮助解读。
为什么百岁预测和身体年龄的数字不会每次变化?
因为所有数值都由 App 内的确定性算法计算,同样的输入一定得到同样的输出,AI 只负责解释数字和提供一般性建议,不能修改数值。
导入体检报告或体脂秤截图时,如何保证数据读取准确?
App 会保留文字在页面上的位置,按几何关系配对指标名和数值,并加入合理性检查(如去脂体重水分占比约 73%),对不上的数值拒收;导入后还会显示原文供用户逐项核对。
健康数据存储在哪里?AI 分析如何运行?
健康数据存在手机本地,不运营服务器;AI 分析可选择全部本地(下载模型到手机)、全部云端(使用自己的 API key)或两者平衡,每条 AI 结果附带回执说明模型、运行位置和数据类型。
夜间身体信号功能是如何工作的?
它比较每晚的静息心率、HRV、呼吸频率和手腕温度与过去四周的夜间数据,若有两项以上同时偏离日常范围,恢复卡片会提示,并列出可能原因(如运动、饮酒、睡眠不足),不会说“要生病了”。
这个 App 有哪些局限性?
它不是医疗器械,不做诊断或治疗建议;百岁数字和身体年龄是模型估计,未经外部人群队列验证;数据缺失时显示缺,不补数;只有 iPhone 和 Apple Watch 版本;夜间信号未同步到手表,生理周期对体温的影响未处理。
免费版和买断版有什么区别?
免费版可使用所有页面和算法结果,导入不限次数,支持 JSON/CSV 导出,AI 分析每天 1 次,预测历史保留最近 3 条;一次性买断后 AI 分析不限次,可看完整历史和趋势,可导出 PDF,无订阅。