原创 ElfeXu 2024-09-25 08:03 澳大利亚
AI 将带来个人定制软件的大繁荣
昨天南乔的文章介绍了一个特别棒的分享《家庭自制软件和赤脚程序员》。Home cooked software,只为自己量身定制的软件。实在是一个妙词——就像妈妈做的家常菜,也许不精美,但最妥帖好用。
Home cooked software 可能来源于 2020 年,Robin Sloan 写了篇广为流传的文章《AN APP CAN BE A HOME-COOKED MEAL》。文章介绍了他为家人开发的应用——BoopSnoop,除了一个摄像头按钮和一个显示新消息数的绿色圆点,没有其它界面。每天都有分布在三个不同时区的四个用户,以一种极简、没有任何干扰的方式相互间发送视频问候。不需要登录账户、不需要设置群组。抬起手指,视频就发给远方的亲人。
这让我想起我曾给外婆定制的极简导航。电脑桌面上就一个按钮,点开后的界面上排列着一个个超大按钮,上面用超大的黑体字写着:查天气,打麻将,听相声……当然,每个按钮都有定制,例如天气按钮指向的是外婆所在的城市。
我还想起上大学时学德语,每天泡在德语论坛上。BBS 年代很多人还在网吧上网,要装键盘太麻烦,于是论坛发帖时 Ää、Öö、 ß 之类的字符,就只能用 ae, oe, ss 等代替。我对论坛程序做了一丁点儿改动,添加几个小按钮,点击就能输入对应的特殊字符,论坛朋友们都爱死了。
不过那时候我只能做这么简单的定制。版主找我想开发款更适合论坛朋友们背德语单词的软件,我琢磨了下就退缩了——工作量太大搞不定呀。
二十年后的今天,情况截然不同了。有很多低代码平台可用于轻松创建网站和 APP。灵活组合使用多维表格、仪表盘等文档功能也能实现定制软件的需求。Prompt 被视作自然语言编程,确实已经能做不少事。
当然,更重要的是——我可以让 AI 来帮我写代码,效率大幅提升。
举个例子。
上周我发现 GPT 回复内容中经常有一些链接无法点击。我查看了元素,然后和 AI 进行了两轮对话。
首先,让 AI 知道我遇到了什么问题(其实我知道要怎么改,但这样提问能确保 AI 知道我意图,超便捷。)
然后让 AI 写个油猴脚本:
最后,复制代码,粘贴到油猴插件,刷新页面,搞定。
总计不过五分钟,我的 gpt 网页右下角多了一个按钮,轻轻一点,网页上所有链接就都修复了。考虑到“鼠标划选-复制-打开地址栏-粘贴”整个过程是如此恼人,新开发的功能只要用上五次,就绝对值回票价了。
以往一个功能是否会被开发,取决于有多少用户需要它。因此,地图软件一定会有路径规划的功能,也许会有是否可以过马路的标识,但没人会在软件里添加“1940 年时的边界线”,虽然全世界可能有三五个人真的需要这功能。
以往总是人在将就着软件:软件 A 能完成功能 1,软件 B 能完成功能 2,我就先用 A 再用 B 来搞定我的特殊需求……善用工具的人会琢磨如何用 RPA 来简化,但多数人还是只会手工执行。
其实早在 2004 年,Clay Shirky 就提出了 Situated Software 的概念——只为数十位用户、甚至只为你妈妈写的软件。它缺乏通用性或完整性,但所有的功能都是刚刚好。Clay Shirky 提出了为少数用户构建可以用上几个月的程序的必要性。
有了 AI 后,Clay 的构想终于成为现实。各种特殊功能、各种功能的特殊使用方法,都能在 AI 的帮助下快速生成定制软件,用法极其“死板”,但极其妥帖好用。
比如:下载视频并按特定规则存到预先设计好结构的子目录中;比如:在阅读网页划线后蹦出几个已经预设置好标签的“添加笔记”按钮;
比如:(听阿头说的某个财务群友)把阿拉伯数字转成中文大写数字,这样的需求真只有财务才会想到。
正如 Maggie 在分享中所说——大语言模型将创造 home cooked software 的黄金时代。
其实,我在一年半前就已经在期盼软件开发极大繁荣的时代。专职写程序的人也许会变少,但能写程序的人一定会大幅增加,而大家新开发的程序总数将会是好几个数量级的增长。
直到,所有需求都能像 Claude 的 Artifacts 那样,随时随地,即兴生成。(目前 Claude 的 Artifacts 和 GPTs 的代码执行器还只能使用很有限的技术开发在沙盒中运行的程序。)
参考文献:
Home-Cooked Software and Barefoot Developers
https://maggieappleton.com/home-cooked-software
Situated Software
https://web.archive.org/web/20050120085129/http://www.shirky.com/writings/situated_software.html
AN APP CAN BE A HOME-COOKED MEAL
https://www.robinsloan.com/notes/home-cooked-app/
When to Design for Emergence
https://newsletter.rhizomerd.com/p/when-to-design-for-emergence