我为了一个需求,开发了一个 Mac APP。
最近换了电脑,又碰到一个老生常谈的问题:怎么把自己的资料备份到本地的另一个地方。
我最初的想法很简单。让 AI 直接调用某个开源工具,在后台挂一个脚本,把同步任务跑起来。看上去省事,实际很快就暴露出问题:我看不到进度,甚至不知道脚本到底有没有启动;一旦报错,还要回到命令行里查。这个任务表面上交给了 AI,实际体验是我把它丢到了一个看不见的地方。AI 执行完一次指令就停在那里,后面的状态、失败、下一步,都要我自己想起来再去追。
脚本:一段可以自动执行操作的小程序,常用来处理重复任务。
命令行:一种通过输入文字命令操作电脑的界面,比普通图形界面更直接,也更容易让新手卡住。
于是我又做了一个网页管理平台。它能显示后台任务的进度,至少让我知道同步走到哪一步。但第二个问题马上出现:macOS 的安全权限不允许后台脚本随便往某些目录写文件。可以把电脑权限放开,但这条路很危险。跟 AI 讨论之后,它给出的建议反而更直接:用合规的方式,做一个 Mac App。
最近连着工作很多天,本来只想休息一个上午。结果我一边读论文,一边让 AI 给我实现这个 App。我的需求非常明确:我要能看到同步进度,也要让它常驻后台,成为一个默默备份的工具。
可能有人会问,为什么不用已经开源的软件?比如 Phonetic Time,我之前确实用过。问题在于,AI 很难通过配置文件直接操作这个软件。它只能走 computer use,也就是模拟一个人在软件页面上移动鼠标、点击按钮、填写选项。这个路径太麻烦。那类软件的交互是为人设计的,它把人的操作体验打磨得非常好,但它没有准备好让 AI 稳定接管后台配置。
配置文件:一种记录软件设置的普通文件,软件启动时可以按里面的内容工作。
computer use:让 AI 像人一样看屏幕、移动鼠标和点击按钮的操作方式,适合临时操作界面,但不适合稳定批量配置。
所以这个 App 从一开始就按另一种逻辑设计。所有配置都放在本地的一个配置文件里。软件打开之后,直接读取那个文件。界面上不需要我手动填写一堆选项。AI 负责写配置文件,人只看同步状态。
几轮迭代之后,这个 App 用起来已经非常顺畅。我把它常驻在后台,作为一个安静运行的备份工具。
整个编程过程中,我还发现了另一个问题:AI 会倾向于自己实现功能,哪怕开源社区已经有非常成熟的工具,比如 RSync。它能写出来,但工程稳定性不一定好。发现这一点之后,我让它把那部分推翻重来,底层同步交给成熟工具,App 只做前端展示,配置文件作为中间层。
软件的重构的成本都已经降到非常低了。
RSync:一种成熟的文件同步工具,常用来比较两边文件差异,并只传输需要更新的部分。
前端:人直接看到和操作的软件界面。
这样一来,后端、前端和配置文件就分开了。成熟工具负责真正的同步,App 负责把进度展示给人,配置文件负责把 AI 的操作落到软件可以读取的地方。
这件小事让我意识到,近期的软件形态应该往这个方向变化。一个软件如果只给 AI 操作,人看不到进度,出错也不清楚;如果只按人的手动交互设计,AI 又只能模拟点击,效率低,也不稳定。更合适的形态是:人看状态、判断结果、给目标;AI 改配置、调用工具、处理具体动作。
这会改变界面需要暴露的东西。过去界面要把每个配置细节都给人看,因为人要亲手点。现在很多细节可以放进后台配置文件,由 AI 写入和调整。界面只需要显示人真正关心的部分:任务有没有跑起来,进度到哪里,失败在哪里,需不需要我做决定。
我现在已经设计了不少产品,全部服务于自己的日常活动。除了这个同步文件的小工具,还有信息聚合平台。当然,网络上已经有很多人在做信息聚合平台,但问题在于信息的高效收取。我对接的是 arXiv 这个平台,但 arXiv 通过 API 访问时有一些限制,这会影响 AI 自动取回和整理信息的能力。
arXiv:人们会把已经写好的论文挂在这个网站上。
API:软件留给其他程序调用自己的接口,AI 或自动化工具可以通过它读取或写入数据。
某种程度上,这就是我构想的未来世界,也是目前一些商业公司正在做的事:把产品开发成 AI 和人可以协作的状态。产品一边给人展示清楚状态,一边把机器可操作的接口开放给 AI。
飞书目前就是国内做除了第一个尝试的产品。它已经把 MCP 或者 API 暴露给 AI,让智能体可以直接操作后端能力。这和我这次做小 App 得出的结构很像:前端给人交流和展示,后端给 AI 直接调用。人不用陷在每个配置细节里,AI 也不用装成一个人在界面上点来点去。但依然存在老生常谈的问题,就是它为了盈利,展示页面根本没有满足它真正的需求,就是让人高效地获得信息。
MCP:一种让 AI 与外部工具或服务连接的协议,方便 AI 调用这些工具提供的能力。
这就是未来软件的形态。
人负责目标、判断和监督,AI 负责具体操作。

《Camille at the Window, Argenteuil》画的是 Monet 在阿让特伊住所中的一个瞬间:一位女性立在打开的窗户内侧,通常被认为是他的妻子 Camille Monet。窗框、百叶窗和植物把人物包围起来,前景则是明亮繁密的庭院花木。画面的重点并不是肖像的心理刻画,而是窗户、室内、庭院、阳光、绿叶和花色之间的视觉关系。VMFA 对这幅画的说明强调,Camille 的身影被打开的窗板框住,她的垂直姿态与下半部盆栽、树木的垂直形态相互呼应;也就是说,人物几乎被处理成花园结构的一部分,而不是传统意义上清晰突出的肖像主体。
Claude Monet,1840—1926,是法国印象派最核心的画家之一。他在 1870 年代初住在巴黎郊外的 Argenteuil,这一时期正是他印象派语言成熟的阶段:户外光线、现代郊区生活、花园、河流、家庭场景,都成为他的主要题材。《Camille at the Window, Argenteuil》作于 1873 年,正处在第一届印象派展览前夕;当时 Monet 已经离开早期较传统的写实构图,越来越重视瞬间光色、空气感和日常场景的直接视觉印象。Art Institute of Chicago 关于 Monet 阿让特伊住宅的研究也指出,这座带庭院和花园的住宅对 Monet 来说是一个“coming-of-age residence”,他在这里形成了许多关于家庭、庭院、门窗、花园与现代生活的画面。
这幅画在艺术史上的地位不是那种“宣言式名作”,不像《Impression, Sunrise》那样直接命名了印象派;它更重要的价值在于展示 Monet 如何把私人家庭空间、庭院花园和光色实验结合起来。鉴赏时要注意它的“边界感”:窗户本来区分室内与室外,但 Monet 在这里让花木、光线和人物互相渗透,削弱了传统肖像画中人物与背景的等级关系。人物并不被精确塑造,花园也不是植物学式描绘,而是由色块、笔触和光感构成一个整体。这正是印象派的关键:不追求物体的稳定轮廓,而追求光照条件下的视觉经验。因此,这幅画适合被看作 Monet 阿让特伊时期家庭花园题材中的一件精致作品,也是一件理解印象派“日常生活如何被光线重新组织”的好例子。
夜雨聆风