第五章 · 新规矩¶
周一,八点四十分。陈稳刷卡进楼,大厅里的闸机响了一声。他走过去,等电梯。
电梯来了,里面有三个人,他不认识。他进去,站在靠门的位置。
电梯到八楼,门打开,他走出去。走廊里安静。他拐过弯,看到老梁的工位——空了。搪瓷杯还在,但桌上的其他东西被清掉了。桌面只剩一张灰白色的桌面,四边各一个浅浅的矩形印子。
老梁不在。
他坐下来,打开电脑。屏幕亮起来,他看了一眼右下角的日历——七月二十日,周一。
他打开邮箱,新邮件有三封。一封是结算成功率日报,周一凌晨数据,他扫了一眼,绿的。一封是安全组发的漏洞修复通告,他标记了未读。第三封,发件人:纪衡,主题:周一十点,C-06 会议室,结算组全员。没有正文。
他看了一眼时间,九点零三分。
他打开监控大盘,第三行第二格,绿线,平的。他刷新了一下,平的。他关掉大盘。
他打开 IDEA,上周五提交的跨天时间窗 MR 已合并。他 pull 了一下,更新到本地,没有冲突。
他看了一眼时间,九点二十分。他把 TODO 里那行注释删掉,提交,推送。
他看了一眼时间,九点三十五分。
他关掉 IDEA,走向 C-06 会议室。
纪衡已经到了。他坐在会议桌靠窗那一侧,面前放着一台笔记本。面前没有水杯,没有笔,没有纸。
陈稳在靠门的位置坐下。其他人也陆续进来。结算组六个人,加上做渠道对账的,做资金报表的,营销结算那个新人——一共九个人。
纪衡等人到齐,关上了笔记本盖。
“今天一件事。”纪衡说,“从这周开始,所有中台项目,必须做价值量化。”
他停了一下,扫了一眼在场的人。
“不是功能清单,不是技术方案,是价值——你做的这个东西,对业务产生了什么可度量的影响。”
陈稳看着纪衡,没有说话。
“举个例子。”纪衡说,“你做了一个缓存优化,QPS 从一千提到三千。这个数字发出来,我不会看。你要告诉我,QPS 从一千提到三千之后,用户在下单的时候少等了多少毫秒,或者省了多少机器成本。”
他说话的时候没有看任何人,看着桌面。
“具体的格式,我会发一个模板到群里。以后每个项目,从设计阶段开始,就要带上价值量化。”
他看了一眼手表。
“有问题的现在问。”
没有人说话。
纪衡等了三秒,然后说:“好。散会。”
他站起来,拿起笔记本,走了出去。
陈稳坐在座位上,没有动。他旁边的人站起来,椅子腿在地上刮了一下,发出一声短促的响声。然后其他人也站起来,陆续走出会议室。
陈稳最后一个站起来。他走回工位的时候,看到手机上有两条消息。一条是蒋辉在群里发的:“收到,纪总。”后面跟了一个“👍”。一条是何晚八点发来的:“今天第一天?老梁是今天过去吗?”
他回了一个:“是。周一。”
他坐下来,打开微信,看到结算组的小群里,有人在问:“价值量化怎么写,有人写过吗?”
没有人回。
过了一会儿,蒋辉回了一句:“等纪总发模板,照着模板写就行。”
陈稳把手机翻过来,屏幕朝下。
中午,他去食堂吃饭。食堂里人很多,他端着餐盘找位置,看到靠窗有一个空位,坐下来。对面是一个他不认识的人,戴着工牌,在吃面条。
他低头吃饭,吃了几口,听到旁边有人叫他的名字。
“陈稳。”
他抬头,是易文。她端着餐盘站在他旁边,餐盘上只有一碗米饭和一碟青菜。
“这里有人吗?”
“没有。”
易文坐下来。她拿起筷子,夹了一根青菜,吃了,然后说:“老梁走了?”
“嗯。今天正式过去。”
“你们组现在谁管?”
“纪衡。”
“他今天开会了?”
“开了。”
“说了什么。”
“价值量化。所有中台项目都要做。”
易文抬起头,看了他一眼。
“然后呢。”
“然后就没有了。”
易文没有马上接话。她吃了一口菜,慢慢嚼完,然后说:“你知道怎么写吗。”
“不知道。”
“他发模板了?”
“还没有。”
“那你先等模板。”
陈稳没有说话。他夹了一块红烧肉,吃了一口,肥肉的部分在嘴里化开,腻了一下。他喝了一口水。
易文把筷子放在碗沿上,说:“价值量化这个东西,其实不难。但你不能从技术维度想,要从业务维度想。”
“比如。”
“比如你做的那个拦截器,结算成功率从九十九点九八提到九十九点九九,这个数字你写出来,纪衡不会看。你要写——这个拦截器让每月凌晨事故从平均零二十三次降到了零次。那个数字,他看得懂。”
陈稳没有说话。
易文看了看他,然后把筷子拿起来,继续吃饭。
陈稳吃完剩下的饭,把餐盘端到回收处,走回工位。
下午两点,纪衡在群里发了一个文件。文件名是“价值量化模板 v1.pptx”。
陈稳点开文件。PPT 只有一页。六个空白框:目标业务指标、当前基线值、预期提升值、衡量方式、数据来源、备注。
他盯着屏幕看了很久。
他打开自己的任务清单。上周的任务有四条:一是跨天时间窗校验,已提交。二是 settle.guard 拦截器灰度发布,还在等部署窗口。三是规则引擎调度服务的接入确认,他还没开始。四是日常告警巡检。
他对着这四条,看了一会儿,然后把光标移到第一个框——目标业务指标。
他打了几个字,删了。又打了几个字,又删了。
他关上 PPT,靠在椅背上。天花板上的裂缝还在,从空调出风口一直延伸到墙角。
他重新打开 PPT,在“目标业务指标”里打了两个字:“结算成功率。”
然后他在“当前基线值”里打了“99.98%”。
然后他在“预期提升值”里打了“99.99%”。
他在“衡量方式”里打了“监控大盘日均结算成功率 + 每日凌晨事故计数器”。
在“数据来源”里打了“Prometheus + 结算日志”。
他保存了文件,发给纪衡。
过了一会儿,纪衡回了一条消息:“收到。我看了回复你。”
陈稳等了一会儿,没有新消息。他继续看规则引擎的接入文档,看了两页,又切回邮箱,看有没有回复。没有。
下午五点,纪衡的回复来了。
“这是功能清单,不是价值。请重新想。”
陈稳看着这行字,看了几秒。
他打开 PPT,重新看了一遍自己填的内容。结算成功率,99.98% 到 99.99%,监控大盘,Prometheus——他看不出来哪里不对。
他关掉 PPT,站起来,走到茶水间。
茶水间里没有人。他接了一杯热水,拿着杯子在窗边站了一会儿。窗外是另一栋楼的外墙,灰色的,墙面上有一条纵贯四层的排水管,雨水冲过的痕迹沿着管口往下蔓延。
他喝了一口水,烫了一下舌尖。
他放下杯子,回到工位。
他打开 PPT,把“结算成功率”删了,改成“凌晨事故归零”。把“当前基线值”改成“年均 2.3 次”。把“预期提升值”改成“0 次”。在“衡量方式”里加了一句:“连续 3 个月无凌晨写入争抢类事故”。他看了一遍,发给纪衡。
纪衡回得很快:“跟上次差不多。请重新想。”
陈稳把窗口关掉。
他站起来,又坐下来。他拿起手机,翻了翻通讯录,看到易文的名字,点进去,又退出来。
他放下手机,重新打开 PPT,盯着六个空白框看了很久。
他忽然想起上周纪衡说的一句话——是在全员会上说的,不是对他说的:你们做的东西,我很难向上面解释。你们的周报,我发给 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 次/年”。
他放下手机,看着车窗外的隧道。隧道里的灯一盏一盏地往后跑,光影在玻璃上拉成一条条白色的线。
他想起易文说的那句话,想起纪衡说的“方向对了”,想起老梁说的“别学我”。
他闭了一下眼睛,眼睛里有光在跳。
他睁开眼,列车到站。他站起来,下车。
换乘,再坐两站,出站。
他走回小区,门口的保安坐在岗亭里,手机屏幕的光照在他脸上。陈稳走过去,保安抬头看了他一眼,没说话,又低下头。
他上楼,开门,屋里灯是黑的。
他换了鞋,走到客厅,坐下来。他拿出手机,打开 PPT,又看了一遍。他看完,关掉,把手机放在茶几上。
他站起来,走到书房,打开电脑,打开 PPT,继续改。
他把“减少资损”改成“减少因结算延迟导致的商户投诉率”。
他把“4 人/天补录成本”改成“每次事故释放 4 人天”。
他按了保存。
他重新打开 PPT,删掉了“结算成功率”和“凌晨事故次数”,换成了“商户结算延迟平均时长”和“补录人工成本”。
他写完,提交了一份新的版本给纪衡。
他看了一眼时间,二十三点零八分。
他靠在椅背上,屏幕的光照在他脸上。他盯着 PPT 的最后一页看了很久,那页只有一个数字:
“预期节省:约 4 人天/月 × 12 月 = 48 人天/年。”
他盯着那个数字,没有动。
然后他关掉电脑,站起来,走到窗边。
对面那栋楼的黑窗里,有一扇亮着灯。
不是他看了十一个月的那扇,是另一扇。
他站了一会儿,拉上窗帘,走回卧室。
第二天,他醒来的时候,看到手机上有纪衡的回复。时间是凌晨一点四十七分。
“第二版可以。下周一提交正式版本。”
陈稳把手机放在床头柜上,屏幕朝下。
他翻了个身,看了一眼窗外的光,窗帘缝隙里透进来一条细线,落在枕头上。
他起床,洗漱,出门。
到公司的时候,他刷卡进闸机,等电梯。电梯门打开的时候,他看到了蒋辉。
蒋辉也看到了他。
“早。”蒋辉说。
“早。”
他们一起进了电梯。蒋辉按了八楼,然后说:“你那个价值量化,写完了?”
“还在写。”
“纪总给我看了一个版本,说你的写得还行,方向对了。”
陈稳没有说话。
电梯到了八楼,门打开,他们走出去。
陈稳走回自己的工位,坐下来,打开电脑。
他打开 PPT,看了一遍昨晚提交的版本,又改了几个数字。他在“补录人工成本”旁边加了一个说明:“基于 2024–2026 年三次事故的实际补录工时统计,平均每次事故补录耗时 32 人时,折合 4 人天。”
他改完,把 PPT 保存,关掉。
他打开监控大盘,第三行第二格,绿线,平的。他刷新了一下,平的。他关掉大盘。
他打开 IDEA,看规则引擎的接入文档,看了两页,然后打开了一个新的分支,开始写接入代码。他写了一个接口,接收规则引擎的调度通知,更新定时任务状态。他跑了一遍单元测试,全绿。
他提交了 MR,commit message 写了三行:
feat: 规则引擎调度通知接入
接收调度通知并更新定时任务状态。 无逻辑变更,仅接入层适配。
他按了推送,然后关掉 IDEA。
他看了一眼时间,十一点四十分。
他打开 PPT,把“预期节省 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,看了一遍。他看完,关掉,把手机放在茶几上。
他站起来,走到书房,打开电脑,打开 PPT,在“目标业务指标”那一栏的最后加了一句:
“最终目标:减少结算延迟导致的商户投诉率,降低补录人力成本。”
他看了一眼,觉得这句话太长了。
他删了,改成三个字。
“降本。”
他看着那个字,想了想,又加了一个逗号,在后面补了两个字:
“增效。”
他保存,关掉电脑。
他站起来,走到窗边,拉开窗帘。对面那栋楼亮着灯的窗户多了一些,有的亮着白色的灯,有的亮着黄色的灯。那扇他看了十一个月的窗户,黑着。
他看了一会儿,放下窗帘。
他走回卧室,躺下来,闭上眼睛。
他翻了翻身,面朝墙壁。
墙上的光从窗帘的缝隙里漏进来,在天花板上拉出一条细长的白色线条,一动不动。
他盯着那条线,盯了很久。
然后他闭上眼睛,睡着了。
← 第四章 送别 · 目录 · 第六章 PPT母版 →