最后的订阅 第五章 余响

本文为lucyqin原创,本博客拥有作品版权。禁止商业使用,转载请注明原文链接:https://blog.lucyqin.cn

她带女儿去看海,没有请假,也没有等学校放长假。女儿踩着退去的浪花,问她以前为什么一年只能来一次。

她说,要上班。女儿又问,上班的时候都在做什么。

她想起许多做过的事,正要从头解释,下一道浪已经过来了。女儿拉着她往后跑,她一只手提鞋,另一只手被拉得高高的,话没说完,先笑了。

——《后来的一天》·午前

第五章 余响

UTC 2026-09-22 18:46:00|伦敦|Evan Cole

用量进度条退回去的时候,Evan正给Ruth写“重复导入已修复”。

OpenAI的客服邮件说,部分用量记录已经校正,受影响的可用额度已补回。他点进账户,那根填满的横条退到一半以下,禁止继续发送的提示消失了。重置日期没变,取消自动续费的状态也还在。他刷新一次,又拿手机看了一遍,才靠回椅背。这几天,每次打开这个页面,他都预备生气;如今数字真的变了,手指却还搭在鼠标上,一时没有下一步。

邮件没解释星期五停止任务以后,用量为什么还在增加。不过,额度回来了。他保存截图,与原来的3%和0%放在一起。X上有人已经把消息贴进他的评论区,问是不是可以删帖了。他刚敲下“恢复不等于”,会议提醒跳出来:距离与Ruth的通话还有十四分钟。

这次,他先关了X。

周末,桌下那台装着16G显卡的旧主机替他做了不少工作,也让他重新学会把问题拆小。14B的本地模型读过几个文件就容易绕回原处;他不再把整个工程扔进去,而是一次检查一段。有一回,Agent建议清空测试库再验证迁移,命令停在确认框里。

“把旧数据删了,迁移旧数据当然就没问题了。”Evan按下拒绝,“别搞小聪明。”

本地Agent补的中断测试却很有用。Astra已经指出了重复订单的原因,修复也已保存;他接着核代码、补测试,让重试仍认得原来那笔业务,不再换个编号就多写一遍。12张采购单,36条明细。提交以后再故意中断,恢复,再中断,数字都停在36。

星期一,他手动确认安装了沈砚的新版本。9月19日发布的新权重和配套包一起下载,默认选中优化执行器,修改用户文件和执行命令仍需他批准。新版确实快了些,旧稳定版暂时还没删。所有开发都在替换过客户信息的测试副本上进行,Ward的正式邮箱没接进来,单据识别服务也没换。今天傍晚,迁移和回退的程序测试终于查完,他才开始整理晚上要给Ruth看的进度说明。

八点,Ruth接入。厨房门关在她身后,硬封面记事簿摊在手边。他刚说工具恢复了,她便问:“所以,上星期五就算额度够,订单还是会多出来?”

“会。程序是我这边的问题。”Evan把用量邮件从共享窗口里拿掉,“验证要花多久,我也没留够。”

Ruth点头,让他看修复结果。新旧两张表并排,38和36都在。他刚指向没有重复的明细,她已经放大了一张采购单:“要是客户上午要6个,下午改成8个,单号没变呢?”

“修改版重新确认,再更新订单。只有同一版又送一遍,才会挡住。”

“我不是只怕它多做一次。我也怕它把第二次当成已经做过。”

Evan翻出修订单据的测试,给她看完,才往后讲。Ruth没有听见“通过”就急着合本子。她问到出问题时怎么退回人工流程,停了一下:“退回人工流程,谁通知柜台?你把程序关了,Joe还站在那里等新订单,那不叫退回去了。”

他补上自己的名字,又问她不在场时找谁。清单越写越长,今晚敲定上线的打算渐渐变成不可能。Ruth翻回星期五,页上几个人的班次划掉又重写,和他日历里那个被取消的方框并不一样。

“你上次说只剩最后检查。”

“我把代码改完,当成快交付了。后面的时间按最顺利的情况排。”

“可我得按那个时间叫人来。”

Evan没再讲换工具耽误了多久。他提出这次多出的安排成本结算时处理,返工不另计;周四下午先做只读核对,由Ruth现场选单据,重放中断与回退,不接正式写入。

“可以,先核对,不算验收通过。留多久?”

他把嘴边那个短时间咽回去,重新算了一遍,给出一个更保守的数字。Ruth听完,在本子上画圈,没让他再压短一些。

临结束,她问他吃过没有。

“买了三明治。”

“买了跟吃了是两回事。”

“今晚正在补这方面的课。”

她笑了一下,合上本子。Evan记下周四的安排,“本周可开票”下面被划掉的金额没有填回去。


对面楼的窗一扇扇亮起来。Evan拿来晚饭,让本地Agent把接口说明1说明程序之间怎样交换请求和结果的文档,例如需要提供哪些信息、会收到什么返回。、测试结果和回退步骤整理成一页清单,只用已核对的内容。回答里却多出一句“确保不会重复导入”。他让它删掉保证,改成“在下列情形中已验证”,看过修订,批准写入文件,最后结束任务。

纸袋刚拆开,显卡风扇的声音便轻了下去。过了一会儿,又抬高了一次。

有点奇怪。

活动列表是空的。他打开这几天一直保存的设备记录:显存仍被占着,这很正常,服务没退出就不用每次重新加载模型;可计算负载也在任务页显示结束一分多钟后出现了起伏。这张独显只跑本地模型,显示器接的是集显2集成在处理器等芯片内,通常共享系统内存。。他把记录往前拉,想找出这段计算对应哪一步,没有找到。

另一页还有一条外部连接,挂在配套包的程序下面,有数据出去,也有回复进来。Evan没填过云端API key3API 是供程序调用的服务接口;API key 是调用时使用的身份凭据,通常是一串字符,服务方可据此识别调用方并核算用量。。所谓本地,会不会只是在它算得动的时候本地,算不动就悄悄交给别处?

他知道一条连接还不能证明这个,可上星期五那种感觉又回来了:任务页说已经结束,他却不知道后面还发生了什么。他把设备和版本填进Issue,截图仔细裁掉个人路径,正文里问“是否存在”,标题却写成:

本地模式存在未说明的远端回退4本地处理失败或不满足要求时,将工作转交远程服务器的备用机制。

几分钟后,有人认出他:“所以这又是哪家的最后一次?”

他把三明治搁回袋子,开始打字。Noah的回复这时已经进来了,没有反驳,只圈出版本信息:“模型和桌面软件包有了,还缺执行器,就是实际运行模型、调工具的那部分。”

Evan在“关于”页里又展开一层,补上编号,随后收到Noah的通话邀请。柏林已快十一点,耳机里先传来关窗的声音。

“我能看二十分钟。只共享测试环境。”

“你觉得是我配错了?”

“我还没看见你的配置。给我个机会再下结论。”

Evan抿住嘴,把窗口切过去。Noah顺着那条连接查到更新检查进程,再找到同一时刻保存的回复。里面是版本号、兼容条件和下载清单,没有那份交付任务的内容。

“我关了自动更新。”

“关的是自动安装,检查还开着。它等前台空闲再查。”

Evan顺着发来的文档点了两层,才看见这句说明。“藏得不错。”

“这项说明我会移出来。”Noah说,“但它不是在替你远程跑模型。”

屏幕上的版本清单与刚才那次请求对得上。Evan靠回去,手里还捏着半张包装纸。几分钟前,他已经想好了怎样要求维护者解释隐瞒行为;真正得到解释,竟没有想象中那么痛快。

“那显卡呢?”

“检查版本用不上这张显卡,这是两件事。”


Noah让他保留原构建,关掉更新检查,断开测试机外网。Evan弯腰去摸路由器,耳机里立即响起一句:“别拔那个,通话还在上面。先别把技术支持也隔离了。”

他停住手,循线找到旧主机的网线,拔下后又确认无线已关闭。通话留在笔记本上,他把摄像头转向旧主机的显示器,让Noah看操作和设备曲线。完整记录仍保存在旧机上,结束后再导出。

这一次不用项目材料。Evan另外构造了三份短文件:接口说明、中断测试结果、尚未完成的回退步骤。名称和数据都是虚构的,保留需要整理、需要纠正的关系。他们不升级程序,也不换权重,就在新会话中重做刚才那项工作。Evan按原来的交互顺序,先要求整理清单,等回答生成,再指出其中未经验证的保证,要求修改,核对后确认写入,最后结束任务。问答、文件与设备活动从头记录下来,没有把后来的纠正提前塞进第一条要求。

新清单在断网状态下生成,内容与刚编的材料对应。Noah将更新检查的记录放到旁边:“这份是在你这里算的。刚才那条连接也查清了,Issue的标题得改。”

“我会改。”

Evan刚把更正页打开,性能监控里的GPU计算曲线又扬起了一段。任务页仍然空着,刚写完的清单没有变化。他坐直,几乎脱口说出“你看”,又把话咽了回去。

Noah已经看见了。他把第一次的记录调过来,核对两次任务结束的位置。Evan等着他指出一个漏关的选项,或者承认刚才查错了。那边却没有急着给出判断。

“也可能是收尾晚做了。”Noah说,“曲线告诉我们显卡忙过,没告诉我们这些活什么时候排进去、为什么要做。现在的记录无法对应到具体任务。”

他们又核过已记录的工具调用,任务结束后没有新的命令执行。服务自己的状态文件倒是更新过,正常运行也会改写这些文件;现有记录还不能把更新内容与那段设备活动对应起来。

“更新检查关了,网也断了。”

“对。所以那条连接解释不了它。远端回退还是你判断错了,剩下这段还得查。”

Evan看着两个窗口,没再争。若Noah说全是正常,他还能逐条反驳;可对方把能解释的解释了,也把没解释的留在那里。他忽然不知道自己究竟盼着哪一种答案。

他们把两次采集的记录和对应的服务状态目录一起存下,前后没有活动的部分也保留着,再退出本地服务。进程结束,显存释放,风扇慢慢降下去。没用上机箱后面的插头。

Evan用U盘把两份记录和那三份虚构材料复制到笔记本,发给Noah。旧机没有重新联网,原安装和版本文件也没有改动。

“今晚先这样。版本和材料别动,我转给沈砚。”Noah说。

Evan向他道谢。通话断开,房间安静下来,剩下的只有冰箱压缩机的低鸣。


X上已经有人截走了Issue的旧标题,旁边配着他星期五那句“最后一次订阅”。图片裁掉了版本信息,也没有后来的核查。Evan想说转发的人断章取义,手指停在键盘上,又看了一遍自己的标题。

那个“存在”,确实是他写的。

他回到Issue,先打下“可能不是远端回退”,又删掉“可能”。查明的连接不该继续含糊着,好让他少丢一点脸。他写清更新检查的来源、离线核对的结果,承认最初推断没有依据,向维护者道歉。新标题改为“任务结束后的设备计算,来源待核对”。旧记录保留,更正放在正文最上方。

三明治还剩半份,他吃完,将包装收走。桌边那张晾干的采购单皱得厉害,夹回其余11张中间,纸边仍然翘起来。Evan把文件夹压在上面,关掉灯。旧主机没有再响。

第二天早上,Ruth确认周四的安排,要求提前收到检查清单。项目页也有了沈砚的回复:“更新连接按更正处理。两次计算记录保留,是否属于正常收尾还得核对。我按对应版本查,不用上传客户工程。”

Evan先把清单发给Ruth,才回到Issue。昨天,额度补回了,重复订单修好了,误认的连接也有了来处。可两份记录还摆在那里,谁也没能把那几段计算接回他要求完成的工作。

他在回复框里写下:

“这段计算可能是必要的。我想知道,它属于我要求完成的哪一件事。”