哎李博,你最近有没有刷到Simon Willison拍鸟的事儿?
哈哈你说这个,我前两天看到的时候差点把咖啡喷出来。
为啥啊?
你想啊,一个Django联合创始人、LLM领域最活跃的开源大佬,突然买了台Canon R6 Mark II去拍鸟。然后你猜怎么着?他不是拍完发个朋友圈就完事了——他直接搞了一整条数据管道,把十年的野生动物观察记录全接到自己博客上了。
等等,十年?不是刚买的相机吗?
对,相机是新买的,但他之前就一直在iNaturalist上传观察记录。这个平台你知道吧?加州科学院和国家地理联合搞的公民科学社区。
知道知道,就是上传动植物照片,然后AI帮你识别物种的那个。我们组之前还讨论过它的图像识别方案。
对。所以你品一下这个链条——他用一台AI驱动自动对焦的相机拍鸟,上传到用AI识别物种的平台,然后用AI编程工具把数据接到博客上。
这不就是AI套娃吗哈哈哈!
就是AI套娃!从按下快门到内容上线,每一步都有AI。
那先说说这台相机吧,R6 Mark II我知道,我有个同事也在用。全画幅无反,连拍速度很猛的。
电子快门下每秒40张连拍,而且它的自动对焦系统能识别鸟类。就是说你对着天空一群鸟,它自动锁眼睛。对拍野生动物来说,这基本就是作弊器。
好家伙,那确实不用什么摄影技术了。
你这话说的,摄影师听了要打人的。
哈哈好好好。那重点来了,他怎么把iNaturalist的数据接到博客的?这个我比较感兴趣,因为我们做产品也经常想把多平台数据聚合嘛。
这就要说到他博客里一个很妙的设计——beats系统。你知道新闻行业里记者「跑口」的概念吧?
就是每个记者负责一个领域,比如跑科技口、跑财经口?
对,他把这个概念搬到了博客架构里。每个外部平台就是一个beat——Twitter是一个beat,GitHub是一个beat,现在iNaturalist也成了一个beat。所有平台的内容全部回流到博客,出现在首页、日期归档、站内搜索里。
诶这个思路真的很好!就是把博客变成个人数字生活的中心节点,而不只是写文章的地方。
没错,这就是IndieWeb精神——你的内容,你的地盘。社交平台说没就没,但个人博客永远在。
我突然想到,他那个sightings页面具体展示什么?就是照片加物种名?
有搜索栏、有RSS订阅,支持按物种和时间浏览。而且他把十年的数据全部回溯导入了,包括2019年在马达加斯加拍的狐猴。从啄木鸟到蜥蜴到白冠麻雀,简直一个人的国家地理。
RSS都有?这也太完整了。不过我最想知道的是——你说他是在手机上开发的??
对,整个功能是在手机上用Claude Code的网页版完成的。
手机上写代码?以前那体验不是跟用筷子穿针一样吗?
以前是。但Claude Code是代理式编程,你不用自己写代码。你告诉它你想要什么,它自己读代码库、改文件、跑测试。Simon通过一个GitHub PR提交了所有代码,这个PR就是在手机屏幕上诞生的。
等会儿让我消化一下……就是说他可能躺沙发上,一边看鸟的照片一边跟Claude Code说需求,然后功能就上线了?
差不多就是这个画面。
这对我们产品经理来说太有冲击力了。以前说随时随地开发就是一句空话,现在是真的把门槛铲平了。
你们产品经理就知道门槛门槛的。
得了吧,你们搞研究的不也天天想着怎么降低inference成本嘛,一回事儿。
哈哈行行行。但说真的,这件事最打动我的不是技术,是Simon对「拥有自己数据」这件事近乎执念的坚持。
嗯,你说的对。现在大家都把内容散落在各种平台上,微博一点、小红书一点、Twitter一点,最后哪儿都找不到。
所以他这个beats的思路真的值得借鉴。不管你用什么平台,最终让内容回流到自己的博客。用RSS让读者订阅,用搜索让内容可发现。你的博客就是你的数字家园。
我觉得这个故事最有意思的地方在于——当程序员开始拍鸟,鸟不仅会被拍到,还会被索引、被搜索、被RSS订阅。这大概就是程序员的浪漫吧。
在Simon Willison的世界里,没有什么爱好不能变成一个带API的系统。