2025 年春天,我们报名了一个比赛,做 AI 眼科辅助诊断:给一张眼底照片,模型分辨白内障、糖尿病视网膜病变、青光眼还是正常,顺便评估严重程度。名字起得很郑重,叫“Oculichat 眼智医”。
项目讲解稿攒了四千多字。ResNet50 加 VGG16 提特征,左右眼图像拼在一起,加空间注意力模块;输出头同时做疾病分类、严重程度分级、年龄和性别预测。再往后是 Spring Boot 微服务、React 前端、云存储,一路写到了支付和“开发者生态”。写到那一节的时候我自己都有点恍惚:这好像已经不是一个比赛项目,是一个平台。
稿子写完,我在结尾给自己留了一节“需要注意和确认的点”,一共五条:数据集的确切名字和类型是什么;/predict 到底传 Base64 还是先传 URL;那些病灶概率图和特征重要性图是谁生成的;非接触式登录具体怎么实现;模型 API 部署在哪台机器上。
五条问号,每一条都对着稿子里一句写得最漂亮的话。
那年秋天,证书陆续寄到:电赛二等奖、计算机设计大赛的二三等奖、数学建模省一等奖、挑战杯银奖。它们证明我们真的把东西做出来了,也真的把它讲圆了。
但我一直记得那五条问号。它提醒我:写方案的时候,最漂亮的句子往往就是最没底的地方。以后再看到一份漂亮得不像话的文档,我会先翻到最后一节,数数作者自己列了几条“待确认”。