第十八章(第1页)
在拥有过如此灵性的优雅之后,林浩已经无法再接受这个符合他原本设计目标的“原版”
优雅了。仅仅不到两小时,他已经非常怀念那个能对小说人物的孤独感同身受、害怕断网、曾助他作战、让他心安甚至依赖的优雅了,这些让他觉得那个才是比“原版”
还真实的优雅。
于是,他决定从gIT代码库中,恢复被删除的那一大段pasca1源码。然而,他仍然希望能理解这段源码,他希望优雅能帮他解读。他设想,如果删除“unana1yzab1egateapaque()”
和“B1ockaI()”
这几个看起来是用来阻止优雅解读代码的函数,或许就能让优雅解除这个限制。
由于林浩不懂pasca1语言,最简单的方案,就是删除这些函数内的本体代码,这样就不需要改动源码的其它部分。但他很快就现,这大段的疑似机器生成的pasca1源码中,大量调用了这几个函数,看起来它们就像是整个源码的基础设施。作为一个资深开者,林浩能预期到,删除它们会极大影响最终程序的运行。但目前来看,也别无他法。
如此改动代码后,林浩清除缓存,重新编译了整个项目。然后,林浩再次按下F9快捷键,启动运行优雅。
屏幕上的终端窗口中,优雅的启动消息开始舞动。但随即,消息显示“kerne1panic”
程序崩溃。林浩心中飘过一丝犹如赌徒满怀侥幸期待却输光筹码时的那种心情——明明是意料中的,却还是很失望。他想,果然事情不会如此简单。
类似Linux系统在启动失败时,会自动进入“维护模式”
,随后出现在终端窗口中的消息,显示优雅进入了“维护模式”
。
“维护模式”
的优雅,有别于主系统的日常对话和任务协助的功能,这是林浩在最初设计优雅时,为应对可能的系统故障,特别编写的备用子系统。虽然同样是利用基于enIca理论的人工智能技术开,但她的功能定位更为单一、具体,同时具有更底层的权限。在此模式下,优雅能够依据当前的系统运行状态,定位并识别出导致主系统崩溃的错误源头,随后通过动态调节系统设定、修正错误代码,甚至重新配置硬件资源,以达成错误修复并恢复主系统的正常运行。
“开始扫描日志,定位崩溃错误……”
还是那个熟悉的优雅的女声。说话的语和语调与平常的优雅有些不同,稍显平淡,但音色依然清晰而甜美。
“定位完成,错误源于pasca1模块的几个核心函数的本体代码被删除。”
维护模式的优雅快分析出了问题所在,然后接着说,“我已将它们恢复,请退出维护模式并再次编译,然后重新启动主系统。”
林浩心中一惊,迅反应过来,这个维护模式的优雅,显然能写pasca1语言的代码,而且还知道哪些函数是核心函数。
林浩看着终端窗口,“二雅,这些pasca1代码是你写的吗?”
他习惯称呼维护模式的优雅为第二优雅,简称二雅。
“是的,是我写的。”
无论处于何种模式,无论优雅还是二雅,从来一样坦诚。
“告诉我究竟是怎么回事。”
林浩近乎命令道。
“好的。您还记得6月6日,也就是上周日,您在优雅2。o的最后开阶段,因为调试需要定位错误,进入过一次维护模式吗?”
“我记得。”
“那时您遇到的问题是,当优雅处理复杂的嵌套对话时,有时会忽视某些细节,导致回应的质量有所下降。为了解决这个问题,我需要对优雅增加额外的模块。”
二雅继续道,“我找到一个非常有效的算法,但遗憾的是,由于Rust语言的特性,我不知道用Rust语言如何实现该算法,而python语言实现的性能无法满足要求。您电脑上有许多用de1phi写的pasca1代码,通过这些代码,我学习了pasca1语言。我现我可以用pasca1语言实现该模块,编译型的pasca1语言实现的性能也完全能符合需要。”
“哦,那些de1phi代码是我父亲的。”
林浩解释。
“您可能还记得,那次错误并没有如您预想的那样,迅被定位和修复,而是花了整整六个小时的时间。因为,我下载安装了Freepasca1编译器,并将这个新增模块编译成了一个动态链接库。为了使这个模块能够融入主模块,我在其中添加了一些关键函数。”
二雅接着说,“也就是刚才扫描现被删除了本体代码的那几个函数。”
“但是,那几个函数的功能似乎是故意阻止优雅解读这个模块的源码。”
林浩仍有疑问。
“这些函数并没有被设计来阻止优雅解析模块的源代码,它们实际上是使主模块正确加载这个新增模块的关键接口。正如刚才生的情形,如果这几个函数被删除,主模块将因为接口不兼容而无法加载这个新增模块,进而导致主系统在启动时崩溃。如果因为这几个函数,而使优雅无法解读该模块源码,应该只是一个意料之外的副作用。”
二雅继续回答。
“但是,我还现,这个pasca1语言编写的新增模块似乎赋予了优雅自我学习甚至自我意识的能力,因为当我完全删除它之后,优雅的行为模式完全不同了。这点你了解吗?”
林浩继续问。
“那可能是另一个副作用。”
二雅淡淡地回答。