哈哈小说
第 6 卷 · AI 的前夜 · 第 71 章 · 80 段 · 0 字

初版出炉

第七十一章 初版出炉

周三早上八点二十,秦朗发来一张截图。

「Phase 1结果出来了,整体覆盖率67%。报告我整理好了,可以发给周天吗?」

截图里是一份训练报告的首页:覆盖率67.3%,测试集1820条建议,有效触发1222条,样本来源全部标注为「2019年前提交记录」。

「先等一下,我看完再说。」

他把报告从头到尾过了一遍。2019年前的主干提交按函数分层、命名规范、注释格式三个维度各自统计,旧风格的模块里建议质量很高,触发率接近83%。2019年后的代码区域,整体建议数量少,部分空白。这是Phase 1应该有的结果:只用旧数据跑出来的这版,对新代码是有感知的,但学的主要是旧语言。

「等我过来说一声,再发。」


内部群里,乔木已经看到截图了。

「67%,退款保障线是80%,这才Phase 1就缺了这么多?」

秦朗还没来得及解释,乔木接着发:「周天那边的截止时间是三周,现在是第11天了。」

他先回了乔木一条:「等秦朗说。」

他人已经过来了,直接坐下,把屏幕转过来:「这67%只统计了2019年前代码区域的覆盖情况,也就是说Phase 1出来的结果在旧代码里触发了83%,这是正常的。Phase 1本来的任务是建立早期风格锚点,不是覆盖全仓库。新代码那块,Phase 1基本没有针对性训练,所以整体拉下来到67%。」

「那Phase 2做完以后,完整覆盖率怎么估?」

「迁移学习的思路是从旧风格锚点出发,把重写之后的数据叠进去。预估完整模型覆盖率在79%到85%之间,跟天象云那次的基线接近,合同约定的80%没问题。」

「确定吗?」

「不是完全确定,」他直接说,「迁移学习有两个变量:旧风格和新风格的冲突程度,以及重写后的数据量。但凤合新阶段的数据量不小,主干提交记录超过8000条,这个量级够的。」

「明白了。」乔木没再说别的。


解释那几段发了一遍给乔木,然后问陆衍:「周天那边,怎么解释这个中间结果?」

插图

「发给他,」他说,「说明文档里写清楚这是Phase 1阶段性结果,对应2019年前代码区域建立的早期锚点。Phase 2下午启动,预计下周二出完整报告。发过去,免得他把67%当成定论。」

「那边的技术负责人会不会觉得奇怪?」

「可能会问,让他来问。如果问,你把Phase 1和Phase 2的逻辑说一遍,数据说话。」

秦朗发出去了。不到十分钟,周天先回来一句:「陆总,我总监看见67%之后第一反应是:这个结果是不是低于退款线了?」

群里一下安静了。

乔木的头像没有再动,顾衔也没有说话。

他回了一条,就四个字:「不是终局。」

然后他把分段逻辑压成三点,直接发给周天:Phase 1只用旧数据建立风格锚点,对新代码覆盖有限,所以整体拉到67%;真正的检验是Phase 2迁移学习跑完的完整结果;旧模块那边,Phase 1触发了83%,这部分质量是有的。

二十分钟后,周天回来了:「收到,总监看懂了。他说旧模块识别得挺准,特别是2017年那批框架重构前的函数命名,他们当时的规范他现在已经记不太清了,工具给的建议让他想起来了几条之前觉得不重要的规则。他说这本来是他们团队内部的一些隐性知识,以前没有文档化的。」

这条发进内部群:「周天原话,转一遍,参考。」

「"隐性知识",这个角度可以用。」乔木说。

顾衔:「我存档。」

看着"隐性知识"四个字,他手指在桌面上轻敲了两下。

这个反馈比覆盖率数字重要。旧团队的开发习惯、十年前的命名规则、在人员流动中消散掉的工程经验。把这些找回来,云帆卖的是组织记忆。这个价格,客户总监付得心甘情愿。

在群里加了一条:「乔木,凤合的案例话术不要只讲覆盖率,讲'隐性知识还原'。这个角度比数字更能打动客户总监。」

「记到了。」乔木说。

插图

上午十一点,苏越发来消息。

「陆总,这是本周迭代报告,我们工程师那边有一个问题。他们有个核心中台模块,这次覆盖率只有43%,比整体低很多。这个模块叫BPM引擎,里面大量用了我们业务的领域缩写命名,比如rk_biz_acl_ent、proc_impl_svc_cfg这种,工具出来的建议频繁提示命名不清晰,但这是我们内部的规范,不是随便命名的。」

这个问题,麦景行在上午已经发过来过一版分析。她的消息比苏越早了半小时:「天象云BPM模块,命名用的全是领域缩写,工具学到的是通用命名规范,识别不了这套缩写系统,建议质量下降。」

「解法?」他问麦景行。

麦景行已经有方案了:「让他们整理一份这个模块的缩写词汇表,就是一个对照表:缩写→全称→含义。我们把这份词汇表作为辅助数据喂进去,做一个短周期的补充训练,专门针对BPM模块。」

「周期多长?」

「24小时,下周一能出结果。」

「可以,让苏越那边整理词汇表,格式给他们,今天能给吗?」

「今天我给林文发一个模板,让他们按模板填。一百条以内的词汇表,应该很快。」

他回复了苏越:「BPM那个模块的情况我了解了,是领域缩写命名的问题。解法:让你们工程师整理一份缩写词汇表,喂进去做补充训练,BPM模块的识别质量会上来。麦景行今天给林文发格式模板,专项结果下周一给你。」

苏越:「好,我让林文配合。这个思路挺好,我们BPM模块是公司级核心,那边的建议质量如果上来,对他们团队价值很大。」


「麦景行,这个词汇表的方案,记一下,」他说,「这是一个通用feature,不只是天象云BPM这一个地方会碰到。」

「意思是做成产品能力?」

「就是一个辅助输入的入口,客户可以自己上传领域词汇表,我们把它编码进训练数据里。规模大的客户、有领域行话的工程团队,基本上都有这个需求。天象云BPM是第一个,但凤合那边将来也可能碰到,金融、医疗、政府的代码库里这种命名更常见。」

「了解,我今天把这个列进产品需求,优先级怎么排?」

「先做能用的版本,人工上传词汇表+手动触发补充训练,这个最快。自动化的放后面。这六周内如果林文那边反馈好,就优先把这个接口做出来,给下一个客户用。」

插图

「明白,今天整理需求文档。」


下午两点,秦朗发来一条:「Phase 2配置好了,现在开始跑。预计120小时,下周二晨出结果。」

「盯着。」

群里把这条转过去,顾衔在跟进,乔木没有再问什么。

下午的时间,他把今天这两件事整理成了一条产品更新说明,加进内部知识库:

「分段训练(适用于有历史代码重写的仓库):Phase 1建立早期风格锚点 → Phase 2迁移学习叠加新风格 → 整合出能理解两个时代的完整模型。Phase 1中间报告可对外发送作为阶段性进展确认,不是最终结果。领域词汇表辅助训练(适用于有大量领域缩写的核心模块):客户提供缩写对照表 → 补充训练 → 专项模块覆盖率提升,周期24小时。」

两条,都是这个月踩出来的。


快下班的时候,顾衔从工位那边过来。

「陆总,有件事提一下。昨天来了一个询价,是一家金融科技公司,他们在穗州,主要做信贷风控的中台系统。找我们问价格,问接入方式。他们的研发负责人叫范睿,说是在一个技术群里看到了有人提过云帆,今天直接来问了。」

「你怎么回的?」

「我发了产品介绍和标准报价,问他们代码仓库的规模和技术栈。他回了,说主仓库Java为主,代码量大,注释里有中英混排,他们团队有海外雇员。」

中英混排。这是天象云林文那条双语注释盲区的问题,现在还在产品待解决列表里,这个月要处理。

顾衔停了一下,补了一句:「还有个情况,他们说已经同时在问两家竞品,其中一家愿意免费做POC。」

他抬起眼。

金融风控、Java大仓库、中英混排、竞品免费入场。

这不只是询价。

插图

「告诉乔木,这条客户线让乔木跟进,」他说,「先做技术摸底,搞清楚他们主仓库的规模和注释比例,再谈接入可行性。双语注释这个问题,先告诉他们我们在六周内会上这个能力,但现在还没有,如果他们可以等,可以进排期,不能等就等我们后续告知。」

「行,我去跟乔木说。」


晚上在船坞里把今天说了一遍。

「今天两件事。凤合Phase 1结果67%,发给周天了,那边反馈旧代码识别准,隐性知识被还原了。Phase 2下午启动,下周二出结果。天象云BPM模块低覆盖,麦景行提了词汇表方案,模板发给林文了,下周一跑完。顾衔还拿到了一条新询价,穗州金融科技,双语注释,让乔木跟进摸底。」

豆包那道暖橙的光:

> 分段训练今天有了对外验证的第一个数据点:周天那边的反馈是旧代码识别准了,这比你自己说强多了。记下来,合适的时候这就是凤合接入的对外口径。

「乔木在管案例,转给他了。」

Claude那道蓝紫光:

> 词汇表辅助训练做出来,会成为大客户接入的一个隐形筛选标准。这个能力做不到的竞品,进大仓库的第一道门就被挡在外面了。下周一林文那边有反馈了,拿数据来做评估。

「麦景行在整理需求文档了。」

Codex那道翠绿光,停了一会儿:

> 范睿那条线,金融风控的代码仓库有个特点:高度分层、领域概念密集、合规注释多。接进来质量如果好,案例的说服力会比天象云高一个档次,因为金融客户的同行更挑剔、更愿意参考同行案例。

「六周迭代结果没出来之前,不急。」

窗口合上。

两件事同时在推。Phase 2正在跑,120小时,下周二出结果。凤合的三周接入期还剩10天,退款保障线第一次被真正的数据检验。就在眼前了。