跳转至

第五章 · 新规矩

七月二十日,周一,九点零三分。

老梁的工位空了。搪瓷杯还在原处,杯沿一圈茶渍,桌面四边各一个浅浅的矩形印子,印子里的灰比周围浅。

邮箱第三封,发件人纪衡,主题“周一十点,C-06 会议室,结算组全员”,没有正文。纪衡上一次发没有正文的会议邮件是三个月前,那次散会以后接入组少了两个人。

何晚八点发来的消息还挂着:“今天第一天?老梁是今天过去吗?”

他回:“是。周一。”

结算成功率百分之九十九点九八,和上周五收盘比一个万分点没动。settle.guard 拦截器还在等部署窗口,等到今天是第九天。上周五提交的跨天时间窗 MR 已合并,他 pull 到本地,没有冲突,把 TODO 里那行注释删掉,提交,推送。

九点三十五分。C-06 在走廊另一头,门虚掩着。

纪衡已经到了,坐在会议桌靠窗那一侧,面前一台笔记本,没有水杯,没有笔,没有纸。

结算组六个人,加上做渠道对账的、做资金报表的、营销结算那个新人——一共九个人。人到齐,纪衡合上笔记本盖。

“今天一件事。”纪衡说,“从这周开始,所有中台项目,必须做价值量化。”

他停了一下。

“不是功能清单,不是技术方案,是价值——你做的这个东西,对业务产生了什么可度量的影响。”

老梁带结算组十一年,从来没在会上说过“业务”这两个字。老梁说的是“别让线上出事”。

“举个例子。”纪衡说,“你做了一个缓存优化,QPS 从一千提到三千。这个数字发出来,我不会看。你要告诉我,QPS 从一千提到三千之后,用户在下单的时候少等了多少毫秒,或者省了多少机器成本。”

他说话的时候视线落在桌面上,没有落到任何人身上。

“具体的格式,我会发一个模板到群里。以后每个项目,从设计阶段开始,就要带上价值量化。”

“有问题的现在问。”

九个人里没有人开口。空调出风口在纪衡头顶正上方,风把他额前的头发吹起一点,又落下去。

纪衡等了三秒,然后说:“好。散会。”

笔记本夹在他左手臂弯里,他出门的时候没有关门。

椅子腿在地上刮出一声短促的响。九个人陆续散掉,会议室里剩下九把推开的椅子,角度各不相同。

蒋辉在群里发的“收到,纪总”后面跟了一个“👍”,时间是十点十七分,散会两分钟。这条消息在群里挂着,下面没有人跟。

结算组的小群里有人在问:“价值量化怎么写,有人写过吗?”

没有人回。

过了一会儿,蒋辉回了一句:“等纪总发模板,照着模板写就行。”

陈稳把手机翻过来,屏幕朝下。屏幕朝下的时候,桌面上有一小圈水印,是老梁那个搪瓷杯留下的,不知道谁把杯子挪过来放过一次。

食堂十一点五十分,人已经排到取餐口外面。靠窗有一个空位,对面那人戴着工牌,在吃面条,工牌是营销技术部的蓝色。

他低头吃饭,吃了几口,听到旁边有人叫他的名字。

“陈稳。”

他抬头,是易文。她端着餐盘站在他旁边,餐盘上只有一碗米饭和一碟青菜。

“这里有人吗?”

“没有。”

易文坐下来。她拿起筷子,夹了一根青菜,吃了,然后说:“老梁走了?”

“嗯。今天正式过去。”

“你们组现在谁管?”

“纪衡。”

“他今天开会了?”

“开了。”

“说了什么。”

“价值量化。所有中台项目都要做。”

易文抬起头,看了他一眼。

“然后呢。”

“然后就没有了。”

易文没有马上接话。她吃了一口菜,慢慢嚼完,然后说:“你知道怎么写吗。”

“不知道。”

“他发模板了?”

“还没有。”

“那你先等模板。”

陈稳没有说话。他夹了一块红烧肉,吃了一口,肥肉的部分在嘴里化开,腻了一下。他喝了一口水。

易文把筷子放在碗沿上,说:“价值量化这个东西,其实不难。但你不能从技术维度想,要从业务维度想。”

“比如。”

“比如你做的那个拦截器,结算成功率从九十九点九八提到九十九点九九,这个数字你写出来,纪衡不会看。你要写——这个拦截器让每月凌晨事故从平均零二十三次降到了零次。那个数字,他看得懂。”

零二十三次这个数字陈稳知道。是他四月份写复盘文档的时候自己算的:2024 年 4 次,2025 年 2 次,2026 年到七月 1 次,三年七次,摊到三十六个月。那份文档他只发给了老梁,没有发给纪衡。

易文把筷子拿起来,继续吃饭。“还有一件事。别写次数。”

“为什么。”

“写次数他就要问你两次和三次差在哪,你答不上来。写人天,写商户数,写钱。”

“钱我算不出来。”

“那就算人天。人天他自己会换成钱。”

下午两点,纪衡在群里发了一个文件。文件名是“价值量化模板 v1.pptx”。

陈稳点开文件。PPT 只有一页。六个空白框:目标业务指标、当前基线值、预期提升值、衡量方式、数据来源、备注。

他盯着屏幕看了很久。

他打开自己的任务清单。上周的任务有四条:一是跨天时间窗校验,已提交。二是 settle.guard 拦截器灰度发布,还在等部署窗口。三是规则引擎调度服务的接入确认,他还没开始。四是日常告警巡检。

他对着这四条,看了一会儿,然后把光标移到第一个框——目标业务指标。

他打了几个字,删了。又打了几个字,又删了。

他关上 PPT,靠在椅背上。天花板上的裂缝还在,从空调出风口一直延伸到墙角。

他重新打开 PPT,在“目标业务指标”里打了两个字:“结算成功率。”

然后他在“当前基线值”里打了“99.98%”。

然后他在“预期提升值”里打了“99.99%”。

他在“衡量方式”里打了“监控大盘日均结算成功率 + 每日凌晨事故计数器”。

在“数据来源”里打了“Prometheus + 结算日志”。

他保存了文件,发给纪衡。

过了一会儿,纪衡回了一条消息:“收到。我看了回复你。”

陈稳等了一会儿,没有新消息。他继续看规则引擎的接入文档,看了两页,又切回邮箱,看有没有回复。没有。

下午五点,纪衡的回复来了。

“这是功能清单,不是价值。请重新想。”

陈稳看着这行字,看了几秒。

他打开 PPT,重新看了一遍自己填的内容。结算成功率,99.98% 到 99.99%,监控大盘,Prometheus——他看不出来哪里不对。

一个万分点,等于每天两千七百笔里的三笔。这个换算他做过,写在拦截器的设计文档第二节,纪衡没有点开过那份文档——文档的阅读记录里只有老梁和他自己。

五点二十分,他把“结算成功率”删了,改成“凌晨事故归零”。“当前基线值”改成“年均 2.3 次”,“预期提升值”改成“0 次”,“衡量方式”里加了一句:“连续 3 个月无凌晨写入争抢类事故”。发给纪衡。

纪衡回得很快:“跟上次差不多。请重新想。”

两版之间他改了四个词,纪衡用了两分钟就退回来。第一版是十分钟。

他在通讯录里点进易文的对话框,输入框里打了“那个模板”四个字,删掉,退出来。

他忽然想起上周纪衡说的一句话——是在全员会上说的,不是对他说的:你们做的东西,我很难向上面解释。你们的周报,我发给 VP,VP 看不懂。

他当时没有在意这句话。

他重新打开 PPT,把“结算成功率”和“凌晨事故”全部删掉,在“目标业务指标”里打了四个字:“减少资损。”

他停住了。他想了想,打了一行字:“每次事故涉及 5,000–11,000 条未落账记录,需人工补录,补录人力成本约 4 人/天。”

他看了一眼,觉得不对,删了。

他重新写:“每月凌晨事故平均耗时 33 分钟,延时到账影响商户约 1,200 户/次。”

他停了一下,又在后面加了一个括号:“(数据来源:2024–2026 事故记录)”。

他保存,发给纪衡。

十分钟后,纪衡回了四个字:“方向对了。”

陈稳看着这四个字,没有动。

纪衡又跟了一条:“把每条都补上数据来源和时间范围。下周一之前交。”

陈稳回了一个:“好。”

他关掉微信,把 PPT 重新打开,开始逐条补充。他打开监控系统,查了近三个月的事故记录,把每条事故的时间、影响范围、恢复时间、未落账条数列在一个表格里,然后对着表格改 PPT 里的数字。

他写了一个小时,写了六页。

快七点的时候,何晚发来一条消息:“今天加班?”

他回了一个:“没有。刚走。”

这句话不完全对。他关电脑的时候是十九点零四分,出楼是十九点十一分。

地铁上人不多。他在手机上继续改 PPT。

他看到“当前基线值”里写的是“年均 2.3 次”,他算了一下,这个数字来自 2024 年 4 次、2025 年 2 次、2026 年截至目前 1 次——三年 7 次,除以 3,约等于 2.3。

他把这个计算过程加在备注里。

然后他看到“预期提升值”里写的是“0 次”,他想了想,改成了“≤1 次/年”。

“0 次”是承诺,“≤1 次/年”是余量。老梁教过他这个:写死的数字上线以后会变成别人考核你的数字。老梁说这句话的时候是去年十月,那次的数字是 SLA 四个九。

二十一点四十,书房。

他把“减少资损”改成“减少因结算延迟导致的商户投诉率”。

他把“4 人/天补录成本”改成“每次事故释放 4 人天”。

他按了保存。

他重新打开 PPT,删掉了“结算成功率”和“凌晨事故次数”,换成了“商户结算延迟平均时长”和“补录人工成本”。

他写完,提交了一份新的版本给纪衡。

二十三点零八分。PPT 的最后一页只有一个数字:

“预期节省:约 4 人天/月 × 12 月 = 48 人天/年。”

四人天是他从三次事故的补录工时里推出来的。三个样本。用三个样本乘十二个月,得出一个年度数字,然后把这个数字放在 PPT 的最后一页——他知道这不叫测算,这叫演算给人看。

对面那栋楼的黑窗里,有一扇亮着灯。

不是他看了十一个月的那扇,是另一扇。

他拉上窗帘。

第二天醒来,手机上有纪衡的回复。时间是凌晨一点四十七分。

“第二版可以。下周一提交正式版本。”

陈稳把手机放在床头柜上,屏幕朝下。

凌晨一点四十七分,纪衡在看第二版。他上一次收到纪衡这个时间点的消息,是三个月前接入组那次。

电梯里是蒋辉。

“早。”蒋辉说。

“早。”

蒋辉按了八楼,然后说:“你那个价值量化,写完了?”

“还在写。”

“纪总给我看了一个版本,说你的写得还行,方向对了。”

陈稳没交给纪衡任何人看的许可,也没被问过。纪衡把他的版本给了蒋辉,是九点前的事。蒋辉现在提这句,是要让他知道自己知道。

八点五十一分,他在“补录人工成本”旁边加了一个说明:“基于 2024–2026 年三次事故的实际补录工时统计,平均每次事故补录耗时 32 人时,折合 4 人天。”

他改完,把 PPT 保存,关掉。

结算成功率百分之九十九点九八,凌晨批次耗时二十六分钟,比上周五慢了三分钟——多的三分钟落在对账那一段,不是他的模块。

规则引擎的接入文档他看了两页,然后开了一个新分支写接入代码。一个接口,接收规则引擎的调度通知,更新定时任务状态。单元测试全绿。

他提交了 MR,commit message 写了三行:

feat: 规则引擎调度通知接入

接收调度通知并更新定时任务状态。 无逻辑变更,仅接入层适配。

他按了推送,然后关掉 IDEA。

十一点四十分,他把“预期节省 48 人天/年”改成了“预期节省约 40–50 人天/年”。

他加了一个括号:“(取决于事故频率,取近三年均值估算)”。

他保存,关掉。

食堂里人很多。易文在靠窗的位置,一个人。

“写完了?”她说。

“差不多了。”

“纪衡怎么说。”

“方向对了。”

易文点了点头。她吃了一口菜,然后说:“你那个拦截器,灰度发布了吗?”

“还没有。等部署窗口。”

“数据能拿到吗。”

“能。”

“那把这周的数据也装进去。下周一交正式版本,跑一轮灰度,数据放进去,比估算有说服力。”

陈稳说:“好。”

他低头吃饭。吃了几口,他抬起头,说:“那个模板,你用过的吗。”

“哪个。”

“价值量化模板。”

易文放下筷子,说:“用过。去年在数据组,我们也做过一次。”

“你写了什么。”

“我写了一个数据清洗的脚本,按正常写法,我写的是'数据清洗脚本每日处理 50 万行日志'。纪衡看了,说这是功能,不是价值。然后我改成了'数据清洗脚本上线后,业务分析报告的交付周期从 7 天缩短到 2 天'。”

“他怎么说。”

“他说可以。”

陈稳想了想,说:“所以不是价值量化,是翻译。”

易文的筷子停在半空,停了大概两秒。

然后她说:“对。就是翻译。”

“翻译要有词典。”她说,“纪衡的词典就三列:钱、人、时间。你以后写任何东西,先看能不能落到这三列里。落不进去的,不要写。”

这句话陈稳记下来了。他没有记在文档里,记在手机备忘录,标题是“词典”。

下午,他给纪衡发了一条消息:“拦截器灰度发布,数据大概这周五能跑出来,我放到正式版本里。”

纪衡回了一个字:“好。”

他打开发布平台,选择灰度发布,选择机器——他选了一台负载最低的,点击“发布”。

进度条开始走。

他盯着进度条,从 0% 到 100%,用了四十七秒。

他打开监控大盘,看拦截器的指标。第三行第二格,还是绿的,平的。他打开拦截器的日志,看到新的日志行:

[2026-07-21 14:03:12] settle.guard | 请求 ID: 8a3f2b1c | 结果: 通过 | 耗时: 4ms
[2026-07-21 14:03:14] settle.guard | 请求 ID: 8a3f2b1d | 结果: 通过 | 耗时: 3ms
[2026-07-21 14:03:17] settle.guard | 请求 ID: 8a3f2b1e | 结果: 通过 | 耗时: 5ms

他看了一会儿,关掉。他每隔半小时打开一次,到下午五点,看了五次,每次都是绿的。

他关掉监控,继续写规则引擎的接入代码。

他写到一半,想起易文说把灰度数据装进去。他打开 PPT,在“数据来源”那一栏加了一句:“灰度发布后一周线上数据,可提供实时监控截图。”

他保存,关掉。

他看了一眼时间,十八点零三分。

电梯口,手机震了一下。蒋辉在群里发了一条消息:「有没有人做过价值量化,我这边的方案写了三版都被退回来了,求指教。」

群里没有人回。陈稳也没有回。他做过,就在今天下午。

大楼外面天还亮着。夏天天黑得晚,路灯还没亮,天空是灰蓝色的,有一层薄薄的云,被落日染成橘红色,边缘发白。

往地铁站走了一半,他停下来,打开 PPT,在「备注」里加了一行字:

“本项目中所有数据均来自 Prometheus 监控系统和结算日志,可追溯,可复现。”

他按了保存,然后继续往地铁站走。

他刷卡进站,站台上等车的人很多。他站在靠墙的位置,看着轨道对面的广告牌——还是那个房地产广告。“首付三十万,安家上海”。

他上了车,找到一个角落站着。列车启动,隧道里的灯光开始往后跑。他拿出手机,想再打开 PPT 看一眼,然后他没有打开。

他把手机放回口袋。

车到站,他下车,换乘,再坐两站,出站。

小区门口的保安正在吃饭,快餐盒放在岗亭的桌上,筷子插在饭里。保安嘴里含着饭,点了一下头。陈稳也点了一下头。

屋里灯是黑的。何晚还没回来。

沙发上,他把 PPT 又看了一遍。第七页那句「本项目中所有数据均来自 Prometheus 监控系统和结算日志」,是路上加的,加完就没再动。

书房电脑打开,PPT 的「目标业务指标」那一栏,最后他加了一句:

“最终目标:减少结算延迟导致的商户投诉率,降低补录人力成本。”

他看了一眼,觉得这句话太长了。

他删了,改成三个字。

“降本。”

他看着那个字,想了想,又加了一个逗号,在后面补了两个字:

“增效。”

他保存,关掉电脑。

他拉开窗帘。对面那栋楼亮着灯的窗户多了一些,有的亮着白色的灯,有的亮着黄色的灯。那扇他看了十一个月的窗户,黑着。

他看了一会儿,放下窗帘。

他走回卧室,躺下来,闭上眼睛。

他翻了翻身,面朝墙壁。

墙上的光从窗帘的缝隙里漏进来,在天花板上拉出一条细长的白色线条,一动不动。

他盯着那条线,盯了很久。

然后他闭上眼睛,睡着了。


← 第四章 送别 · 目录 · 第六章 PPT母版 →