五年前,我问过很多软件工程师一个问题:你有没有给自己写过程序?答案大多是否定的。工程师们整天用别人写的工具,去给别人写工具——自己用的,永远是「几乎合身」的现成方案,配上越来越臃肿的配置文件。
这很合理。给自己写软件的投资回报率(ROI)一直很可疑:一天只有那么多时间,维护一个私人项目一年后回来再看,痛苦到想扔掉。
但那是五年前。今天,事情完全变了。
一句话结论
开发者工具必须开源,不是因为情怀,而是因为 AI Agent 让「改源码」的成本趋近于零。开源是 Agent 时代的个性化接口——有了源码,Agent 就能替你改任何东西,还能自动跟上上游更新。闭源工具的插件系统、配置系统,正在变成上一代人的答案。
一、Agent 如何改变个人化软件的 ROI
AI Agent 的可怕之处,不在于它「会写代码」——而在于它能自动维护你对软件的修改。原文作者(Tailscale 工程师)给出了两个关键 Prompt,几乎覆盖了所有个性化场景:
Prompt 1:本地化改造
下载这个软件的源码并本地构建使用。 修改它:以后对这个软件的任何改动, 都意味着修改源码并替换当前版本。 在版本控制里记录每次改动的原始动机。
Prompt 2:自动同步上游(更关键)
设置一个 nightly cron 任务: 抓取上游的最新变更,把我们的本地修改 rebase 到上游之上。确认软件正常工作后, 替换当前版本。
看到了吗?Agent 不仅能「改一次代码」,还能替你持续管理「本地修改 vs 上游更新」的同步过程。这正是以前个人化软件最痛的地方——改完一时爽,上游一更新就冲突爆炸。现在这个成本归零了。
核心洞察:Agent 在两条线上同时翻转了个性化的 ROI——起步更容易(说一句话就能改),持续更容易(cron 自动 rebase 上游)。两个「更容易」叠在一起,个人化从「偶尔为之的奢侈品」变成了「默认选项」。
二、源码就是插件系统
作者做了一个叫 meat.dev 的工具:用 LLM 压缩代码 diff,把 import 块、nil 检查、错误处理这些「不重要」的部分从审查视野里去掉,让工程师只看真正有信息量的改动。
这个工具很好用,但作者想把它内建进自己的 Agent(Shelley)里,还要在 commit 创建时自动后台预处理。如果是传统软件,你得研究 VS Code 的扩展 API、或者自己写一个监听文件系统的 daemon——想想就头大。
而实际上,他只用了一个 Prompt:
把 meat.dev 内建到 Shelley 里。安装最新版本到 PATH。 当 Shelley 创建 git commit 时,后台启动 meat 处理。 在 Shelley 的 Diffs 视图加一个 meat 开关。
一个 Prompt 搞定。唯一的小遗憾是模型自作主张用了 🥩 表情当按钮图标。
这就是 Agent 时代和经典配置/扩展体系的根本区别:Agent 会自己去读源码、理解结构、做出合适的修改。你不需要设计「扩展点」,不需要猜「配置接口长什么样」——源码本身就是唯一的接口。想改字号?告诉 Agent 去源码里找硬编码值改掉。想换字体?它甚至会自己下载替换,或者用 Monobit 给你生成一个。
三、对站长和独立开发者的启示
这篇文章不是纯理论。对正在做产品的人,有三层直接启示:
- 选型时,开源权重越来越重要。你买的每一个「高度可配置」的商业工具(任务管理、CMS、CRM),都可能变成你迁不走的债。能拿到源码的工具,Agent 时代可以无限定制;拿不到源码的,只能等厂商施舍配置项。
- 团队小不是劣势。以前小团队买不起定制软件,只能扭曲自己的工作流去适配工具。现在一个 Agent + 开源组件,就能拼出只属于自己团队的「刚好合适」的工具——这篇博客本身就是作者用 Agent 拼 Tiptap 等开源库写出来的。
- 闭源 Agent 是最后的墙。作者对 Codex(开源)可以随意个性化,唯独 Claude Code 不行——它是闭源的,「希望厂商的钩子恰好匹配你的需求,如果不行,就换一个能让你个性化的 Agent。」这句话值得所有把 Agent 当基础设施的人记住。
别误会:这不是「闭源软件已死」的宣告。核心论点比这更精确——在 Agent 时代,「能否被个性化」正在成为开发者工具的第一特性。开源是通往这个特性的最短路径。闭源工具若能提供同样深度的个性化接口,依然有生存空间;但「用配置文件凑合」的时代,确实过去了。
四、与「工具编码信任」呼应:一个系列的开端
昨天我们聊过「开发者与工具信任」——当 AI 帮你写代码时,你怎么信任这些代码?今天这篇其实是同一个问题的另一面:当 AI 成了你的「工具使用者」,你凭什么信任它用的工具?答案是一致的——源码在手,Agent 的每一步都能被审查、被修改、被接管。
信任不是靠承诺,是靠可见性。开源提供的正是这个:你随时可以打开源码,看 Agent 改了什么,改不放心就自己改回去。这是任何闭源工具都给不了的底牌。
给开发者的行动清单
① 新工具选型时,优先开源、可自托管;② 把你常用的闭源工具,列一张「Agent 时代迁移候选」清单;③ 尝试把「本地化 + rebase 上游」两个 Prompt 用起来,从一个小工具开始;④ 如果你在用 Agent,确认它的核心是可个性化的(开源优先)。
开发者工具必须开源——在 Agent 时代,这不再是一句理想主义口号,而是一条务实的技术判断。