News Hacker|极客洞察

355 4 小时前 sockpuppet.org
🤔LLM 让软件 Emacs 化:人人做自己的工具
AI 一来,现成软件就都得回炉成 Emacs 吗?

🎯 讨论背景

文章把当前的软件开发潮流比作 Emacs(可高度扩展的文本编辑器/工作环境):当用 LLM(大语言模型)随手生成一个只给自己用的小工具,比安装和学习现成软件更省事时,软件就会像每个人自己的 .emacs 配置一样高度私有化。评论把这个比喻拉回到个人计算的老理想:BASIC(入门式编程语言)、HyperCard(超文本创作环境)、Visual Basic(可视化桌面开发工具)和 spreadsheets(电子表格)都曾试图让普通人自己造工具。另一条主线是数据与接口:如果应用的数据被 Slack、Jira、Notion 这类封闭生态锁住,或被 DRM(数字版权管理)限制,就很难把它重做成自己的客户端;相反,local-first(本地优先)架构、sqlite 和 open API 才更接近可重塑的软件。讨论还延伸到 Org-mode(Emacs 里的大纲与笔记系统)、MCP(Model Context Protocol,一种给 agent 连接外部工具的协议)和团队协作,说明这已经不只是编辑器之争,而是整套个人软件栈如何被重写的问题。

📌 讨论焦点

一次性个人应用爆发

很多人把这波变化看成 audience of one 软件的爆发。以前做一款只给自己用的小工具不划算,现在用 Claude 之类很快就能拼出可用版本。例子从一次性数据可视化、IG 预览器、Android 音乐播放器,到 TLA+ package manager、Swift 小应用都有。大家反复强调,重点不是代码能不能长寿,而是它是否足够贴合自己的习惯。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9]

数据与 API 才是前提

不少人认为真正的前提不是 AI,而是数据和接口得先能被你拿走。Slack、Jira、Dropbox、Evernote、Notion 这类工具之所以像在拥有你,是因为导出和抽取太费劲,逼你顺着它们的流程生活。相反,local files、sqlite、open API、非 DRM 电子书/音乐/播客客户端,才让用户能自己重做界面或换客户端。Apple Music 和 Music.app、Spotify/Tidal 缺 API 的例子,都在说明封闭生态比 UI 本身更关键。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]

维护与可靠性

最常见的保留意见是,能造不等于能养。有人说自己做了几十个 personal LLM 工具,最后能留下的只有少数几个,因为一旦出 bug、要部署、要调试、要追需求,就会侵占本职工作和生活时间。也有人亲自试过大 Markdown 文件就卡死、滚动挂起甚至崩溃,说明 proof of concept 很容易,性能和可靠性才是难点。支持者则说 LLM 只是把门槛降到周末能做出来,但并没有消灭维护成本。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8]

Emacs/Lisp 类比与争议

另一派把这事直接类比成 Emacs 或 Lisp 的文化:每个人都在做自己的 .emacs,形成一个只对自己顺手的 cocoon。支持者会提 Lisp macros、Lisp curse 这类老梗,认为可塑性太强就会让人把软件做成私有语言。反对者则说 Emacs 其实更重视共享包和互操作,而不是人人重写整套应用。也有人强调,AI 带来的定制深度和范围,比传统 Emacs 配置更极端,整个计算环境都像一个可编程表面。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]

协作、Prompt 与开源碎片化

团队协作被认为是最可能受冲击的地方。有人描述现在的 pair programming 变成了你喂 Claude、我喂 Copilot、然后对比结果,协作退化成多个人分别驯化自己的 agent。另一条担忧是,代码不再是唯一源头,prompt、截图、worktree、agents.md 都可能变成源,这会让 GitHub 式协作和版本控制更难定义。还有人提到 MCP 的鉴权和 scope 会在多 agent、多平台下迅速膨胀,开源项目也可能因为每个人都做私有分支而更碎片化。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7]

终端用户编程回潮

不少评论把这看作旧式终端用户编程梦想的回潮。BASIC、HyperCard、Visual Basic、Director、Flash 和 spreadsheets 都曾试图让非专业用户自己写程序,而 LLM 被视为更接近这个目标的新工具。有人甚至认为未来大家会默认让电脑替自己写程序,只是不再显式意识到这件事。也有人提醒,80 年代的家用电脑并没有那么普及,LLM 可能更多是在自动化复制粘贴 StackOverflow,而不是培养真正的编程理解。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]

已有 FOSS/self-hosting 可替代

也有一批人觉得重新找回这些软件并不新,FOSS 和 self-hosting 早就覆盖了很多场景。播客、音乐、Feed reader、笔记、聊天这些领域,已经有大量 Subsonic 客户端、Audiobookshelf、各种 TUI/GUI 工具和开源替代。对他们来说,与其从零造一个个人客户端,不如 fork 现成项目,或用 LLM 加速读代码后直接改。这个视角把 AI 看成便利器,而不是对软件生态的革命。

[来源1] [来源2] [来源3] [来源4] [来源5]

Markdown/Org-mode 阅读之争

评论还大量跑题到 Markdown、Org-mode 和固定宽度字体的争论。有人觉得 monospaced 文本一点也不累,甚至更喜欢;有人则坚持 prose 需要 proportional font 才更易读,尤其是长文和表格。Emacs 用户常说自己会把 Markdown 转成 Org-mode,甚至干脆用 typst 输出 PDF,把阅读体验也当成可定制对象。这个分歧本身就很 Emacs 化:连文档格式都可以按个人审美重写一遍。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]

📚 术语解释

Emacs: 可高度扩展的文本编辑器/工作环境,用户能用 Elisp 深度定制。

Lisp: 带宏的编程语言家族,因代码可塑性强而常被拿来讨论定制文化和 "Lisp curse"。

Org-mode: Emacs 里的大纲、笔记、任务与 literate programming 系统。

local-first: 本地优先架构,数据先保存在设备上,再同步共享,便于离线和掌控。

walled garden: 封闭平台生态,数据、接口和导出都受平台控制,难以自由替换客户端。

vibe coding: 借助 LLM 快速拼出功能代码的做法,偏结果、弱理解。