article_image

Minja 推荐序

2020年,我从阿里巴巴某内部班毕业。在与某子公司 CEO 闲聊时,我展示了一个自己编写的法律检索系统原型,这位 CEO 的回应令我永生难忘:

“我们可以在一周之内(抄)走它,让全世界的用户都用上它!”

让所有人都用上我发明的东西?!这是我永远不会考虑的事情,我只想和法学院的同学——现在是事务所的同事——分享这个工具,只研发我们需要的功能,丝毫不顾及投资人(我没有投资人,我拒绝了六位数的启动资金)。我这种行为,在国内常常被当作:和钱过不去!我还制作过别的小东西,例如对照翻译插件,但最终挣钱的是某 copy cat;再如某年销几十万的家具,承认“借鉴”了我的参展作品。

但我并不介意这一切。我用几个小时时间,发明几个小工具,为自己和亲朋好友节省下几天乃至几周时间,并且根据我们所需及时调整,这就是我想要的。低技术、通用技术、用户端编程……都描述了这种“Home Cooked”工具范式的一个侧面,就像 HomeBrew 计算机软件一样。

换言之,你会因为你妈妈做菜美味,就让她辞职去上海云南南街开店吗?你不会。但,世界是平的,很多人有几滴墨水就想剑指天下,于是“网红”一茬接着一茬,塌房也一阵接着一阵。

我和 UNTAG 上不少同侪的所作所为,同样无法用传统的商业逻辑去理解,但你可以说,我们是在为志同道合之士制作 Home Cooked Tools。下面这篇来自 Maggie 的演讲,探讨了 Home Cooked 工具将在人工智能时代如何演变。他山之石,可以攻玉,理解 UNTAG 这样一个无法在中文语境下 TAG 的网站,或许可以从这则演讲切入。

让我们以歌德的名言开始这篇文章——但无法概括宏旨,因此还请细细品读,不妨配合我发明的对照翻译工具阅读原文——最重要的是享受发现的快感,而不是徒劳地试图主张优先权。

或者用 iPhone(前)产品经理 Andy 的话说:尽情享受发明与发现的喜悦,让别人承担生产的痛苦!

🔗 原文链接

作者 Maggie Appleton 来自一个名为 Elicit 的初创公司,她的本职工作是一位产品设计师,这篇原文的内容是 Maggie Appleton 于 2024 年 5 月在柏林的一次演讲。文章的形式很有趣,是 PPT 配合文字内容,PPT 的制作很精良,配合了不少手绘插图和图表数据,很容易阅读。

文章中的倡议有两点:

  1. 大语言模型将创造本地自制软件和赤脚开发人员的黄金时代。
  2. 本地优先软件(local-first)的社区在构建未来的黄金时代中可以发挥重要作用。

文章里提到的观点也很新颖,作者认为随着语言模型能力的显著提升,我们正站在一个新时代的门槛上——一个由本地化、个性化的"家庭烹饪式软件"(Home Cooked)主导的时代,以及一种新型开发者——"赤脚开发者"的崛起。

处于“普通用户”和“专业开发者”之间,有一个群体是“对开发感兴趣但并非专业人士”,这些人就被称为“赤脚开发者”。他们往往是一群能够利用先进的语言模型,以更少的编程知识快速开发出符合个人需求的软件的创新者。

作者认为在 AI 时代,他们可以通过自行制作软件来解决那些“大型云端软件认为不重要的边缘功能”,不仅限于“编程开发”,他们可能会利用很复杂的 Excel 表、Notion 表格、各种低代码工具来管理自己的财务和课程。

这种开发模式的兴起,预示着软件开发将变得更加民主化和个性化,每个人都可以成为自己需求的解决者。

Maggie 强调,语言模型的快速发展,使得软件开发的速度和易用性得到了前所未有的提升。这不仅极大地降低了编程的入门门槛,也为那些有着独特创意但缺乏技术背景的人们提供了实现想法的可能。这种变化,无疑将激发更多的创新和个性化解决方案的诞生。

演讲中,Maggie 特别提到了软件开发的"家庭烹饪式"特性,这是一种将软件与日常生活紧密结合的开发方式。通过这种方式,开发者可以更加关注用户的实际需求,开发出更加贴心和实用的软件产品。

她举了几个例子,很多工具并不需要实时联网,比如追踪母乳喂养和尿布更换的 App,没有任何理由把宝宝的数据放到别人的服务器上。

另外,大型工业软件的问题也很突出,很多工业软件并不能抓住用户的痛点,他们无法理解用户的“长尾需求”,或者出于经济原因认为这些是“超出范围的需求”。

How could an American getting paid six figures in Mountain View understand how to identify problems and design solutions for a homemaker in Tokyo, a street seller in Turkey, or a doctor in Tunisia? For the most part, they don't. Or if they try, they do it badly.

一个在山景城市拿六位数工资的美国人怎么能理解如何为东京的家庭主妇、土耳其的街头小贩或突尼斯的医生发现问题并设计解决方案?大多数情况下,他们做不到。或者即使他们尝试了,他们也做得很糟糕。

此外,Maggie 还提出了一个新颖的倡议:鼓励更多的非专业开发者加入到软件开发的行列中来,利用语言模型的强大能力,开发出真正符合自己需求的软件。这种倡议不仅拓宽了软件开发的参与者范围,也为软件行业的发展提供了新的动力。

这些年 AI 的发展为那些赤脚开发者提供了很多机会,赤脚开发者可以借助 LLM 解决那些原本需要专业知识才能实现的功能,将其转化为软件,并且他们可以进一步测试和使用。形成一个良性循环。

Remember that the stuff barefoot developers need to build is not as complex as professional industrial software we're all used to working on.
请记住,赤脚开发人员需要构建的东西并不像我们都习惯使用的专业工业软件那么复杂。

They don't need to scale up to millions of people, juggle conflicting user needs, or pivot their business plans, or ship lots of features very fast to make a high return for venture capitalists.
他们不需要扩大规模到数百万人,兼顾相互冲突的用户需求,或调整他们的业务计划,或快速发布大量功能来为风险投资家带来高额回报。

Most of the software needs of local communities could be solved with simple CRUD apps persisting data over time, with some basic user authentication, and a few API calls.
当地社区的大多数软件需求都可以通过简单的 CRUD 应用程序来解决,这些应用程序会随着时间的推移保留数据,并进行一些基本的用户身份验证和一些 API 调用。

虽然这个前景听上去非常好,但还是有一些问题。那就是“大语言模型这个乐高积木,目前还需要胶水”。

目前的大语言模型已经能够解决包括用户界面、状态管理、API 调用等功能了,这些就像一个个乐高积木一样。

但是如果你想构建一个很酷的城堡,就需要把这些积木组合到一起,目前大语言模型还无法提供这样的帮助,你仍然需要一些专业的开发知识才能实现。比如你用一些 AI 工具生成了用户界面代码,却不知道如何部署这些代码;再比如你可能知道需要有个地方来保存数据,但你不知道什么是数据库。

所以目前这个社区正在尝试解决这些问题,让这些赤脚开发者获得这样的“胶水”,帮助他们来构建自己的工具。

Maggie Appleton 在演讲中对于本地优先 / 社区软件有着非常乐观的态度,在这个时代,每个人都可以成为自己生活的程序员,用技术去实现自己的需求。

注:本文由 @Minja 分享,@沨沄极客 编译。文中图片全部来源于原文。


author_avatar

#UNTAG Developer