跳转至

Tech

别慌,人工智能还考不进师大二附中

人工智能的安全焦虑与现实

我中学母校是师大二附中。在ChatGPT刚开始火爆的那一阵,老师邀请我回去给学弟学妹讲人工智能。当时正值《减轻人工智能带来的人类灭绝风险》公开信发布之际,媒体正在疯狂炒作“人工智能”的安全问题,而同学们最关心的问题大多也围绕这个点:

  • “人工智能时代,社会真的只需要精英吗?”
  • “人工智能完成的论文是否具有学术价值?”
  • “人工智能是否有可能或者已经通过‘图灵测试’?”
  • ……

从这些问题可以看出大家仿佛担忧《终结者》中的天网时代就要开启,人类与机器的大战即将到来。我笑道:“别慌,你们都是目标清华北大的尖子生,人工智能现在的实际能力还远达不到你们小学到初中升学考试的水平,它截至目前的最大进步是说出的话比以前语法更流畅,不那么答非所问甚至狗屁不通。”我不是瞎说,因为它的实际认知能力不如幼儿园,推理不如小学生。

逻辑不如小学生

师大二附中当年是国有民办学校,所以有完全自主招生权,因此想入学必须经过一个能力测试。别的试题我都记不清了,唯独一道分值很高的推理题的题型让我印象深刻——多条件逻辑推理。它广为流传的一个复杂版本是“爱因斯坦谜题”,总共有5个变量和15个条件。下面是一个3个变量和4个条件版本的谜题:

新学期开始了,班里换了新的老师,她们是林老师、王老师和吴老师。三位老师分别教语文、数学、英语课。已知: (1)每个老师只教一门课; (2)林老师上课全用汉语; (3)英语老师是一个学生的哥哥; (4)吴老师是一位女教师,她比数学老师活泼。 问:三位老师各上什么课?

就是这么一道大多数人通过画表格就能轻松解决的小学推理题能够难住当下所有流行的大语言模型,没有例外。这暴露了它们的共同的局限性——不具备小学水平的逻辑思考能力。尽管“思维链技术”展现的“思维过程”让他们看上去像是在推理,实际上只是在说语法通顺而逻辑混乱的胡话。招生老师看到这样的试卷的结论一定是“不懂装懂、瞎糊弄,给0分”,因而录取的结果自然不会很好。

误解的来源——鸭子测试

“人工智能危机”是一个很时髦的话题,我当然不是否认近几年大语言模型为代表的人工智能技术取得了长足的进步,但是现在媒体尤其是自媒体的渲染有点过了头——里面甚至掺杂了不少由于缺乏了解造成的想象。这种误解来源于人们认知中的一个常见假设:“如果它看起来像鸭子、游泳像鸭子、叫声像鸭子,那么它可能就是只鸭子”——这也是谈笑风生的美国记者华莱士提到过的“鸭子测试”。

然而,“可能是鸭子”的鸭子未必是真鸭子,因为这取决于测试的方式和比较的维度——能在100米外通过“鸭子测试”的仿真玩具100元人民币能买好多只,只是用来煮汤的时候真假鸭子的差距可就显而易见了。现在的新闻标题里不难看到“X模型在Y任务中超过了Z”之类的惊悚标题,仿佛计算机已经学会了如人类一样思考,律师、医生、程序员等一系列专业人士立马就要失业。实际上,这种测试很容易陷入类似于拿计算器跟数学教授比速算的片面比较,从而得出前者数学水平高过后者的荒谬结论。

智能的标准——图灵测试

那什么样的评价标准能够比较全面地评判人工智能的水准呢?很遗憾,在搞清楚智能是怎么产生并且给它准确定义之前,很难有一个公认的标准,不过者并不妨碍人们尝试去定义它:“图灵测试”便是其中最负盛名者。

图灵测试其实和鸭子测试有点相似,可以概括为:如果计算机能像人一样交流,那么它可能具备了人一样的智能。换句话说,如果一个机器能够伪装成人与人类进行足够长时间的沟通而不被发觉,那么这个机器就通过了测试。

然而图灵测试虽然具有可操作性,其描述却比较模糊,实际的效果千差万别,因为不同的测试者的能力会有显著的差异。比如前一段时间“真假靳东”诈骗中老年妇女的新闻就闹得沸沸扬扬——这种对大多数人看一眼就知道是人工智能生成的假的视频缺依然蒙住了很多人。实际上,某些最新的论文研究表明GPT-4的图灵测试通过率已经达到了54%,这是一个乍一看非常惊人的数字。实际上,对于了解人工智能原理的测试者,当前最先进的模型的通过图灵测试的概率可以说无限接近于0。

从本质上说,我们比较两个事物是否“相同”靠的是它们是否存在某些关键性的“不同”。图灵测试就是通过给被测试者一个语言的输入,观察它的输出,然后判断这个输出是否与“常人”保持一致。因此,一种有效的测试方式是测试者用语言为测试对象描绘一个基于自己认知和广泛共识的“虚拟世界”并一同在这个世界中进行“探索”。最后测试者根据测试对象在探索结果的描述中找与自己想法不一样的地方——这些异同往往就是区分智能与非智能的强烈信号。

例如,我们可以假想自己在一个二维平面上,用轨迹画一个字母A:

我的初始座标位置(100, 100), 现在依次走到 (102, 104), (104, 100), (103, 102), (101, 102),我走出来的轨迹是个什么字母?

alt text

显然,对于这样难度的问题,哪怕是喝了酒的醉汉也说不出ChatGPT这样的胡话:

画出这条轨迹,我们发现它形似英文字母 "N": - 先上升到高点(第一步), - 再斜向下降到底部(第二步), - 然后中间折回(第三步), - 最后走到左侧(第四步)。

所以,你走出的轨迹像字母 "N"!

智能的假象——鹦鹉学舌

然而,“图灵测试”也不乏质疑之声,其中最著名的莫过于“中文房间”思想实验:

一个对中文一窍不通,只说英语的人关在一间只有一个开口的封闭房间中。房间里有一本用英文写成的手册,指示该如何处理收到的中文讯息及如何以中文相应地回复。房外的人不断向房间内递进用中文写成的问题。房内的人便按照手册的说明,寻找合适的指示,将相应的中文字符组合成对问题的解答,并将答案递出房间。尽管房里的人可以以假乱真,让房外的人以为他说中文,但事实上他根本不懂中文。

这个思想实验有一个更地道的中文表述:“学舌的鹦鹉不会讲话。”只不过大语言模型比鹦鹉“学”得更多罢了。

那么凭什么证明当下的人工智能不过是学舌呢?如下两个测试可以说明这一点:

alt text

这两个问题交给当下流行的大语言模型,结论一律都是“一样大”、“一样长”,当你质疑的时候还会说:“不信你拿尺子量一量”。可见,大语言模型的认知水平和鹦鹉没有本质区别,远不如幼儿园的小朋友。

那为什么会出现这种情况呢?原因在于大语言模型的原理——它可以近似理解为通过分析大量的文本得到的统计数据,根据对话的上下文去推测蹦出下一个词的可能选项以及各自的概率。

举个简单的例子,在对话中一旦出现“我爱”,它就会权衡——是接“你”呢,还是“他”再加个“妈”?又或者来点狗血,直接接“但”?最后选择哪一个,很大程度上取决于训练模型的素材中金庸、琼瑶韩剧哪一个比重更大一点。

上面两个图是从两个著名的视觉错觉图《米勒-莱尔错觉》与《艾宾浩斯错觉》修改而来的:

alt text

这两个图里,橙色的圆圈是真的一样大的,两个线段也是真的一样长的。这两个错觉过于出名,所以“一样”的结论跟这两张图在用于训练模型的各种资料中一起出现的概率远远高于其它的答案,因而看到高度相似的图片大模型坚定地输出“一样大”,却并不真正具备对于“大”的概念认知。这几个测试或许能够被聪明的工程师们经过特殊处理后得到正确的结果,就像不会做两位数乘法的ChatGPT现在会直接调用代码进行计算那样——然而这些工程上修修补补并不能从本质上提升当下人工智能的水平。

到底怎么看当下的人工智能?

就我个人而言,相比于把它看作一个“智能体”,把当下的大语言模型看作一个新时代的搜索引擎更合适——它压缩了世界上各种语言里几乎所有高质量的材料,并廉价甚至免费地通过一种交互的方式开放给全人类,这无疑是某种形式的“知识共产”。但是,这种压缩并不是原汁原味的,大模型本身并不能够像人一样理性地去解读文本,它可能会丢失原文的准确性然后一本正经地胡说八道。因此,在大语言模型逐渐普及的时代,除了使用它的能力之外,理性思辨的能力变得愈发重要。

同样,正是由于其并不具备人的逻辑和认知,我暂时不太接受将驾驶权完全交给汽车——或许从统计学上说自动驾驶的事故率已经低于人类司机的平均水平,但是一旦它犯我绝不会犯的错误导致严重的后果我是无法接受的。

至于被人工智能取代?从技术的角度上说,等它真正上了幼儿园再去担心也不迟——更何况,汽车出现之后,就算马车夫的岗位没了,还可以去当司机嘛。

附录:ChatGPT的“逻辑推理”过程

我们根据题目信息逐步推理三位老师各教什么课:

  1. 设定变量

    • 三位老师是:林老师、王老师、吴老师。
    • 他们分别教授语文、数学和英语。
  2. 利用条件进行推理

  3. 条件(2):林老师上课全用汉语。

    • 这意味着林老师不能教英语(英语课不可能全用汉语讲)。
  4. 条件(3):英语老师是一个学生的哥哥。
    • 说明英语老师是男性。
  5. 条件(4):吴老师是一位女教师。

    • 结合上面的信息,英语老师不可能是吴老师,因此英语老师只能是王老师。
    • 得出:王老师教英语。
    • 由于每个老师只教一门课,剩下的科目分配是:
  6. 林老师不能教英语(条件2),而王老师已经教英语了,所以林老师只能教语文。剩下的吴老师只能教数学。

  7. 验证条件(4):吴老师比数学老师活泼

  8. 这里的“比数学老师活泼”说明吴老师不是数学老师,而这个条件和推理出的吴老师教数学相矛盾。因此,我们需要调整推理。

  9. 调整推理:

    • 林老师教语文(由条件2推出)
    • 王老师不能教数学(否则吴老师比数学老师活泼的条件矛盾),所以王老师教数学。
    • 吴老师教英语(符合英语老师是男性的条件,可能是翻译教学或者其他形式)。
  10. 最终答案:

  11. 林老师教语文
  12. 王老师教数学
  13. 吴老师教英语

如果辩论不是为了输赢,那还有什么意义?

“我们并不认知事物本身,而只认知事物通过我们的感官和理性所显现的样子。”

—— 康德《纯粹理性批判》

引子

因为几个“舞女”辩论,我的友谊险些翻船,爱情差点破产。

事情是这样的,我是个程序员,每当遇到和别人对某件事情意见不一致的情况,我就会像调试代码一样用对方能够理解的语言梳理问题的结构和我推断出结果的逻辑。在工作环境里,同事大多是理科生,因此这个方法无往不利,分歧基本上最后都能理性地解决。

我跟媳妇的沟通大部分情况也是如此。理想情况下,她会提出质疑,我不停解释,直到她被我说服从而达成一致——这其实就是一个辩论的过程。

这个方法在重大决策,比如涉及到买车、买房和投资策略的时候非常奏效,我们最后往往能够达成一致。但是偶尔我也会遭遇重大挫折,比如“内裤和袜子能不能一起洗”的问题——当我自信满满地完成论证之后,她只白了一眼:“你说的很有道理,但是我今天不想跟你说话!”用她的话说,“我只想跟你表达一个观点,你却总想教会我什么。你们男人就是这样爱说教!”这种情况下,虽然心里不服,我也只能以“听你的,别生气啦!”息事宁人,夹尾求饶。媳妇也都能很快消气,我们俩和好如初。

然而,“退一步海阔天空”并没有从根本上解决问题。在若干个不同场合的涉及性别平等议题的讨论中,我或者像我一样的“中年油腻男”们在唇枪舌剑的辩论中将“对方辩友”惹恼、甚至不欢而散之后,我开始认真反思如下问题:

  • 都说“真理越辩越明”,为什么一触碰到涉及性别的话题双方就难以辨明是非了呢?
  • 为什么本来温和的理科生之间的讨论会擦出怒火呢?
  • 理性解决分歧的唯一方式是通过辩论让一方将另一方说服吗?
  • 辩论如果最后不能分出输赢,是不是除了带来怒火之外没有提供任何价值呢?

于是我和媳妇对争议最大的几个话题进行了复盘,其中最有意思的一个辩论是发生在我和我的本科同学之间。当时我们由于对最近的两个体操世界冠军就直播跳舞一事在微博引发的风波态度截然不同而引发激辩。我们对这件事的理解差异之大,导致我们甚至不能够在如何描述这件事情上达成一致——

  • 我:退役运动员生活惨淡直播跳舞却遭道德批判与不公封禁
  • 她:前世界冠军自甘堕落跳擦边舞蹈举止轻佻封号实属活该

因此这种讨论一开始就剑拔弩张、针锋相对,甚至带上了一点情绪。看罢我们的讨论,媳妇大呼过瘾,说终于有人给她出了一口气——先前我们因为某个韩国女团有恋童癖嫌疑的出道专辑是否应该“封杀”产生过类似的争论,但是媳妇辩不过我。

幸运的是,这个讨论并没有停留于肤浅的人身攻击和性别对立层面。尽管我们最后都没有能够在支持和反对的立场上说服对方,讨论让我们从更高的层次认识了问题和分歧,而不在拘泥于原本立场的对错本身——这就是辩论应该带来的意义。

超越立场的对错

大部分人对辩论的了解主要来源于学生时期的“辩论赛”——正反双方就某个话题唇枪舌战。而其中最负盛名者莫过于当年的国际大专辩论赛,其经典战役《狮城舌战》参与者之后几十年的个人成就更是为其蒙上了传奇色彩。只可惜现如今辩论赛日渐式微,尽管几年前辩论综艺《奇葩说》一度爆火,却也不过昙花一现。

造成这种现象的原因是多方面的,但其中很重要的一点是:比赛要决出输赢的特性很容易让人把注意力都集中在打败对手——这个过程中辩论者受到辩论形式、时间、受众接受能力的限制,甚至还有收视率的的压力,往往会采取不合逻辑的诡辩、诉诸道德与情感等“技巧”,而没有深入挖掘问题的层次、分歧的根本或是去调和二者的矛盾,从而陷入鸡同鸭讲或者同义反复的低层次乏味讨论,实在是捡了芝麻、丢了西瓜,而日常的辩论更是容易陷入这种局面,甚至进一步引发人身攻击。

那怎么样算是超越立场的对与错呢?举一个简单的例子,下面这个动图叫做《旋转的舞女》:如果从头顶往下看,这个舞女应该是顺时针旋转还是逆时针旋转?

旋转的舞女

没有见过这个图的人大概率会觉得答案是显而易见的,得出结论就像在呼吸一样自然,直到发现有人的选择跟自己不一样。如果这是一个互联网讨论,事情大致会演变为双方各执一词,纷纷找来自己的支持者,吵得不可开交,甚至互相嘲讽——“蓝黑白金裙之争”便是一个例子。

而与旋转方向的讨论相比,一个更有意义的问题是:这个舞女抬的是哪条腿?这个提问跳出了讨论影子这个表象,开始探究造成这个影子的那个实质到底应该长什么样。如果更进一步探寻的话,人又为什么会看到不一样的旋转方向?

实际上,这个舞女的画面可以看作是一束光在穿过一个运动的三维模特后投射在其后方屏幕上的影子。由于所有关于“远近”的深度细节都已丧失了(例如,在某一时刻朝向我们的到底是胸还是背),所以旋转方向是不可判定的——两个镜像的三维模型以相反的方向运动可以得到完全一样的投影。下面的关公像及其影子能够很清晰的说明这一点: 关公

而人之所以会看到不一样的旋转方向,是因为潜意识中预设了雕像的样子,通过主观想象充实了模特是抬左腿或抬右腿这些细节,从而“推理”出雕塑的旋转方向,却对下意识中忽略的另一种可能性浑然不知。

如果把这个关公像的例子对应到放在每一个有争议的话题上面,那么

  • 是我们接受信息的来源
  • 影子是我们理解的话题题面
  • 抬哪条腿的假设来源于我们下意识的主观选择
  • 旋转方向是我们脑中快速推理出来的立场
  • 雕像之一是我们以为的“真相”

这个得出“真相”的过程是如此的自然,以至于我们毫不怀疑,甚至也不容他人质疑。然而,正如我们看到的这样,“事实”不止这一种可能性——如果进一步打破“雕像一直沿着一个方向旋转”和“雕像不可以突变”的潜在假设,可能性可以是无穷多的。

这个问题正是苏格拉底《洞穴寓言》的又一个诠释,是一代代哲学家们思考的终极问题之一,也是电影《黑客帝国》探索的主题——什么是真实的存在,如何透过感官的蒙蔽去追寻真相。

洞穴寓言

方法只有一个——理性思考。

正是在理性的逻辑的指引下不停地对矛原本盾的两个观点展开追问,我们才可以找到分歧的根源,从而接近真实的本体。如这个例子中那样,引导我们跳出原本“旋转方向”的争论的,正是那个“抬哪条腿”的疑问——它是我们发现了双方判断差异根源的线索,我们顺着它抬升了讨论的层次,从而得以借助理性找到了调和矛盾的新理论,刷新认知。物理学上这样的事情一次又一次地发生:光的波动性和粒子性矛盾由波粒二象性调和、电场和磁场借由麦克斯韦方程组统一、光速不变与经典力学相对性原理在相对论中和谐……世界的真相并不总是一开始就出现在我们的选项里,哪怕已有的二元选择似乎已经涵盖了逻辑上所有的可能性。

求同存异

说完了“旋转的舞女”,再说“擦边的舞女”。

“求同”的过程是艰难的,因为它除了需要大量的思考之外,还对参与者的表达有两个最基本的要求:

  • 能够清晰地表达观点
  • 可以遵循逻辑地论证

更何况,很多时候求同是不可能的——孔子路上遇到《两小儿辩日》,在当时的科学认知水平下,他们是不可能超越早晨或者中午两个选项去接近“哪个时候太阳离我们更近”的正确结论的。

但是,“求同”所求的“同”并非只有结论的一致,还有论证过程中局部认知的一致——彼此的这种认同越多,需要包容的“异”也就越少,接受对方迥异的选择也就更容易。

就这场“舞女风波”,我和同学在朋友圈展开了一天一夜的辩论,发表了几十条意见,大致总结下来的主要论证逻辑是:

  • 我:封禁她违反了“私权法无禁止即可为”和“公权法无授权即禁止”的法律原则,而舆论审判也损害了程序正义。
  • 她:前国家队员世界冠军沦为“擦边舞女”讨好男性,树立错误榜样,损害社会风气、导致女运动员甚至未成年人受到骚扰,而舆论纠偏保证了结果正义。

而后我们对“既有的身份是否应该导致更高到的标准”、“公权力是否参与”、“封禁是否应该有明确的标准”、“舆论作用的界限”、“舞蹈是否是造成社会风气的败坏于女性受到骚扰的原因”等一系列话题进行了详细的论述。虽然依然没有能够说服对方,但是在整个讨论的过程中我们梳理了对方和自身的逻辑,发现造成结论差异的原因并非源自截然相反的价值取向。

在这个话题中,“支持封禁”与“不支持封禁”是一个非此即彼的选择,就如“旋转舞女”的运动方向一样,然而背后支撑我们推理逻辑的价值选择却不是截然相反的:如果说封禁是对法制原则的破坏,不封禁是对女性特别是未成年女性权益的损害,那么就损害程度而言,我认为应该舍女性权益而保护法制的价值,她则反之。但是,这并不意味着我反对保护女性权益而她舍弃法制的价值,只是由于两人基于自身经历得到两种价值的重要性排序稍有不同——显然,我作为性别议题理论上的利益既得者,我对于追求性别平等的迫切性自然不如她高。从两个充满冲突的问题描述,聚焦到一个价值的排序而非取舍的问题,这本身就是一种趋同。

于是,我们只需要包容彼此价值排序中这个微小的差异罢了。实际上,存在这种价值排序的差异是好事,因为社会的全方面进步正是需要不同的人去推动,很多社会的改变都是由个人或团体从切身利益出发去推动的——如近年来高层住宅加装电梯的政策与落实、校车服务的推广覆盖,等等。

而我们之所以在辩论中容易带有情绪,有一部分是由于不理解对方完整观点而产生的误解:误以为对方否定结论的行为源自于他们对我们整个逻辑链条大部分环节的否定——而这其中往往牵涉到我们的习以为常、万分坚信的东西,包括常识和价值观。这是我们信念中最敏感的部分,因而会立即激起心理乃至生理上最激烈的反抗。

由此可见,耐心地倾听是多么的重要,然而这不是一件轻松的事。逻辑思考跟数学证明的本质是一样的,它有门槛,也十分消耗脑力。数学证明能力不是每一个人都具备,而数学考试结束后的那种疲惫感应该让大部分人印象深刻。因此,事无巨细刨根问底大概是行不通的,有些情况下“差不多主义”有可能反而是更好的选择。

正确地辩论

正如本文中所展现的那样,辩论并不只有辩论赛一种形式,它也可以是庄子《濠梁之辩》那样的一问一答,还可以是苏格拉底《申辩》那样的慷慨陈词,甚至可以是在线协作文档上的论证报告。

知乎有一个热度比较高的讨论叫做《你为什么讨厌辩论赛》。高票的几个答案总结下来只有一个原因——水平低:裁判水平低,选手水平低,观众水平也低。这的确是一个客观现实:在我的教育的经历中,从小学到高中就没有正经的逻辑学或者哲学入门训练,因此辩论赛绝大部分人都是根据吵架的经验本能地进行的。这种辩论受限于参与者的水平,有时候不免陷入各种逻辑谬误和鸡同鸭讲、车轱辘话来回说的局面——这种水平的讨论的确没有太多看点,也很难让人有什么收获。

优秀的辩论比赛首先要讲逻辑,在破题立论后,双方通过摆事实讲道理的同时寻找对方的逻辑漏洞竭力驳倒对方,而观众在这个过程中对问题的认识进一步加深了。华语辩论史上最经典的战役莫过于《2001年国际大专辩论赛决赛:金钱是不是万恶之源》。虽然依然是选边站,但是观众看下来的感觉就是先听了正方立论觉得很有道理,再听反方的驳论觉得也说得通。在进一步的辩论中,观众还能够从正反双方交战点找到分歧的核心——“‘万恶’到底是不是指全部的恶,如果不是,那怎么解释钱出现之前的恶和与金钱无关的恶?”至此,原本的问题已经得到了一个更高维度的诠释,所有人都从讨论中获得了新的思考角度观点,那么与之相比,由辩论技巧得分点而决定的输赢还有那么重要吗?

辩论赛需要临场的即兴演讲,我一辈子也达不到电视上那些知名辩手出口成章的水平。不过绝大部分场合我们有充足的时间思考并组织语言,因此辩论是每一个人都可以掌握的技能。合乎理性的辩论方式并不难学,只需要阅读《大问题:简明哲学导论》中的《导言:做哲学》与《逻辑准备》两个篇章获得理论基础,再研磨几场高水平的辩论并实践清晰的思考与表达,任何人都应该可以轻松上道。

结语

在本科入学的时候,我偶尔听同学抱怨“咱们计算机系学这么多哲学、历史、文化的通识课程有什么用?”我想,构建这篇文章的思考能力便是我的收获,让我受益终身,也算是“博学而笃志,切问而近思”之校训在我身上留下的痕迹吧。

配置博客

距离上一篇文章已经过去了三天,我竟然刚刚配置好博客系统。这大概是所有做技术的人都容易陷入的怪圈,折腾工具的时间远远超出预期甚至延迟了开始干正事的时间。

我理想的博客有这么几个要求:

  1. 费用足够低
    • 欠费会导致数据丢失
    • Databricks还没上市,我现在穷的叮当响
  2. 保存得足够持久
    • 一般运营商不考虑,因为有可能因为经营不善关闭业务(哪怕是Google)
  3. 支持富文本格式
    • 技术文章经常有插图和代码需要写
  4. 纯文本格式:易于导出和保存
    • Wordpress之类的选项就直接被排除了
  5. 支持多语言

但是这几个这么一看下来,其实没几个选项了。刚好之前看到计算机自学网站csdiy.wiki的使用系统mkdocs-material很美观而且比较符合要求,就评估了一下:

  1. 免费!开源项目,且可以依赖 Github Pages 服务免费发布
  2. 它的生命周期跟Github是一致的!只要Github不倒,可以一直保存下去
  3. 支持Markdown的各种增强插件,公示和插图都不是问题
  4. Markdown本身就是文本格式,插图可以用Excalidraw和VSCode的插件,完美!
  5. 有多语言支持,启用后顶部的language-selector可以切换

看上去似乎很完美。但是后来我之所以花费那么多时间主要是因为多语言支持的插件mkdocs-static-i18n和mkdocs-material的blog插件有兼容性问题,只可以二选一。

在那个讨论贴中他们提了好几种方案,然而我一看,所有改动都加到一个付费的insider版本,而订阅这个版本的费用是每个月15美元——我当然还没有阔到这个地步。于是我就试图去读他们的源代码想着自己改一个。最后发现其实理论上是可行的,我改出来页大体能用,但是导航栏的生成还是有些问题——这是不可忽略的,而要改好他们需要花费大量的时间,我就放弃了,还是等官方免费版本吧。

于是我的折衷策略是:

  • 个人主页不用blog插件而启用mkdocs-static-i18n的插件,这样可以双语无缝切换
  • 博客系统启用blog插件,只写中文,同时翻译一些我觉得质量高的文章放到个人主页

不过缺点是我需要维护两个Github Repository。希望他们早日把多语言的博客插件做好,这样我能够进行合并。