跳转到正文
莫尔索随笔
返回

代码日趋廉价,但软件依然昂贵

预计 11 分钟

第一时间捕获有价值的信号

本文译自 Code Is Cheap Now. Software Isn’t.。这篇文章深刻剖析了 AI 时代软件工程的真正价值——代码生成变得容易了,但构建真正可靠、可维护的软件系统依然需要深厚的工程功底。

构建软件的门槛已经崩塌。但构建真正重要的东西的门槛丝毫没有移动。Claude Code 和 Claude Opus 4.5 为炒作添了一把火。LLM 工具以前就存在,但它们现在比以往任何时候都更好,所以更多人正在关注。但我们不是在进入 SaaS 的黄金时代。我们正在进入个人、一次性软件的时代——其中工程从编写代码转向塑造系统,而工程师正是因为这个原因仍然是必需的。

现代开发的转变

Claude Code 现在正在占领我的信息流,这是有充分理由的。有趣的不只是开发人员正在踊跃使用它——而是以前依赖 Lovable 或 Replit 等平台的构建者和制造者正在向它迁移。

不要误会我的意思,这些工具对于快速发布仍然完全可行。但我们看到一个明显的转变,因为人们重新发现了命令行优先工作流的内在美。当你将交互移到终端中时,抽象层变薄了。你不只是在遵循托管 UI 的快乐路径;你是掌控者。

入门门槛的崩塌

人们实际上在用这些工具构建什么?如果你环顾四周,答案是:几乎所有东西。事实上,我们已经达到了饱和点。一方面,我们正在见证软件创作的真正民主化。入门门槛实际上已经崩塌。第一次,非开发人员不只是软件的消费者——他们是自己工具的架构师

在过去,如果你有一个具体问题,你会花几个小时搜索解决了它 80% 的 SaaS 产品。今天,工作流已经转变。人们正在打开命令行或语音界面,简单地描述他们需要的东西。我们看到**“个人软件”**的激增:

  • 针对特定预算风格定制的订阅跟踪器
  • 解决一个非常小众的数据输入问题的Chrome 扩展
  • 界面完全符合用户想要的方式的健身应用

这是一个巨大的转变。软件正在变成你生成的个人工具,而不是你购买的商品。

从 SaaS 到便笺本

我们正在进入软件开发的新时代,其中目标并不总是长寿。多年来,该行业一直痴迷于构建”平台”和”生态系统”,但潮流正在转向更短暂的东西。我们正在从 SaaS 转向便笺本。

很多这种新软件并不意味着永远存在。事实上,它是相反的。人们越来越多地构建工具来一次性解决单个具体问题——然后丢弃它们。它是作为一次性工具的软件,为当下”现在”而不是遥远的”以后”设计。

今天使这可行的是一个具体的技术哲学:命令行优先界面、本地数据和零入职。当你移除注册、配置数据库或导航复杂 UI 的摩擦时,创建工具的成本降得如此之低,以至于”临时”变成了一个功能,而不是一个 bug。如果为一次性任务创建自定义解决方案需要五分钟,你不需要它持久化。

与传统 SaaS 模型的对比是鲜明的。SaaS 本质上是为了优化留存、锁定和扩展而构建的。它是一个旨在让你留在生态系统中并扩大足迹的商业模式。另一方面,定制工具优化即时性和控制。它们不关心你作为客户的终身价值;它们只关心解决手头的任务。

在很多方面,这是对电子表格最初使用方式的回归。你打开电子表格不是为了构建一个永久的多年数据库;你用它作为便笺本来推理问题、计算结果,然后继续前进。

在这个新景观中,Claude Code 是开发人员的 Excel——一个强大、灵活的用于解决即时问题的工具——而不是创始人的 Shopify,后者被构建为业务的永久基础。这是关于完成工作,然后放开工具。

这也解释了为什么下一部分很重要:快速生成软件是一回事;让它在与现实世界的接触中存活下来是另一回事。

代码很便宜,但软件仍然很昂贵

这是当前”AI 原生”时代的现实:代码已经变得便宜,但软件仍然令人难以置信地昂贵。

LLM 实际上已经杀死了生成代码行的成本,但它们根本没有触及真正理解问题的成本。我们看到”周末构建的应用”的泛滥,但大多数这些只是基本 CRUD 操作和第三方 API 周围的薄包装。它们在 Twitter 演示中看起来令人印象深刻,但它们通常在撞上现实世界摩擦的那一刻就崩溃了。

软件的真正成本不是初始编写;而是维护、边缘案例、不断增长的 UX 债务以及数据所有权的复杂性。这些”快速”解决方案是脆弱的。

订阅跟踪器在银行更改其 CSV 导出格式的那一刻就崩溃了。Chrome 扩展在目标网站的 DOM 移动的第二秒就死了。健身应用在用户需要强大的离线支持或可靠的数据同步时立即变得无法使用。

最近,我在 Hacker News、Reddit 和 Twitter 上看到了很多关于”软件工程的终结”的末日言论。这完全没有抓住重点。我们不是在见证这个职业的终结;我们正在进入它的新时代。

工程师的价值正在从语法的”如何”转向系统的”什么”和”为什么”。真正的工程在于抽象和架构。它是关于知道如何构建一个持久的系统,理解为什么特定的速率限制策略是必要的,知道如何管理分布式缓存,以及确切知道_不_在哪里存储你的环境变量。

AI 经常感觉强大,因为它隐藏了复杂性,但作为一名工程师,你的工作是管理那个复杂性,而不是忽略它。工具已经改变,但对工程严谨性的基本要求从未更高。

分发幻觉

但有另一面。随着入门门槛消失,噪音水平已经达到历史最高。我的信息流目前充斥着”AI 创业者”声称在一个下午构建的应用有五位数的月经常性收入 (MRR)。

在很多情况下,这些声明高度可疑。当你看到一个没有现有分发和明确**“护城河”**的创作者在一个周末项目上声称 10,000 美元 MRR 时,这通常是为了参与度而不是商业现实的反映。

这些故事中的一些几乎肯定是真实的,但在大多数情况下,这些实际上不是技术创新的蓝图。它们是营销案例研究。这些人成功是因为他们已经掌握了在拥挤的景观中捕捉注意力的艺术,而不只是因为他们有一个 AI 副驾驶。

我们已经进入了一个时代,其中生成代码的能力不再是瓶颈。真正的挑战已经转向分发,更重要的是,将真正的效用与已经在行业中如此普遍的”快速致富”装腔作势区分开来。

这些人没有偶然发现秘密捷径;他们只是找到了一种更快地执行其现有优势的方法(如果学习编码对于一个副业项目来说确实是太大的事业,他们可能在第一时间就解锁了它)。

对于这种转变有一个有用的框架:AI 实际上已经移除了工程杠杆作为主要差异化因素。当任何开发人员可以使用 LLM 在以前所需时间的一小部分内构建和部署复杂功能时,编写代码的能力不再是曾经的竞争优势。只是成为一个”构建者”已经不够了。

相反,成功现在取决于更难自动化的因素。品味、时机以及对你的受众的深刻、直觉理解比以往任何时候都更重要。你可以在一个周末生成一个产品,但如果你正在构建错误的东西或者向一群不听的人发布它,那就是毫无价值的。

在这个新环境中,代码已经变成了容易的部分。困难的部分仍然是它一直以来的样子:找到一种让人们关心的方法。

谁赢了

首先,你有被困在无聊、重复问题上的领域专家。然后有构建一次性工具的内部团队,那种需要立即工作而不是看起来完美的脚本和内部应用。高级用户在这里也看到了巨大的收益,特别是当他们想要用更强大的东西替换脆弱的手动工作流时。最后,这对于那些优先考虑解决方案所有权而不是高光泽抛光的工程师来说是一场胜利。

是的——像 Claude Opus 4.5、Claude Code 和 Cursor 这样的工具对工程师来说确实有用。它们非常擅长移除样板、实现功能和编写单元测试。我最近最喜欢的用例之一,特别是自从开始新工作以来,是生成个性化文档和功能演练,以快速熟悉产品代码库以及所有细微差别如何工作——这对于快速熟悉非常有帮助。

但这是现实:LLM 并不完美地编写代码——即使它第一次就编译了。即使有高质量的提示和清晰的规则,这些模型仍然会犯错误。作为一个每天使用这些工具的人来说,你不能简单地完全信任输出。你仍然必须审查代码,就好像它是来自队友的拉取请求一样。你必须阅读逻辑、检查假设,并经常进行手动编辑以使其正确。

毕竟,你可能会将其发送给队友进行审查(我猜还有 Code Rabbit)——让他们审查你没有编写甚至懒得检查的东西公平吗?

这些工具帮助你更快地前进,但它们不会替换对批判性眼光或你多年经验的需求,并且不比你更好地理解整体问题空间。

炒作让它看起来我们正在进入 SaaS 的黄金时代。我们不是。我们正在进入个人软件的时代:你生成来解决问题,然后继续前进的工具。

用二十美元、几个小时的业余时间和一点耐心,几乎任何人都可以发布一个功能齐全的应用程序。我们正在进入”个人软件”的时代,其中初始想法和工作产品之间的差距比以往任何时候都更窄。

在这个新现实中,工程专业知识仍然令人难以置信地有价值,但角色的性质正在转变。相关性没有消失。相反,它是关于利用这些工具在比以前可能的更高水平上构建。现在需要真正的专业知识来引导这些系统并提供 LLM 目前缺乏的技术监督。

虽然 AI 无可否认地擅长编写代码,但它仍然不擅长架构可维护、可分发和可扩展的系统。这就是认为他们可以解雇开发团队的非技术领导者正在犯重大错误的地方。直到我们看到使整个讨论变得毫无意义的人工智能的到来,相信技术专业知识可以被提示替换是一个战略错误。构建健壮的软件仍然需要理解工艺基本原则的人类。

底线是,虽然工具已经改变,但优秀工程的基本原理没有。

虽然入门门槛可能已经消失——但判断力、品味和责任仍然是工作。