软件正在走向个性化

Etienne Mineur 是一位驻巴黎的设计师和教师,编程能力有限。多年来,他一直设想构建个人软件:小型数字工具来支持他的实践、他的学生和他的创作过程。其中大多数都停留在想法阶段。它们似乎不值得追求,因为它们解决的需求太小,不足以证明组建团队和获得预算的合理性。

随着大语言模型(LLM)和 AI 编程工具的出现,这一切已经改变。有史以来第一次,知道自己想要构建什么的人不再因为不知道如何构建而止步。

个人软件示例:Procedural Studio是一个算法艺术游乐场,旨在创建和探索程序化动画。

今天,Etienne 用一个词来描述这种变化:libérateur。解放性的。从一个想法到一个可运行的数字工具之间的距离,他现在可以独自跨越了。

这种转变是近期的、真实的,且仍然被低估。作为一个花了几十年构建软件并研究人们如何使用它的人,我认识到正在发生的事情中有一些真正新颖的东西。

有史以来第一次,知道自己想要构建什么的人不再因为不知道如何构建而止步。

在过去几个月里,我通过他们在网上的公开工作追踪了个人软件的创造者们。我还直接采访了其他人,包括 Etienne。像 Lazar Jovanovic 这样的自学"氛围程序员"正在充分利用 AI 工具,他们在不知道编程和设计惯例存在的情况下就打破了这些惯例。Peter Steinberger 凭借其个人软件 OpenClaw 取得的成功很大程度上归功于他抛弃软件一直以来的制作方式并探索新方法的能力。AI 工具正在重新洗牌专业技能,创造者们更关注"构建什么"而非"如何构建"。

以下内容不是一份技术指南。它是对一种实践的描述:当你开始为自己和身边的人构建个人软件工具时,所积累的思维方式、习惯和学习经验。这是一份邀请,让你将这种实践融入你的职业和社交生活。

1、培养机械共情

看着孩子们玩耍,我们会想起研究人员所谓的认知性游戏:通过实验学习事物的运作方式。问"如果我这样做会发生什么?"并观察接下来发生的事情。这是孩子们发展认知的方式。也是人们学习复杂系统的方式。

F1 赛车手 Jackie Stewart 说得很直白:

"你不必成为一名工程师才能成为赛车手,但你确实需要有机械共情能力。"

他描述的是一种对机器优势和局限的感知。你能让它做什么,以及什么会让它崩溃。

Jackie Stewart 在 1970 年荷兰大奖赛上

构建个人软件需要对 AI 工具有同样的共情。不是从零开始编写完美提示词的能力,而是有足够的熟悉度来与它们进行高效的对话,知道该问什么,以及识别什么时候出了微妙的问题。

数据科学家兼创业者 Hilary Mason 这样描述它:使用 LLM 构建需要对特定模型中编码了什么以及你如何访问它有非常强的直觉。工作不是编写代码,而是培养对模型知道什么以及如何将其引出的感觉。

这很重要,因为 AI 的能力分布并不均匀。AI 研究者 Ethan Mollick 将其描述为锯齿状前沿:在某些任务上 AI 异常强大,在其他任务上它完全失败或微妙地出错,通常这些只有在深入工作时才会显现。没有说明书。你通过使用以及与他人分享你的发现来了解哪些是哪种情况。

这种分享的一部分仅仅是知道有哪些工具存在。许多有正确直觉的人从未开始或陷入困境,因为他们没有听说过那些能帮助他们起步的工具。发现是一个社交过程。一位同事提到了 Lovable。另一位非技术创造者演示了 Claude Code。贴近这些对话并知道在哪里倾听,是学习的一部分。

你实验得越多,机械共情就越强。Etienne 告诉我,他经常让 AI 解释所提出的解决方案是如何工作的。解释本身磨砺了他的下一个问题,并为更好的想法建立了直觉。使用工具来理解工具的习惯本身就是培养使工作成为可能的感觉的一种形式。

机械共情不是先决条件。它是这种实践在你身上培养出来的东西。你带着半成品的共情开始第一个项目。它从那里开始成长。

2、创造实际感觉如何

Etienne 使用 AI 助手已经足够久,对它们有了感觉。他大致知道该问什么。通过他的对话,他已经建立了对工具的机械共情。然后他开始构建 Creative Squad,一个将 AI 智能体编排为创意合作者的个人工具。令他惊讶的是准备工作。

第一个转变是概念性的。Etienne 将其描述为从程序员到制作人的转变。他不是告诉机器如何执行任务。他分享自己的目标和期望结果。工作不是编写指令,而是表达意图。你构建的东西的质量取决于你能描述的质量。这比听起来更难。我们大多数人从来没有必要如此精确地命名问题。

早期的尝试通常会奏效。这既令人鼓舞也暗藏危险。创意技术专家 Rohit Gupta 将其比作用纸板搭建:结构很快立起来,看起来像你想要的东西,但在你依靠它之前不会发现它的脆弱之处。然后边缘情况出现了。AI 工具忘记的登录界面。破坏一切的数据格式。AI 处理复杂的逻辑却遗漏明显的细节。监督不是可选的。

你可以非常快地让东西运行起来,但很难完成它。

当某些东西坏得够严重时,前进的最快路径有时是后退。删除,用你学到的东西重新开始。在传统编程中,丢弃代码是痛苦的,因为太多的时间和精力已经投入到基础中,不舍得放弃。在个人软件中,这是一种合理的策略。你在一次尝试中积累的知识是下一次的真正资产。代码是一次性的。

一个问题指引着构建过程:"它合适吗?"就像一位知道何时停止添加笔触的水彩画家一样,个人软件开发者必须培养判断力,以识别什么时候东西已经足够有用了。Rohit 说得很简单:当软件为你或你为之构建的少数人完成了你需要它做的事情时,你就停下来。剩下的边缘情况是不重要的边缘情况。缺失的功能是没有人要求的功能。

识别合适是这种实践的核心技能。它不能外包给工具。它通过构建、尝试和分享的经验来发展。

3、拥抱不完美

我刚才描述的并不是做错了什么的标志。事实上,大多数软件一直都是这样运作的。

二十五年前,我作为软件工程师在硅谷工作,从 Borland 的质量保证团队开始,该公司以其编程工具而闻名。来自以制造极其精密机械手表而闻名的瑞士山谷,我对一种乐于发布可以描述为"尽力而为"的软件的文化感到震惊。这种文化并没有消失。事实上,它已经成为你今天使用的大多数软件的常态,除了敏感和关键任务系统(例如医疗、航空、基础设施)。像 Facebook 这样的平台实行持续部署:团队每天向生产环境推送数百个小更新、新功能和错误修复。软件永远不会完成。它始终在变化中。

由 LLM 驱动的 AI 工具让这一点更加真实,而非更少。因为它们是概率性的而非确定性的系统,它们产生的输出会有所变化、漂移,偶尔令人惊讶。这不是需要克服的缺陷。这是我们使用 AI 工具操作的条件下固有的特征。Ethan Mollick 这样描述它

"问题不是'这是否完全正确?'而是'这对这个目的来说是否有用?'"

当软件规模很小时,这种许诺延伸得更远。正如 Jesse Kriss 在《人类尺度的技术》中所写,小规模不需要精致。小意味着更简单。更简单的系统更容易创建、部署和维护。范围越小,不完美就越容易管理。

传统软件遵循人类编写的规则和逻辑。它们的输出是可预测和固定的。它们是确定性系统。AI 工具的工作方式不同。它们从人类提示和在海量数据集上训练的模型生成代码,通过统计而非指令来解决问题。它们是概率性系统。这让它们能够处理明确规则过于繁琐或不切实际的复杂情况,但对结果的信心永远无法保证。

个人软件不需要满足为所有人构建的软件的标准。它只需要为它所面向的少数人工作。这不是降低了标准。这是一种不同的方法。与商业软件不同,个人软件承载着责任和关怀。当你把它分享给某人时,你在发出信号:小心使用它。它不是一个有保修的产品。它是我自己制作的东西。真实性成为工作的证明。关怀成为质量的衡量标准。

还有比可见的不完美更深层的问题。一个工具可能在正确运行的同时隐藏着创造者无法检测到的结构性缺陷:安全漏洞、数据泄露、表面积累的复合错误。这不是个人软件独有的问题。建立在多层第三方库之上的专业系统也承担着同样的风险,通常由专门的团队管理。新的变化是,AI 工具正在成为审查这些问题的有力工具。像 Etienne 这样的创造者已经开始使用 AI 智能体来审查他们系统中的各个方面,比如加密或认证,这些是他们自己无法理解的。这种实践还很年轻,但方向似乎很明确:降低创建门槛的工具也开始降低验证门槛。

4、这适合谁

我观察和采访的创造者们主要都是编程相关领域的:尝试编码的创意人士、处理数据的学者、想为自己比任何人都更了解的问题构建解决方案的专家。Etienne 就是一个很好的例子。他的家族中一直有技术人员。他在听着他们的对话、吸收核心概念的环境中长大。后来,他定期与开发者合作,但从未成为他们中的一员。这种亲近感是一种优势。但这不是唯一的路径。

如果你读到这里没有退缩,你可能很适合。那种对不完美的适应是这种实践的基础态度。这是比技术背景更重要的三种倾向中的第一个。它们相辅相成。

第二种倾向是对周围世界的好奇心。对什么是破损的、缺失的或仅仅是勉强可用的敏感。Jerry Seinfeld 凭借这种技能建立了整个职业生涯,注意到日常生活中令他烦恼的事情并将这些观察转化为喜剧。个人软件开发者做着类似的事情,但将观察转化为解决方案而非笑料。观察本身就是一种可以学习和精炼的实践。Nicolas Nova 的《观察练习》Russell Davies 的《做有趣的事》都是慷慨的起点。Etienne 简单地解释了自己的方法:寻找你工作和日常生活中乏味和烦人的事情。多年来,SNCF(法国国家铁路公司)的应用程序一直令他失望。他最终构建了自己的。那种摩擦就是一个信号。它指向了值得构建的东西。

第三种倾向是倾向于动手做。好奇心让你走到观察这一步。而这是将观察转化为计划的因素。有些人注意到摩擦并适应它。另一些人感到有冲动去行动。从"这对我不起作用"到"我可以修复这个"之间的差距不是技术性的,而是气质性的。建筑师 Rob Annable 通过他所谓的 Barefoot BIM 精确地说明了这一点:在设计建筑的同时编写和修改工具的实践。他的不满是具体的。商业日照软件需要年费许可证,而且一些规划官员不接受其输出。因此他为特定房屋的日照因子分析构建了一个浏览器工具。六个月后,一个不同的场地需要相同但阈值不同的分析。他重新打开工具,调整数字,再次运行。没有许可证续期。没有支持请求。只是一个适合这个项目、这个规划官员、这栋建筑的工具。没有供应商会构建这个。没有供应商能做到。这种冲动不需要如此精确或具体。它可以像"我想知道我能不能对此做点什么"那样安静。但它需要存在。

由建筑师兼"赤脚开发者" Rob Annable 开发的日照因子分析工具。

这些倾向很少等量出现。有些人是天生的观察者,对摩擦敏感并充满关于应该存在什么的想法,但从未构建过任何东西。另一些人花了整个职业生涯按照别人的规格构建东西,而没有选择构建什么。从历史上看,这些技能很少出现在同一个人身上。AI 让每一方都能练习另一方的技能。观察者现在可以对他们注意到的事情采取行动。构建者可以开始为自己注意事物。

换句话说,这些是取向,而非先决条件。它们可以被培养。但在自己身上认识到它们是一个合理的信号,表明这是属于你的时刻。

5、开始:平淡无奇

火花很少是戏剧性的。它是观察或不满变成意图,然后变成行动的时刻。它是决定对某个具体摩擦采取行动而非继续忍受它的结果。

切入点各不相同。重要的是从具体、个人和微小的事情开始。没有复杂的设置。没有完整的计划。只有最简单的工具和一个值得回答的问题。

产品经理 Nicolas Dengler 就是这样开始构建 SilverPlan 的,这是他自己的财务生活规划工具。他精确地描述了起点:"它始于非常个人化的问题。我目前的状况有多清晰?未来到底是什么样的?我能改变什么,什么时候改变?"他从最简单的工具开始:Claude、ChatGPT 和 Excel。他纯粹专注于理解问题和塑造思路。对话和电子表格足以探索假设、测试想法和澄清真正重要的事情。切入点是一个问题,而不是一份规格说明。

Nicolas Dengler在一段视频中介绍了一版 SilverPlan,他的生活规划工具。

Etienne 将这个时刻比作音乐。你不是从理解理论开始的。你是从实验开始的。制作东西的快乐先来。理解它如何运作紧随其后。

编辑兼作家 Patrick Pittman 描述了他如何将这推进一步。他定义了多个 AI 智能体,每个都是各自领域的专家:一位有远见的产品经理、一位挑剔的安全工程师、一位极简主义 UX 设计师。他们共同制定了详细的设计和工程原则公约,然后才开始构建任何东西。之后每个决定都必须以此为衡量标准。

关键举措是转化:通过实验将问题转化为清晰的意图。这种清晰度是开始阶段真正的工作。后续一切的质量取决于这第一步的质量。

6、作为创造者的成长

个人软件有三种可能的命运。它进化到下一个版本,迁移到另一个软件类别,或者在需求过去后退役。这三种在本系列引言中都有描述。三种都是合理的。这里重要的是从经历中出现的创造者,带着新的信心、问题和能力。

在 1960 年代,哲学家 Marshall McLuhan 发展了这样一个理论:虽然人类创造了技术,但这些技术最终定义了我们的习惯、认知过程和社会结构,后来被他的朋友和同事 John Culkin, S.J. 总结为:

"我们塑造了我们的工具,然后我们的工具塑造了我们。"

个人软件让这个循环变得可见。通常,代码没有太多可转移的价值。事实上,它可能只在为其构建的特定环境中工作。流通的是知识:你如何构建问题、AI 处理得好的是什么、失败在哪里、你现在会做哪些不同的事情。每个项目之后要问的问题是"我现在知道了什么我以前不知道的?"在这里,真正的奖赏显现了。在永无止境的发现过程中,我们的学习是对隐藏在我们所有人内心的创造者的一份持续的邀请。在 BBVA,通过实践培养了这种能力的员工获得了"AI 巫师"的认可。这种地位不是来自正式培训,而是来自展示构建和分享他人觉得有用的工具的能力(见上一章:软件为组织与团队变得个性化)。

这个过程通常是混乱的。战略设计师 Matthieu Gioani 面临一个反复出现的问题:复杂的 PDF 操作。他首先通过精简现有工具中的手动步骤开始。后来,他想象这些步骤如何变成脚本。最终,脚本可能变成一个专用工具。每个版本都是个人软件。变化的不仅仅是输出,还有创造者的能力。在一次尝试中积累的知识成为下一次的基础。通常,一个朋友或同事解锁了转变:有人向你展示如何托管一个简单页面,或如何使用 GitHub 管理版本。突破来自社交互动,和来自实验一样多。

Etienne 有意识地实践这一点。他通过短视频和反思性帖子在网上分享的过程不是自我宣传。这是一种使学习对他自己和他人都可见的自律。展示进行中的工作迫使你阐明学到了什么。它也邀请其他人加入这个过程,这就是循环开始的地方。

你着手解决一个问题。你最终得到了一个解决方案,以及一些更难命名的东西:对挑战更敏锐的眼光和对什么值得构建的感觉,对什么时候合适的更强感受,在构建、分享和学习循环中不断增长的信心。工具是你能指向的副产品。实践的强度是积累起来的。

但与此同时还有其他东西在增长:你为之构建和一起学习的人群圈子。这个圈子不仅仅是一个受众。它是实践发展的环境。使用你工具的人揭示了你遗漏了什么。观察你过程的同行磨砺了你思考的方式。你邀请见解并分享你的知识和挣扎。这是一个亲密的创造性反思和成长过程。随着时间的推移,圈子与实践相互加强。一方不会脱离另一方而增长。

个人软件始终是关系性的,为某人而构建,被那种关系所塑造。Rohit Gupta 通过印地语概念 jugaad 描述了他的方法:出于对人的关怀而进行的节俭创新。你用手头已有的东西,为你关心的人服务。分发遵循同样的逻辑。从小处开始,有意识地扩展。先是一个人,然后几个。一个 WhatsApp 链接,一段短视频,一个简单的 URL。非正式性是有意的。它将工作保持在已知的关系中,避免公共软件带来的义务。

成功的衡量标准被有意保持谦逊。对 Etienne 和我来说,关于我的个人软件 Rumbo,问题从来不是收入。而是工具是否覆盖了自身的运行成本。我们都经历过"请我喝杯咖啡的时刻",有人提供小额贡献来保持软件运行。对我们来说,这是一个天花板,而不是我们雄心的底线。它表明工作有价值,而不会将其变成一门生意。保持这个天花板是一种选择。它保留了控制权、亲密性,以及当需求过去时让工具淡出的自由。

7、结束语

Etienne Mineur 接受过排版师培训。在 1990 年代,他经历了桌面出版的变革,这是一次深刻重新定义他的实践的技术变革。曾经需要多年专门培训的约束被部分消解了。但他的技能没有被淘汰。它们与新工具结合在一起。他学会了遗忘。这种在不失去已积累之物的情况下适应的能力,可能是他今天作为使用 AI 工具的设计师如此多产的原因之一。

这种模式在不同的实践和世代中反复出现。画家与摄影。音乐家与合成器。陶艺家与工业材料。每一次变革都重新分配了专业技能而不抹除它。约束移动了。知识保留了下来,找到了新的形式和新的实践者。

软件领域现在也在发生同样的事情。旧的壁垒正在移动。问题不再是你是否会编程。而是你能否足够清晰地描述一个问题,以构建出满足当下需求的东西。

这是一种不同类型的技能。它通过实践和协作发展。从注意到什么困扰你或他人开始,定义一个为之构建的对象,并从小到可以完成的事情开始。对你的圈子保持审慎。这种实践可能发展成你没有计划过的样子。Rumbo 从一个朋友和一个问题开始。它现在有超过 500 个 Pro 客户和我从未打算面对的问题。

你构建的所有个人软件都可能是不完美的。每一款都会比任何课程教会你更多。

Etienne 有一个词来形容这种感觉。Libérateur。你会找到你自己的词。


原文链接:  Software Gets Personal: The Makers

汇智网翻译整理,转载标明出处