Article12 Jun 2026

AI 让我实现了软件自由

就喜欢这种病人

皮肤有点小问题,去医院复诊,问诊完毕,走到门口的时候,听到医生小声跟同事说了一句话:

"就喜欢这种病人。"

我没有回头。我知道她在说我。

我提前打印了一张纸,半页内容,写清楚上次就诊时间,上次漏说的症状、用药后的变化、停药后的状态、想问的问题。医生拿过去仔细看完,回答了我的问题,几乎不需要我再次开口。

这张单子从哪里来?我有一套自己的健康记录系统。从第一次出现症状开始,每一次用药、每一次变化、每一次决策,全部记录下来,原始细节,不做总结。总结是有损压缩,你以为不重要的那些细节,往往藏着规律。每次问诊或者有新的进展,我打开 Claude Code,让 AI 帮我把记录更新进去。系统有一个打印功能,把 Markdown 渲染成好看的 HTML,只打文件内容,不打整个网页。这次就用上了。

通关文牒

晚上我跟女儿一起读西游记小说原文。读到唐僧取出通关文牒那段,我有点懵——我以为通关文牒是一种护照,上面应该写"持牒人玄奘法师西行取经,沿途各国请予放行"之类的话。但实际上写的是唐太宗自己的经历:他曾经死过一次,被阎王放回来,为了超度亡魂才派玄奘去取经。

为什么护照上要写皇帝自己的故事?

我打开西游记的那个会话,把问题发过去:

读一下第二十九回,通关文牒上为什么写这些内容?南赡部洲大唐国奉天承运唐天子牒行: 切惟朕以凉德,嗣续丕基,事神治民,临深履薄,朝夕是惴。前者,失救泾河老龙,获谴于我皇皇后帝,三魂七魄,倏忽阴司,已作无常之客。因有阳寿未绝,感冥君放送回生,广陈善会,修建度亡道场。感蒙救苦观世音菩萨金身出现,指示西方有佛有经,可度幽亡,超脱孤魂。特着法师玄奘,远历千山,询求经偈。倘到西邦诸国,不灭善缘,照牒放行。须至牒者。大唐贞观一十三年,秋吉日,御前文牒。

等结果推送过来,我跟女儿解释:因为这不只是通行证,这是唐太宗的信用背书。他用自己的经历告诉沿途各国——我派这个人去取经是真的,不是借口,我自己死过,我知道为什么要去。

这个会话会自动使用我的 书库 API 读取原文。

这只是冰山一角

我有一个自己用的系统,最早是用来监听 Telegram 频道做内容检索的,后来那个需求没了,项目留了下来,慢慢扩展了别的东西。书库、健康管理、AI 对话管理、字幕提取、电子书制作、彩票选号——每一个功能都对应一个真实的需求,健康管理功能甚至支持 DICOM 阅片,没有一个是为了做而做的。

字幕工具几乎天天在用。看到一个视频想跟 AI 讨论,一键提取字幕,有原声就用原声,没有就用本地模型识别,直接拿来用。

彩票选号工具有一个小逻辑:不提高中奖率,但排除热门号码,比如 6、8——如果中了大奖,可以减少跟别人分钱的概率。

我以前也有想法

这些东西以前我也想做,但大多停在半成品。不是想法不好,是从想法到可用之间的成本太高,热情撑不到终点。那时候第一件事永远是选技术栈——用 Vue 还是 React?服务端渲染还是 SPA?这些耗费了精力,甚至很多都是只创建了项目目录就丢下了。

现在变了什么

不是我变了,是成本变了。

现在第一件事是想清楚我需要什么功能,技术栈够用就行。一个功能从想法到上线,可能就是几个小时。部署自动化,代码一提交马上生效。着急用的时候甚至可以站在路边打开 Claude App 现场修改,现场发 PR,合并触发自动部署。

有了 AI,你需要的是两件事:想法,和品味。

想法是知道自己要什么。品味是做出来之后,能判断哪里不对、差在哪里、怎么才算好。这两件事 AI 替代不了。实现这件事,交出去就行了。

我管这个叫软件自由。


6 月 24 日更新——今天做了个健康 App

早上在维护本地健康记录的时候,突然想到:HealthKit 里有那么多数据,要是能通过 API 直接读出来,就可以接进现有的系统。先在 Claude Code 里把需求边界讨论清楚,交给 Codex,然后就出门骑车去了。中午吃完饭想起这回事,App 已经写好了,稍微改了几下装进手机,顺手配好了公网访问的管道。

全程没有打开过 Xcode。

现在这个 App 读取 Apple HealthKit 的数据——血压、骑行、睡眠、心率变异性、体重——通过 API 暴露出来。以后跟 AI 讨论最近的身体状况、睡眠质量,直接就有数据,不用凭记忆描述。NAS 上跑着 Cloudflare Tunnel 容器,把公网请求转发到局域网里的手机,用 mDNS 解析主机名,出去之后是标准 HTTPS,对外就是一个普通地址。Logo 是让 Claude 设计提示词,发给 ChatGPT 生成图片,再发给 Codex 设置进去的。

从早上的一个念头,到装进口袋,半天之内。


About this article

Author
Lerry
Published
2026-06-12