第十八章 我有更好的方案

沈知行写第一段的时候,宋严就看出了区别。

他没去原有的各个任务里逐个加判断,而是把入口、等待和结束的状态单独理出来。旧程序还能照常做事,只是外面多了一层清楚的安排。

像一间原本谁都能冲进去喊一声的办公室,终于有了知道每个人来做什么的人。

陈墨站在旁边看了会儿,问:“你准备保留原接口?”

“保留。今天先看安排有没有用,没必要为了展示把所有东西拆一遍。”

“出问题时能退回原方式?”

“开关在这里。”

他指了一下,继续打字。

宋严没有一直站在身后,回到自己的机器前准备核对数据。新东西跑得好看是一回事,能不能说明白为什么好看,是他的工作。

周野坐在门边,已经进入一种奇怪的状态。

他听不懂全部实现,但知道这时候不该给人递十次水、问八次累不累。他把可以自己处理的消息全拦在这边,需要决定的才写在便签上,等沈知行停手再递。

何敏看了一眼,轻声说他做得不错。

周野点头,嘴角差点没压住,赶紧低下去看手机。

机房的空调温度不低。

沈知行手腕贴着桌边,额头有一点汗。他把袖口往上卷了一截,继续补全退出与记录部分。

实验室里,那条经过反复推演的路径已经足够清楚。

他仍然没有跳过现实的检查。

编辑器里的字要能运行,输入要能对应,设备的实际表现也不能靠脑内结论替代。金手指让他知道路该往哪里走,却不会替马骏插好电源,也不会让宋严的测试文件自己出现在电脑里。

他把一项参数留给宋严确认。

又让陈墨核对另一台设备公开提供的变化范围。

两个人各自答复。

实现继续往前。

梁岳在旁边看得很安静。他经历过无数次现场交流,大多数工程师到了陌生环境,会先谨慎地把所有不确定因素围起来,再试探着走。

沈知行也在确认边界。

但他的确认像装好路牌,随后直接出发。

没有多余的踌躇。

二十多分钟后,他停下手。

“先做小样本。”

宋严早已准备好。

一组很小的任务进入系统,各自按设定的路径运行。结果返回时,沈知行看了几个关键状态,确认记录完整,再让原方式跑同一组。

没有问题。

陈墨要求交换两类任务出现的顺序。

沈知行照做。

结果依然符合约定,没有把某一类永远往后推。

宋严把小样本的完整记录存好,抬头问是否开始正式一轮。

“开始。”

这次没人再说话。

十二分钟的输入按事先确定的节奏进入。

屏幕上的数字并不总是更漂亮。某些短暂时段,原型反而留出一点余量,让系统不至于把所有资源一口气占满。

周野看见那个空着的部分,差点问为什么不用。

陈墨在旁边先开了口。

“他把后面一段需要的空间提前留出来了。”

周野问:“如果后面没来呢?”

“那就逐步收回来,不会永远空着。”

他解释完,目光又回到屏幕。

现场能看见的只是一小部分表象。真正让他重视的,是沈知行把几个原先互相牵制的要求放在一起之后,竟然没有依赖一堆复杂而脆弱的特判。

做复杂很容易。

以后每加一个场景,都继续往上补。

可这种东西用久了,谁也不敢轻易碰,任何一个小改动都像抽掉桌角垫着的纸。

眼前这层安排更干净。

他能看懂,也能看出后续怎样扩展。

正式轮次结束。

宋严先没有读总成绩。

他把输入数、完成数、失败数和取消数一项项对齐。几处最容易被忽略的尾部任务也展开核实,没有因为演示时间到就被悄悄留在统计之外。

许知夏在旁边对应用户侧的结果。

用户收到回应、真正拿到结果、可以开始下一步,是几件不同的事,她把它们清楚地分开。

陈墨则核对设备运行状态。

最后,三个人的记录放到一起。

宋严抬起头,声音比刚才慢了一点。

“这组条件下,超过约定等待阈值的任务,原方式八十一项,现在十四项。”

周野迅速低头记。

“后台那批都完成了,没有拿长期推迟换前面那部分的成绩。完整批次执行用时,缩短了约百分之二十八。”

他停了一下,补上范围。

“这是当前配置、当前输入的一轮结果。下一步需要重复和换条件。”

梁岳盯着两份完整记录。

这几个数字没有大到离谱,却同时满足了几个原本很容易互相牺牲的要求。

他很清楚,如果相近收益能在真实业务里稳定成立,意义远不止一张演示报告。

宋严把一段关键过程重新展开,拿自己的笔在纸上跟了一遍。跟到中间,他停下来,把原先准备补在后面的一条规则划掉。

“这条其实不用了。”他说。

沈知行看过去,点头:“前面已经保证过,后面重复检查只会多一道开销。”

宋严把纸往旁边推,露出一张更早的草图。那是他来之前自己尝试过的办法,零零散散加了不少判断,虽然能照顾一部分情况,却很难把整个过程讲得这么清楚。

他并没有把旧图藏起来。

“我原来想从这里补。”他指给陈墨看,“后来越补越多,最后准备先只做一种场景。”

陈墨看了一眼,说这条思路很常见,自己团队也走过类似的路。

宋严重新看向沈知行:“你怎么一开始就知道该把这一层单独拿出来?”

沈知行想了想,只回答眼前能解释的部分。他让宋严把几个反复出现的状态圈起来,指出原来被分散放在不同业务里的,其实是同一件事。先把它们认清,再决定放在哪儿,后面就少了很多互相拉扯。

宋严顺着圈完,坐在电脑前没有动。

“明白了。”他说。

这次的明白跟听懂一个演示结果不同。他拿回那张旧图,在背面重新画了第一条线,旁边没有写任何夸奖,只写了沈知行刚才提醒他先看的那个状态。纸上的线终于不再绕成一团。宋严将那张旧图也夹进笔记,没再把它揉掉。回去以后,他想先跟自己的同事完整讲一遍今天这个过程。

苏景明此时已经结束旁边的远程会议,走到机房门口,恰好听见宋严最后那句话。

他没有立刻让人安排发布。

先问:“原来的方案,是正常运行的基线?”

“是。”宋严说,“修过已知故障,没故意留一个坏版本来比较。”

苏景明点头。

“那继续看。”

这四个字很简单,却让屋里的气氛明显不同。

唐宁翻到新的空页,何敏把后续会谈安排留出更长时间,罗祺开始给自己那边发信息,准备正式把第二种设备的验证加入进来。

沈知行仍坐在原位。

他正检查一项记录是否描述得足够清楚。

周野凑过来,小声说:“他们看起来都挺高兴。”

“嗯。”

“你怎么跟交完一次普通作业似的?”

“我还没交完。”

沈知行指了指另一台机器。

周野顺着看过去,立刻把想说的话收回去。

对他来说,一轮成绩已经值得把宿舍群刷满。

对沈知行来说,还有几项约好的事情没做完。

许知夏看了眼时间,已经接近三点。

她把整理好的用户侧记录发给宋严,又告诉沈知行自己要去参加小组讨论,后面无法继续留在现场。

沈知行说好,认真道了谢。

“你标出的几处都很有用。”

“你们愿意改才有用。”她把本子收起来,“不然我只能当那个不断问为什么的人。”

“这个位置以后可能一直需要。”

许知夏抬头看他一眼。

“先把今天的做完,别提前给我安排工作。”

沈知行笑了。

她离开时,没有绕到苏景明旁边特意打招呼,只向大家说了一声,按时去了自己的项目组。

叶婧在线上看到她提交的记录,问沈知行后面是否能单独介绍认识。

“你可以通过学校联系她,她自己决定。”

“当然。”

宋严正在安排复核。

沈知行却让他先保存当前版本,不急着改新的条件。他将今天与基线相比变动了哪些地方,做成一张非常简短的对照。

有几处只是记录方式更清楚,并不直接贡献速度,他也标明了。

陈墨看完,问为什么连这些也要注明。

“免得以后有人把记录改了,以为算法变慢。”

陈墨轻轻点头。

这是一个做过真实交付的人才会持续惦记的麻烦。

罗祺问沈知行,是否愿意让曜芯后续针对特定设备再做更深入的合作。

“愿意谈。现在这组结果不能直接当成你们所有产品都能达到。”

“知道。”

“你们如果有兴趣,先挑一项真正想解决的。”

罗祺把那份资源清单重新拿出来。

这次他没把它当招聘附件,而是按后续项目需要,一项一项与陈墨确认。

何敏站在旁边,忽然觉得昨天食堂里那张薪酬说明好像已经很久以前的事情。

实际上只过去一天。

钱当然仍然有吸引力。

只是现在坐在这里的人都知道,单纯提高一个岗位的工资,未必是让沈知行愿意长期留下的最好方式。

梁岳走到门口,给一个同事拨电话。

第一遍没人接。

他又拨了一次,接通以后先问对方在忙什么。

那边似乎在开会。

梁岳看了一眼机房里的测试屏幕。

“你把能决定试点需求的人一起叫上,找个能看屏幕的地方。”

对方问出了什么问题。

“不是出问题。”

梁岳停了一下,想了一个更准确的说法。

“我们可能有办法,把你们每个月都在解释的那件事解决掉一部分。”

电话那头顿时安静。

周野恰好出来拿打印纸,听到后半句,站在原地等他挂断。

“梁总,还要加人?”

“加一个业务负责人。”

“我得记一下名字。”

“温景。”

周野写好,又问大概多久。

“十分钟,远程。”

“好。”

梁岳看见他把时间和姓名分开记,笑了笑,回机房继续看数据。

周野低头,把原本写着下午预计结束时间的那一栏留白。

他今天终于明白,真正忙起来的时候,谁也不会提前知道这页纸最后要写多满。