哈哈小说
第 6 卷 · AI 的前夜 · 第 99 章 · 41 段 · 1636 字

接入

第九十九章 接入

周三上午,在泉华科技的合规会议室,签字、盖章,合同一式两份。

方晓晨全程没有讲废话,二十分钟走完流程。陆衍和乔木出来,站在泉华大厅里,乔木说了一句:「比星汇云轻松。」

「星汇云第一次进来,项目还是个问题,来这里是因为信任。」

「那结果最好不要让他失去信任。」

「不会。」


VPN 和跳板机配置,麦景行一个人做了一天。

周四中午,他发来一条:「账号配好了,我能进跳板机了,日志实时在同步,泉华那边可以看到。」

「测一下读写。」

「测了,正常。五个模块的代码权限,他们那边下午开给我,明天正式看第一批。」

插图

「行。」


周五上午九点,麦景行发来第一份截图。

是第一个模块,工控类,标签是「Generation 1」。

陆衍打开看了一眼,没有继续向下滑。

截图里的代码是 C 语言,1994 年写的。文件头只有三行注释,两行是版权信息,一行是「修改前请确认设备状态」,然后是函数。第一个函数名是 `proc_spv_h`,七十八行,没有注释,里面全是宏调用,`RD_HLD` 和 `PROC_UV_HLD` 这类名字,一个宏套着另一个,深度到第三层。

二十九年前的黑箱,叫做代码。工控设备的注释写错一个保持条件,维护人员看到的是有注释的黑箱,比没有注释更危险。

「proc_spv_h 你知道这是干什么的吗?」他给麦景行发了一条。

「应该是某种状态控制,得展开了再看,展开可能会跳到其他十几个文件。」

插图

「每个模块大概有多少这样的函数?」

「这个模块一共 2200 行,我数了一下大函数,差不多十二个,都是这个格式。」


他把这几个缩写在脑子里过了一遍。SPV 是 supervisory,HLD 是 hold,UV 是 under-voltage。这是欠压保持逻辑,处理电压跌落时设备保持状态的那部分。九十年代工控行业的命名习惯。他打开船坞,把这段代码手打了进去,主要是想确认方向。

Claude 的分析和他判断的一致:

> 推测 `proc_spv_h` 在处理欠压状态下的保持逻辑(spv=supervisory,HLD=hold,UV=under-voltage)。单看函数体推断正确率约 60-70%,需要宏展开后再做语义分析,确认保持条件的具体触发路径。

方向是对的。他给麦景行发了一条:「proc_spv_h 是欠压保持逻辑,方向可以确认,但宏套三层,展开之后才能写注释。G1 类的有几个模块?」

麦景行:「五个里面两个是 G1 类。另外两个是 G2(Java 类),一个是 G3(Python 类)。」

「G1 的注释要先做宏展开,这会多一道步骤。原本估的六周,G1 两个模块可能要占三周。」

插图

「那五个模块的总周期要延,还是说这个结论直接写进评估报告?」


他没有立刻回复。

六周是他给方晓晨的时间窗口,合同里写的验收节点。如果现在改排期,要跟方晓晨沟通,可行性合同本身也要处理。

问题在 G1 模块的实际情况:谈合同时没有看到代码,只知道「C 语言,九十年代写的」,宏调用层叠到第三层是测算误差,对方没有隐瞒。

他打开船坞,把这个情况说了一遍。

豆包:

> 可行性报告本来就是为了暴露这类问题的。宏展开这个步骤超出原始估计,写进报告比改排期更诚实,也给双方一个基于实际情况重新决定的机会。如果后续要签生产合同,这个时间成本总是要算进去的,不如提前确认。

他给麦景行回了一条:「G1 的宏展开步骤写进可行性报告,作为评估的一部分。排期不改,结论部分把 G1 模块的实际处理路径和时间测算一起附上,让方晓晨判断。」

插图

「好,那我先把展开工具跑起来,G1 两个模块先处理,结果出来再说注释。」

「行。」

窗外是周五下午。麦景行下午四点又发来一条:

「展开跑完了 proc_spv_h,有一行我看不懂,发截图给你。」

截图里,展开后的代码中间有一行:

`EVT_OVERRIDE = EVT_BYPASS_CRITICAL;`

没有注释没有条件,就是一行赋值。EVT_BYPASS_CRITICAL。跳过关键告警处理。某个执行路径下,这系统会绕过关键事件。

他看着这行代码,给麦景行发了一条:「把触发这行代码的路径找出来。」