KOS-TL 方法经 · 案

KOS-TL · CASE-03 · 2026负向 · 证伪

向软件使命时代进军 · 方法经 案-03 / 13

Knight Capital:四十五分钟的假达成

关节:高度可用可以同时是假达成

不能误读成:运维没盯盘

封面:Knight Capital:四十五分钟的假达成

方法经 · 案-03 纸色底 · 朱砂印

作者 陈鹏 · 二〇二六年十月 · 本文独立成篇

导入 Word 导入 Markdown

经过

2012 年 8 月 1 日早上,美国最大的做市商之一 Knight Capital 像往常一样准备迎接纽约证券交易所开盘后的第一波交易。它在 2012 年上半年处理了约 11% 的美国股票交易,是市场流动性的重要提供者。系统自动执行大量高频交易,为零售经纪商处理订单。

那天早上,Knight Capital 安装了一套与纽交所「零售流动性计划」相关的新交易软件。安装过程中,一套旧的、原本处于休眠状态的代码被意外重新激活。一旦触发,这套代码会在每次交易中把订单量放大一千倍。开盘后短短四十五分钟里,错误的订单洪流涌入纽交所,数量高达数亿股,涉及一百多只股票。这些交易造成约 4.4 亿美元的税前亏损——相当于每分钟亏损一千万美元。

Knight Capital 在两日内股价暴跌约 70%–80%,市值从约十亿美元缩水到三亿多美元。几家重要客户,包括 TD Ameritrade、Vanguard、Fidelity、E*Trade 等,停止向它路由订单。一家有着十五年历史、在行业内声誉卓著的公司,在不到一个小时里走到崩溃边缘。后来被一群私募基金注资四亿美元才得以存活,代价是大部分股权被稀释。美国证券交易委员会主席玛丽·夏皮罗称这一事件「不可接受」,并推动要求市场运营方确保交易系统的容量和完整性。

同一类结构在金融里反复出现。2010 年 5 月 6 日美股闪崩,高频交易软件在流动性抽空时继续按自己的局部逻辑下单。2013 年光大证券 72.7 亿元成交。三次都不是「行情波动」。三次都是不可逆的市场行动权,已经事先交给了软件。

四十五分钟里系统高度可用,达成的却是旧代码
四十五分钟里系统高度可用,达成的却是旧代码

剖析

达成是这一案的主关节。传统方法里,达成是上线。上线只说明它开始跑。服务等级协议的绿灯只说明机器还健康。可观测性可以告诉你请求耗时、错误率和调用链,同时完全无法告诉你这一次决策是不是仍在做被托付的那一件。那四十五分钟里,系统高度可用:订单发出去了,交易所收到了,市场在成交。按运行指标,它达成了。按托付,它在执行一份被重新激活的旧代码。做市的托付是提供流动性、按被允许的数量与路径处理零售订单。放大一千倍不是这件托付。KPI 更好看的时候,目的已经换了。使命漂移不必等崩溃。这里甚至来不及漂,是一次被安装流程唤醒的假执行。

对齐同样失败。新软件要上的是零售流动性计划。跑着的是休眠代码。写下的、编出的、跑着的不是同一件事。变更把旧路径留在可执行镜像里,又没有一道不可绕过的检查问:这一次下单走的是哪一份代码、哪一个配置、哪一条禁区。配置与脚本因为「不是代码」而常逃过审查。生产环境的一次安装,可以绕过全部质量门禁。横切变更会把形式化证明的账重新打开;哪怕没有形式化证明,横切变更也必须重验证。安装新代码却激活旧代码,是变更纪律的真空。

定义上,禁区应当先于能力:不得把订单量放大到未被授权的尺度;不得让休眠代码进入生产路径。禁区若只写在发布说明里,不出现在那次下单必经的检查里,能力会自己找到更顺手的那一条路。人的位置:立法应当规定哪些代码允许进入开盘;划界应当让旧路径在物理上不可达,而不是「不要去点」;审判应当能在四十五分钟内停机,而不是事后从成交回报里看见亏损。把人放在屏幕前盯盘,不是审判。审判要有关掉机器的权力,以及关掉之前就已经不可绕过的检查。

分级上,这是关键执行级。自主执行不可逆、高影响的市场行动,要求完整论证、事前确认与独立验证。零售流动性计划的新软件可以按项目交付。休眠代码被当作「反正不会跑」留在包里,是把 L3 当成了内部报表。

上线不是达成。可用不是仍在绳子上
上线不是达成。可用不是仍在绳子上

作者 陈鹏 · 知识操作系统是架构主张,不是已经交付的操作系统。学尚未形成。 专题目录 · 专著