上一章结尾,我的 App 吃的还是"假数据"——AI 简报说得头头是道,但那份"我今天走了八千步"是代码编出来的。这一章讲第三周:换真粮。把 iPhone 里真实的步数、真实的睡眠、真实的心跳,接到 App 里来。但在换粮之前,先要打一场仗——一场和 AI 的仗。
一、AI 说:用现成的插件。我说:不
想读 iPhone 的健康数据,就要过 Apple 这道门。这个门只有一条路:一个叫 HealthKit 的官方接口。我手上有 AI 团队出具的调研报告,报告推荐:去插件市场买一个现成的,装上就能用。推荐的那款免费、文档全、上个月还在更新——听上去完美。但我最后推翻了它,决定自己写。为什么?调研报告自己往下挖,挖出了问题:这类插件有的已经一两年没人更新了,新系统兼容不兼容全凭运气;真机调试不顺利;而我这个 App 其实只需要最基础的读取功能。更关键的是那笔账:健康数据是这个 App 的命根子。用别人的插件,人家哪天不更新了,我只能干等。自己写的,随时自己修。现成的便宜,可控的值钱——命根子的事,选可控。顺便说一句,这不是 AI 第一次"给错答案"。更早的时候,它还调研出一个结论说"可以在微信小程序里读健康数据"——而这条路上有个根本走不通的死结,是后来靠人发现的。AI 的毛病不是不聪明,是太愿意相信:它查到的资料都对,但它不会怀疑"这件事的前提是不是成立"。查资料它是一把好手,把关它真不行。
二、预估五到八天的活,它一个晚上交了初稿
自己写原生插件,听起来是个大工程——毕竟我不会写 Swift。结果呢?调研报告里给"自己写"这个方案估的时间是五到八天。而 AI 程序员在调研完成的当天,就把初稿全交了:底层读数据的、中间封装的、权限声明的、类型定义的,一整套。最后账本上记的是八个小时。预估五到八天的活,八个小时干完了。这不是 AI 超常发挥,是我这次学乖了:写代码之前,先把"任务书"写到极细——要读哪几样数据、跨天的睡眠怎么算、什么设备上该说"我不可用"、重复数据怎么去重。这些想清楚了,写 Swift 对 AI 来说根本不是事。想不清楚也行,它照样能给你一天写出一整套"看起来很对"的东西。区别就在于你有没有把任务书写细。