返回

当Agent写代码,开源为何仍重要

RSS TiDB Blog AI 逐段翻译 发布 2026-10-06 23:45 收录于 10-07
DataHot 速览

知名开源项目的维护者正面对新式收件箱:拉取请求数量更高,且格式整洁、初看合理。一个人一下午就能生成上百个PR,维护者仍需逐一阅读以找出三个真正有价值的。文章认为,贡献成本趋近于零,过去三十年作为承诺信号的开源贡献机制正在失效。作者还指出开放权重模型并非开源软件,并认为SQL在查询与检索上仍比自然语言更精确完整。

为什么值得关注:从数据基础设施开源生态视角,讨论AI Agent降低贡献成本后,维护者如何评估贡献、开源信号与治理的变化;对理解数据平台开源项目协作与AI生成内容的可靠性有参考价值。

本文目录 10 节
  1. 开放权重模型不是开源软件
  2. 软件不会消失
  3. 当贡献免费时,合并权就变得稀缺
  4. 无声的分叉
  5. 为什么开放核心模式不再奏效
  6. 企业真正购买的是责任
  7. 所有权就是修改权
  8. 什么必须保持开放
  9. 三种仍然有效的策略
  10. 我可能错在哪里

译文

AI 逐段翻译

知名开源项目的维护者正在应对一种新的收件箱。拉取请求依然纷至沓来,数量往往比以往任何时候都多,而且许多都干净整洁、格式规范,初读之下也颇为合理。变化之处在于,现在一个人一个下午就能产出上百个拉取请求,而维护者仍必须逐一阅读,才能找出其中真正有价值的三个。

这种倒转是过去两年里开源领域发生的最具深远影响的事情,而它几乎与代码质量无关。三十年来,正是贡献的成本让贡献变得有意义。它就像工作量证明:持续的贡献代价高昂,因此它是可靠投入的可靠信号,而项目则以影响力作为回报。智能体已经把这一成本压到接近零。信号消失了,建立在其之上的一切如今都不再稳固。

开放权重模型不是开源软件

先澄清一点:这一切都不适用于开放权重模型。我认为“开源”并不是描述它们的恰当术语,因为它们是另一个物种。模型是基础智能,更接近一种生产工具,而不是一个程序。

无论发布多少权重,都没有人会在家里复现 DeepSeek V4 或 Kimi K3 这种规模的模型。开放权重并不会开放训练过程,而且随着模型规模增长,后训练变得越来越昂贵。开放权重的真正作用是让智能民主化,而不是赋能社区或治理。把模型当作一种强大的新型生产工具,传统软件市场依然存在。变化的是供给侧,而后果正是在那里显现。

软件不会消失

自 ChatGPT 以来,人们一直预测会出现没有界面、没有离散功能的软件。我认为这不会发生,至少不会以激进的方式发生。

我整个职业生涯都投入在数据库软件上,而在查询和检索方面,自然语言并不像 SQL 那样精确或完整。以仓库管理系统为例:当你需要显示和更新库存时,表格是信息所能采取的最直接形式。用散文来描述一次库存更新既痛苦又缓慢。

这不是智能问题。这是界面问题。数据库查询必须精确且无歧义,而自然语言本质上就是有歧义的。再强的模型能力也无法修复媒介与意图之间的错配。

我们在编程中已经看到了这些局限。用自然语言描述一个原型很快。但复杂部分,以及对现有行为的任何精确修改,很快就会变得笨拙。关于软件复杂性有一句老话:它从不消失,只会转移。用自然语言编程把它转移到了你看不见的地方,而那正是软件债务累积之处。

因此我们仍然需要数据库、编译器、操作系统和业务系统。在可以接受歧义的地方,它们可以保持歧义。在必须精确的地方,交互设计仍然必须直观且正确。这就是为什么,即使生产软件的成本正在崩塌,最好的软件仍然由强大的工程师和领域专家打造。

当贡献免费时,合并权就变得稀缺

开源在本质上一直是一种成本极低的分发模式。广泛的分发构建了生态系统,贡献者加速了工作,而两者的结合成为了一道护城河。与此同时,治理则建立在贡献作为投入证明之上。

既然任何人都能在一个下午生成大量贡献,这一衡量标准就不再意味着它曾经意味着的东西,而分配过去由此而来的收益就成了一个真正的问题。这就是为什么越来越多领先项目正在关闭外部贡献渠道。我认为这是一种自然的反应,而不是对任何事物的背叛。

副作用是维护者的权力不断增长,而上游的迭代实际上可能会放缓。当供给实际上无限时,稀缺资源是关于什么被合并的决策,而面对大量嘈杂的拉取请求,维护者会变得更加保守,而不是更不保守。

这些项目逐渐变得像策展。DHH 的 Omarchy 是一个很好的代表,这个名字并非偶然:它建立在 omakase,即厨师精选之上。策展把社区讨论从技术细节转向政治。过去,请求会因为确实不可行而在上游被拒绝。如今,下游贡献者可以在一个周末内于分叉中实现其中大部分,因此上游是否合并某样东西,更多取决于拥有合并权者的判断,而非难度。

无声的分叉

第二种趋势更安静,也更糟糕。传统企业用户正在完全游离于公开讨论和治理之外。如今维护一个私有分叉通常比说服上游合并你的需求更便宜,而且智能体对流行项目的理解已经足以支撑这些公司所需的大部分东西。

称之为无声的分叉:严肃的生产用户在下游、私下解决自己的问题,从不反馈回来。上游失去了真实的企业反馈,这对系统软件而言尤其危险,因为生产反馈是发现某些类别 bug 的唯一途径。随着时间推移,上游会因为缺乏信号和过度谨慎而放缓,而每个分叉都在重复自己低质量的迭代。由于几乎所有人都使用相似的模型和相似的框架,那些分叉往往会产生相似的幻觉,因此重复的工作甚至并不多样。

分发也在走同一条路。过去软件选型由工程师做出,这种判断常常有缺陷,但至少是他们自己的判断。如今,选择越来越多地由智能体做出。今天让一个智能体搭建一个小网站,它会伸手去拿一套默认技术栈,数据库通常是 Postgres,因为这是它的训练数据中出现频率最高的。这是统计学,不是评估,而那些可能更合适的选项甚至更不容易作为候选出现。开源表面上看起来生机勃勃,而分发却在悄然集中。

为什么开放核心模式不再奏效

在商业上,简单的运维业务最先消失。开放核心模式将是下一个,而我从来就不喜欢它。这个模式是:把核心开源,把配套部分闭源出售,可视化、运维工具、加密、权限管理,打包成企业版。

这已经不再成立。一个更漂亮的仪表盘对智能体来说微不足道。一个运维工具是一天的工作量。任何实现门槛低的外围功能,客户都可以按需重建,所以那些过去用来制造锁定效应的锦上添花功能,正在迅速失去粘性。

还有一个更隐蔽的版本:为开源软件提供托管云服务。其中很多是穿着 SaaS 外衣的开放核心模式,只是把运维层从客户的硬件搬到了你的硬件上。问题在于你并不控制底层资源,而客户的基础设施成本无论哪种方式都不会有多大变化。除非你有认真的超额认购策略,或者从云和模型提供商那里拿到了异常优厚的折扣,否则你是一只手从客户那里收钱,另一只手把钱转交给上游平台。

所以当下最危险的位置是中间那种功能单薄的 SaaS:靠部署麻烦、数据连接器、表单和仪表盘来制造托管溢价的生意。更站得住脚的是广义的存储系统、支付与结算网络、承载持久状态并支持多方协作的平台,以及任何愿意为业务结果承担责任的产品。

企业真正购买的是责任

开放核心模式的真正问题从来不是仪表盘有多难做。让大型企业选择一家供应商,归根结底就一个词:责任。出问题时谁来处理。有新需求时谁来响应。是否有一份合同,约束某个人持续维护这个软件。

关键软件的长期 SLA 是企业真正愿意为之付费的东西。同样属实的是,大客户常常购买仪表盘,是为了让财务部门有具体的东西可以入账,因为许多财务部门不接受一项无形的保证可以很昂贵。

这一切都不新鲜,而这正是重点。复杂软件仍然有复杂的生产端,领域专业知识仍然稀缺。交付合同仍然是价值交换发生的地方。消失的是作为价值主张的托管便利性。在这里我应该直说自己的立场:TiDB 自第一次提交起就一直在 Apache 2.0 下开源,PingCAP 在其之上销售托管服务。这些是我自己公司运营所面临的约束,不是对别人生意的观察。

过去两年制造了一种错觉,以为传统软件正在被系统性地高估。我一开始也抱着同样的乐观,现在我逐渐认为,复杂系统仍然是复杂系统。构建一个工业级操作系统或分布式数据库,今天并不比十年前容易多少。敲代码的时间减少了,而任何构建过这类系统的人都知道,敲代码从来只是工作中很小的一部分。

这也是为什么一人公司和独立前置部署工程师在企业市场还站不住脚。如今交付软件很容易。指望一个人多年承担持续责任,无论从制度上还是从人性上都不现实,除非背后有担保、平台级验证和保险。

智能体正在把没人需要为其负责的小软件变成免费。与此同时,它们正在让需要有人负责的复杂软件变得更昂贵,同时切断了初级工程师过去用来成为那个负责方的路径。

所有权就是修改权

那么我们还需要开源吗?需要。

先说简单的原因:如果你的软件不开源,它就不太可能进入未来模型的训练数据。更深层的原因是,行业的繁荣建立在技术的民主化之上,无论有没有 AI。当开发成本高昂时,闭源有其真正的正当性。读一读比尔·盖茨 1976 年写给爱好者的公开信,其逻辑在当时是合理的,因为生产端确实在做巨大的劳动。

这个假设已经改变,而真正攸关的权利是所有权。编码智能体解决了修改的能力。它们没有解决修改的许可。开源与闭源的区别在于,用户能否在没有供应商同意的情况下接管眼前的系统。对于闭源软件,每一次变更都必须来自供应商,即使他们愿意和你谈,谈话也受限于人的速度。

这意味着你买的软件不是你拥有的软件。所有权仍然在供应商手里,你持有的是使用权。真正的所有权通过修改权来体现,而开源正是赋予这种权利的东西。对大多数用户来说,这种权利过去只是理论上的,因为行使它需要稀缺的技能。如今,它第一次变得真实起来。

这里还有一个社会层面的论点。即便假设智能体最终能够重写任何东西,重写也不等于继承。重写不会继承多年来积累的隐性知识,而在复杂系统中,这些知识大多存在于少数核心开发者的经验之中。设想这样一个世界:智能体能力极强,而所有软件都是闭源的。这样的世界不会缺少软件。它会充斥着大量低质量的私有软件,同时严重匮乏高质量的公共软件,每家公司的智能体都在重复造同一个轮子,而经验教训则永远被困在私有孤岛中。智能体会加速软件的生产,却会拖慢软件文明的累积进步。

什么必须保持开放

在我看来,有四类软件必须保持开放,而且很可能也会保持开放:

  • 预期会被长期使用的软件。
  • 多方共同依赖的软件,例如协议和数据格式。
  • 失败后果严重的软件。
  • 承载历史数据、大量状态以及大量隐性专家知识的软件。这并不意味着数据本身必须开放。

具体来说:编程语言、编译器、数据库、操作系统、网络协议。这些领域的迭代会加快。但重写它们仍将困难重重,而且不仅仅是出于技术原因。太多隐性知识嵌入在旧代码库和人们的头脑中,而围绕它们重建社会信任不是氛围编程能做到的事。

三种仍然有效的策略

如果开源能力如今已属于全社会,那么开源公司就不再靠把守能力来赚钱,而是靠把事情运营好并为结果承担责任来赚钱。对于任何想要成为标准或智能体默认选择的东西,开源依然是必需的。围绕它的策略则发生了转变。

  • 开放你希望整个行业采用的东西。协议规范、数据格式,任何有机会成为共享基础设施的东西。推广它时不附加任何私利。Anthropic 的 MCP 就是一个很好的例子,而其中关键的细节在于,它位于 modelcontextprotocol.io,而不是 anthropic.com 的某个子域名下。
  • 搞清楚价值在于软件本身,还是在于构建它的过程。对某些软件而言,构建过程以及嵌入其评估中的专业知识,其价值远超最终产物。测试环境、测试数据以及不寻常的测试框架,可能比智能体最终输出的代码更重要。
  • 对需要持续人类问责的部分收费。托管运营、持续更新、大规模托管、合规审计、灾难恢复、SLA 保证与事件响应、保险与理赔。

MCP 说明了这一点。协议及其 SDK 应该完全开放。而具备真正可靠性保证的企业级托管 MCP 服务则应该收费。如果你的业务是构建定制 MCP 服务,那么交付本身并不值多少钱,而那些需要你持续更新并为你所构建的东西提供保证的客户则价值巨大。同样的逻辑用我所称的有界委托授权取代了按席位收费:与其卖一个运营平台然后让客户自己去跑生产,不如直接交付运营 SLA 本身。定价确实很难,因为你必须知道这项保证值多少钱,以及你能否承受失败的代价。

还有一点:并非每个开源项目都应该变成一家公司。过去的套路是,利用开放分发来建立广泛的依赖,然后在依赖足够深时通过更改许可证来实现商业化。更极端的版本是,早期树立公共利益形象,后期再把已经成为公共基础设施的东西重新圈占起来。这是恶劣的做法,而近期的例子并不少见。

价值链可能会分裂为五种角色:定义并构建产品的开发者、托管并运行它的云平台、分发它的智能体平台、验证所生成软件的认证机构,以及为其结果承保的保险公司。前两种已经存在。智能体平台刚刚兴起。而针对智能体生成软件的验证与保险则完全不存在。

我可能错在哪里

至少有三处。第一是时机。我已经在这个方向上错过一次,因为我一开始坚信智能体即将压缩复杂系统的工作。如果能力持续复合增长,重写与继承之间的差距可能会比我预期更快地缩小。

第二是价值链。验证与保险是我刚刚描述的结构中的承重部分,而这两者都不存在。它们可能永远不会出现,那样的话责任就会集中在少数几家大厂商手中,市场看起来会很像 2015 年的样子。

第三是我可能因为我做的就是系统软件而高估了它的比重。这个论点对数据库、编译器和操作系统最强。它对应用软件庞大的中间地带最弱,在那里,重写可能真的会变得比继承更便宜。

我不断回归的原则是这样的:资本应当能够通过生产公共能力来获得回报,而不是通过没收它来获利。

智能体让生产软件几乎变得免费。它们并没有让为软件负责变得更便宜。

这篇文章当智能体编写代码时,开源为何依然重要最初发表于TiDB。

这篇内容对你有用吗?

反馈只用于改善内容筛选,不等同于收藏

分享这条资讯
分享海报
保存图片
iOS 也可以长按图片保存