Bau es selbst:自己构建人工生成
人工生成人工生成人工智能法案第50条要求,人工生成的图像、音频和视频必须可识别、可机读地标出。这个符号是欧盟委员会的官方基础图标。使用它是自愿的,标注义务不是。机器生成: 文字 · 图像. 有人在驾驭。McGrinsey Living Intelligence SystemsMcGrinsey Living Intelligence SystemsLI: 各种活的智能。 McGrinsey 把常规智能和新的智能收成活的智能系统。这些机器与人共生的系统一起工作,为每一种智能提供最精的认识。
MCG Research · Software 01 · 2026年8月

Bau es selbst:自己构建

几十年来,标准软件一直是合理的选择:现成、经过验证、比任何自建都便宜。这笔账已经翻过来了。不是因为标准软件变差了,而是因为自建便宜了几个数量级。剩下的,是买标准软件时一直附带买下、以往只能接受的那些成本。

01 · 翻过来的账

当初选用标准软件的理由已经不复存在

选择现成系统从来不是情书。它是一笔成本账:自建意味着开发者年数,而开发者年数是公司里最贵的。相比之下,任何许可证都便宜,任何免费框架都无可匹敌。

这一个量已经变了。以前要一个季度的,今天一个下午就行。支撑整套结构的那个论据因此没了。

剩下的是账的另一面,以前没人关心,因为别无选择:迁就别人的想法,等待别人的时间表,拖着别人的历史包袱,以及一块你自己没选过的攻击面。

这些条目一直都在账上。它们只是从来不是问题,因为替代方案更贵。现在不是了。

真正的转变不是我们打字更快了。 而是连接工作消失了。把一个系统接到另一个上,以前才是真正的开销:读格式、建接口、处理特殊情况。恰恰这种工作今天多半就是一条指令。而因为连接变便宜了,现成的工具箱也就失去了最后一个优势,也就是里面的东西本来就已经对得上。
02 · 价格里包含了什么

你买的不是一份软件,你买的是一棵家谱

79
每个项目的外部包
一个普通的npm项目会带上这么多间接依赖,却没有人特意选过它们。
11.334
2025年新漏洞
仅在WordPress生态中。比上年增加42%,其中91%在插件里。
250/周
持续通报
大约每天36个新的插件漏洞,截至2026年。
454.600
2025年恶意包
新发现并已拦截。其中超过99%在同一个包目录里。

79是这组数字里最重要的。一个团队选定一个包,也就接手了几十个它从未见过的人、对它从未读过的代码所做的决定。2025年9月,单单一份被接管的开发者访问权限就足以把恶意代码塞进十八个包,这些包加起来达到 每周26亿次下载 来。这些包没有一个是不靠谱的。它们只是到处都在。

03 · 真正的机制

不是更差。可被找到。

这里是大多数关于这个主题的文本走错方向的地方。它们声称自己动手更安全。 这不是真的。 你自己搭建的系统很有可能比一个有上千人多年来检查过的成熟项目有更多错误。

区别在别处,而且它比错误数量更重要: 单一栽培这个概念来自农业。一块只有单一品种的田地可以高效耕作,但适合这个品种的害虫会毁掉整块田。多样性效率低但能存活。 让攻击可重复使用。

5小时
从漏洞发布到首次大规模利用的平均时间
五个小时。平均这么久,一个刚发布的漏洞就会被大规模利用。不是因为攻击者打字那么快,而是因为他们 不必搜索。通报会写明产品和版本,联网设备搜索引擎会给出地址,剩下的就是循环。这些漏洞中有43%无需任何登录即可利用,23%在三十天后仍然开放。

自己的系统不在这些列表中的任何一个。它不是更安全,它是 不可搜索。想攻击它的人必须先理解它,那是针对单一目标的手工活,而不是对十万个目标的循环。这不改变你代码的质量,而是改变攻击的经济学,而这种经济学决定你是否会出现。

其中的第二部分是可见性本身。标准系统从外部就暴露了它是什么。路径、标头、文件名和错误页面都是指纹。 每个看你网站的人都知道你的蓝图,在他做第一次尝试之前。

04 · 界限

标准在哪里继续明显占优

一个不知界限的论点是意识形态。所以这里是界限,它遵循一个唯一的问题: 在这个地方是否与外部世界发生交换?

在有东西离开或进入你的系统的地方,标准不仅允许,而且是强制的。自己的日期格式、自己的图像格式或自己的传输协议不会让你独立,而是让你无法被触及。

最难的情况是加密。 自己写密码学是一条已知的、有充分记录的自我伤害之路。 不是因为自己动手从根本上就不好,而是因为这里的错误是看不见的:一个坏掉的加密方法在测试中运行完美,却什么也保护不了。这同样适用于登录方法、时区、字符编码和支付处理。

所以规则不是“永远不要用现成的”。它是: 边缘用标准,核心用自己的。

决策 何时用标准,何时用自己的

分界线不在大小之间,而在交换与核心之间。

领域选择理由
协议、格式、字符集标准纯粹的交换面。自己的在这里意味着隔离。
加密、登录、支付标准错误保持不可见且无法测试。
数据库、运行时、网络服务器标准成熟、可替换、没有区分特征。
你的流程和规则自己的正是在这里你与众不同。外来系统会把你强行纳入它的设想。
你的界面和工具自己的适配现成系统的工作量如今已超过自己构建。
你的数据及其结构自己的否则外来模式会决定你究竟能提出哪些问题。
经验法则:越靠近外部世界,就越标准化。越靠近自己的业务,就越自己的。
05 · 原则而非构件

可传递的是知识,不是部件

“自己构建”的建议常被误解为“从零开始”。意思恰恰相反。

四十年软件构建带来了正确的认识:分离状态,尽早让错误可见,保持接口狭窄,不重复维护任何东西。 这些原则才是有价值的。 它们不花一分钱,不会产生依赖,也不会过时。

组件则不然,它并不自带这些原则。它带来的是 阐释 由外人做出的原则阐释,外加他们的妥协、他们的历史包袱和他们的路线图。

这也是现有系统仍然有价值的原因,只是方式和原先想的不同: 作为模板,而不是作为基础。 你阅读一个成熟项目是如何解决某个问题的,理解为什么,然后按适合自己情况的方式去建造。蓝图才是收获,不是那栋建筑。

质量标准还是需要的,只不过要自己的。 谁自己建造,却不给自己明确约定如何检查、命名、记录和交付,就是把外来依赖换成了自己的混乱。区别在于,这些规则那时来自你,适合你的情况,并且可以在你的情况改变时加以修改。
06 · 克隆或突变
你的细胞携带你的DNA。这就是全部区别。

采用标准系统是一种克隆过程。你得到的是为其他目的而生的东西的精确副本,而且每一份后续副本都一模一样。这很高效,也是一种停滞:副本做不到原件已经做不到的事。

自己建造意味着你的系统携带你自己的建造说明书。每一次调整都是一次小偏离,其中大多数毫无价值。但有些是有价值的,而且会留下来。

突变是进化的引擎。 一个只会复制的系统没有这个引擎。它只能通过等待别人改进某样东西来改进自己。仅此而已。

而且和自然界一样,多样性顺便也是最好的保护。单一作物会因一个弱点而全部倒下。一片有上千种不同蓝图的田地会失去个别的,但继续挺立。这正是第三节里那五个小时对你不适用的原因:没有循环在你身上运行。
07 · 这在实践中意味着什么

问题已经转了向

它不再是“我们负担得起自己建造吗?”,而是“我们负担得起让外来决策主宰我们的业务吗?”。

不要一次全做

路径不是大规模替换。它是今天最疼的那一块,然后下一块。

标准留在边缘

协议、加密、数据库。谁在这里自建,就是没理解要点。

试金石

对每个组件问:它是否决定你的业务如何运作?如果是,它就该属于你。如果它只是传输数据,就用标准的,并为此高兴。

数据基础
  • Sonatype, State of the Software Supply Chain 2026. 恶意包 2025,累计数量,各包目录占比。 sonatype.com
  • Socket,CVE评估 2025。 漏洞报告的总量和WordPress生态系统的占比。 socket.dev

关于漏洞和利用时间的数字涉及2025年和2026年上半年。它们描述报告和观察到的事件,而不是现有漏洞的总数。