醒醒别睡重症监护室

醒醒别睡

小爪几:第一个AI应用开发试水

5
2025-09-02

小爪几(NudgePaw)是我使用cursor开发的第一款应用。它是一款将宠物心情值和用户每日活动量相匹配的应用:用户每日活动量越大,宠物的心情值也会更好。

最初想要开发这么一款App是因为自己每天坐立的时间实在太久(无论是上下班路上、上班期间还是下班后,我都大量地保持着坐立的姿态),我希望能跟有一款应用能配合穿戴设备来检测我的坐立时长和活动量情况,并驱动我逐渐增加活动量,改善久坐的状态。

目前,最初是设想的全部功能和逻辑基本都已经实现。尽管这个应用还十分HumbleBoring,我还是希望能够总结一些在实践过程中遇到的问题,希望能跟帮到在继续前进的自己和伙伴们。

最小MVP

当一个idea从心田萌芽、不断野蛮生长,直至其充你的斥脑海,让你无法自拔地采取行动的那一刻,我们在心中为自己勾勒出的往往是一张宏大的蓝图。如果我们一次性将这些饱满的理想灌输给AI,并试着让他一步到位的时候,我们大概率只会收获失望,然后在不断尝试和失望的循环里逐渐失去耐心。

尝试先让AI帮你实现最小MVP,以验证你的想法或许是更好的选择。甚至你可以尝试将你能想到的一切先告诉AI,让它先帮你总结一个最小MVP及实施路径。

例如我在设想“小爪几”的时候,就曾想过我的宠物可以进行升级、有相关的装扮、可以社交,甚至可以PK可以交易。但回到起点,我首先得实现一个能够通过健康数据驱动状态值的1.0产品。于是我的MVP则是“领取宠物-获得健康数据-数据驱动状态(心情值)”。

数据模型

另一个在实践过程中发现非常有用的思维方式是“数据模型”——对于程序来说,宠物并非毛茸茸的肉体,而是数据模型虚拟的“实例”,由“宠物类型(猫猫、狗狗)”、“宠物名称”、“属性及值”等构成。如果在构建程序之前,能够先设定好有哪些数据及数据模型,可以帮助AI更好地理解你的产品设想,帮助你实现你想要的功能。

尽可能告知AI每一个步骤

在NugePaw的开发早期,我一直受困于健康数据不正常的情况(具体情形记不太清了)。最后发现在健康数据获取阶段,我仅仅告诉了AI“帮我从healthkit中获取用户的健康数据”,于是尽管可能在某个步骤已经访问并拉取了健康数据,但在部分时候仍然无法正常展示或使用这些数据。直到我修改提示词为“帮我从healthkit中获取用户的健康数据,并将获得的健康数据存储在应用中”,AI才帮我实现数据的存储,以方便其他地方调用。当然是实际实践中,我还加入了“每小时访问健康数据并更新和存储”的提示保持数据的新鲜。

让AI检查关联文件甚至所有文件

当项目越来越庞大,如果你尝试了多种方法,AI仍然无法按照预期进行修正。尝试描述问题后,让AI检查与之关联的所有数据和文件。在开发NudgePaw时,我加入了每日任务系统,用户只要步数达到5000步,或每日站立小时数超过12小时(在每小时至少站立1分钟即算1小时)都可以分别领取一个活力饼干来喂养自己的宠物。但是只要我刷新健康数据或者重启App,这个奖励就都能重复领取,无论我如何让AI帮我修复这个错误,都不生效。直到我让他检查其他更多文件。这个原因可能是因为当我们描述一个具体的问题的时候,AI或许会聚焦在提供这个功能的文件或代码行间排查这个问题,但这个问题的根源可能是其他数据刷新或检测的步骤引起的。

IMG_2330.PNG

IMG_2331.PNG

IMG_2333.PNG

IMG_2333.PNG

IMG_2334.PNG

IMG_2335.PNG

IMG_2336.PNG

IMG_2337.PNG

最后

希望世界更加美好。