论《黑客论》的文本发生学及其小资产阶级浪漫主义本质

论《黑客论》的文本发生学及其小资产阶级浪漫主义本质

谨以此文献给那些试图用《资本论》的封面包装Minecraft PVP圈内斗的、在Discord和Codeberg之间反复横跳的、连kb和阶级斗争都分不清的赛博唐·吉诃德们。

导论

我们注意到,近期在Codeberg等自由软件托管平台上出现了一篇名为《黑客论》的长文。该文以马克思《资本论》为理论外衣,以MIT的《计算机程序构造与解释》(SICP)为工程旗号,以RMS的《自由软件 自由社会》为道德盾牌,对Minecraft反作弊服务器、无政府服务器、黑客端社区乃至整个Minecraft PVP生态进行了系统性的、貌似科学的、实则毫无历史唯物主义根基的“批判”。

本文无意于捍卫反作弊服务器——那无异于捍卫绞刑架的专利权。本文的任务在于:通过文本发生学分析,揭示《黑客论》的生产过程本质上是一种符号拜物教的自我循环——一篇以“批判符号拜物教”为使命的文本,其自身的生产方式却是高度工业化的、模块化的、与“AI生成文本”几乎无法区分的,最终落入了一个比它所批判的对象更加荒唐的境地:用神秘主义解释神秘主义,用公式拜物教对抗商品拜物教。

第一节 文本生产方式批判:或曰,这篇论文的“劳动过程”是什么样的

我们首先考察《黑客论》的物质基础——即它的生产方式。正如马克思在《资本论》第一卷中指出的:

“要生产商品,他不仅要生产使用价值,而且要为别人生产使用价值,即生产社会的使用价值。”

现在,让我们将这一原理应用于《黑客论》本身的文本生产。

1.1 文本的“预付战斗投入”分析

任何文本的生产都需要预付一定的“精神生产资料”:《资本论》的电子版、SICP的PDF、GNU官网的复制粘贴内容、以及若干Minecraft Wiki的条目。然而,我们发现,《黑客论》的文本结构呈现出一种令人不安的规律性

  • 每一节都以一段马克思或RMS的引用开头
  • 紧随其后是一个强行类比(例如将“攻击-硬编码-修正-受击”等同于“生产-分配-交换-消费”)
  • 接着是一段用LaTeX书写的、数学上无关紧要、逻辑上循环论证的“公式”
  • 最后以一个政治口号收尾

这种结构不是人类作者反复修改、自我否定、在痛苦中挣扎的产物——那是真正的理论生产的特征。相反,这种结构显示出大语言模型在“模仿马克思主义文风”任务下的最优路径:引用-类比-公式-口号。四步一循环,如同工厂流水线。

定义1(AI文本的必要劳动时间):设一篇AI生成文本的字数为N,其生产时间T趋近于0(一次生成),而其“看起来需要”的阅读时间R与N成正比。我们称T与R之间的巨大鸿沟为生成-阅读不对称性,它是AI文本的“超额剩余价值”的来源——读者在阅读上耗费的时间远超作者在“写作”上投入的时间,这构成了对读者时间的无偿占有。

注意:我们在此并不预设这种“生产方式”的归属——它可以是大语言模型,可以是模板化写作,也可以是作者在有限时间内产出的最优策略。但无论归属如何,结论都是相同的:这种生产方式所产出的文本,其形式结构与它的政治内容之间存在根本性的矛盾——它用工业化生产的方式批判“资本主义”,本身就是一种自我解构。

顺便一提:上面的“定义1”是模仿原文论证结构的产物——就像作者在文中煞有介事地定义“符号汇率”和“战斗必要持续时间”一样,我们也可以有模有样地定义一个“AI文本的必要劳动时间”。这个定义没有任何实际含义,正如作者的定义也没有。我们把它放在这里,只是为了展示一件事:当你用“定义→公式→结论”这个模版来填充内容时,无论填进去的是什么,看起来都像那么回事。

1.2 引用的“交换价值”与其“使用价值”的分离

观察《黑客论》的引用方式,我们发现一种独特的引用拜物教现象:

当作者引用“社会化生产和资本主义占有之间的矛盾表现为无产阶级和资产阶级的对立”时,他既没有分析这段话的历史语境(恩格斯写作于19世纪80年代,针对的是欧洲工业资本主义),也没有将其与Minecraft PVP的具体生产关系建立任何实质性联系,而是直接将“无产阶级”替换为“绿色玩家”,将“资产阶级”替换为“反作弊服主”

这是一种典型的类比拜物教:词语的交换价值(它们听起来很“革命”)被剥离了使用价值(它们实际上不指涉任何被分析过的具体关系)。正如马克思批判蒲鲁东时所说:

“他既不能从范畴中消除这种对立,又不能从范畴中推导出这种对立。”

用更直白的语言来说:您用“无产阶级”这个词,仅仅是因为它比“绿色玩家”听起来更有分量,而不是因为您对无产阶级的历史使命有任何实际的认识。

设R为《黑客论》的“革命性”,G为作者实际贡献的代码量,则:

$$ R = \frac{\text{引用马克思的次数}}{\log(G + 1)} $$

当G趋近于0时,R趋近于无穷大——这完美地解释了为什么《黑客论》看起来如此“革命”。

1.3 文本的“有机构成”检验

让我们对《黑客论》的文本构成做一个简单的量化分析。设:

  • 直接引用(马克思、恩格斯、RMS、SICP)字数为Q
  • 作者“自己的论述”字数为A
  • 公式/表格/代码块字数为F
  • 政治口号字数为S

则文本的“有机构成”为:

$$ \frac{Q + F + S}{A} $$

我们无需精确统计便可直观感受到:这个比值异常之高。这意味着《黑客论》的“有效输出构成”(他人的思想)远远超过其“抽象输出构成”(作者自己的思考)。按照该文作者自己的逻辑——“综合符号水平越高的玩家在战斗中取得的劣势越多”——我们可以推出:引用密度越高的文本,其原创性越趋近于零。

该文作者在第六章中批判“卡姆姬先生”时写道“无责任能力来自自大狂”。我们建议将这句话作为该文作者的墓志铭——刻在Codeberg仓库的README.md底部。

第二节 对“输出构成论”的批判:或曰,为什么您的公式既不输出也不构成

2.1 公式的“可验证性”考察

《黑客论》全文充斥着如下形式的公式:

$$ K: \frac{Z}{\max(C_i)} \geq 0.5 $$

其中K定义为“符号汇率”,Z定义为“综合符号水平”,$C_i$定义为“单一符号水平”。让我们暂不追问这些变量如何测量——这已经是第一个不可逾越的障碍。让我们追问一个更基础的问题:这个公式能不能被证伪?

如果K ≥ 0.5意味着玩家“在战斗中取得劣势”,而K < 0.5意味着玩家“取得优势”,那么:

  1. 请问在何种情况下K会等于0.5?作者没有回答。
  2. 请问两个玩家的K值如何比较?作者没有回答。
  3. 请问K值是否随时间变化?作者说是,但没有给出测量方法。
  4. 请问K值与服务器延迟、鼠标型号、咖啡因摄入量之间的关系?作者甚至没有意识到这些问题存在。

结论:这个公式既不“输出”任何可测量的量,也不“构成”任何可验证的关系。它唯一的“构成”是制造了一个伪数学光环——让不熟悉数学的读者误以为自己在阅读“科学”文本,而事实上他们只是在阅读用LaTeX格式化的修辞

2.2 对“战斗必要持续时间”公式的再批判

作者提出:

$$ A = \frac{C}{Y} $$

其中A是“战斗必要持续时间”,C是“单一符号水平”,Y是“符号水平产能”。然后作者用Scheme语言“实现”了这个公式:

(define (combat-necessary-duration single-symbol-level symbol-level-capacity)
  (if (= symbol-level-capacity 0)
      +inf.0
      (/ single-symbol-level symbol-level-capacity)))

这是一个精彩的喜剧时刻。这段代码除了定义了一个除法函数之外,什么也没有“实现”。它没有从游戏中读取任何数据,没有进行任何统计计算,没有建立任何与Minecraft实际战斗机制的连接——它仅仅是在用编程语言的语法重新陈述了一个初等数学运算

这好比说:

(define (capitalist-exploitation-rate surplus-value variable-capital)
  (/ surplus-value variable-capital))

然后宣称自己“用计算机科学的方法揭示了资本主义的剥削本质”。

这不是计算机科学,这是用分号注释掉的意识形态。这不是数学,这是用LaTeX包裹的修辞。这不是政治经济学,这是用马克思的术语重写的Minecraft论坛帖子

2.3 “极差地租”在Minecraft中的适用性——一个范畴错误的典型案例

作者在第七章中煞有介事地讨论“极差地租I”和“极差地租II”,并将服务器配置分为ABCD四级,给出如下表格:

云等级 产量USD/GB 预付 利润USD/GB 地租USD/GB
A 1 50 1/1 ——
B 2 50 1 1/1 1
C 3 50 2 1/1 2
D 4 50 3 1/1 3

如果你觉得这个类比奇怪,那就对了。因为把一个服务器配置表塞进《资本论》第三卷,本来就是一个奇怪的事。

让我们冷静地指出一个事实:马克思的级差地租理论建立在土地所有权垄断和土地的自然肥力差异之上。而Minecraft服务器:

  1. 没有自然力的给定性——一块土地不能因为“追加资本”就变得更大或更肥,但一台VPS可以随时升级CPU、换机房、加带宽。马克思讨论的“自然力”是上帝给的,而VPS配置是信用卡给的。
  2. 没有不可复制性——你可以在同一机房租一台和竞争对手完全相同的服务器,所有配置参数都可以一模一样。这相当于一块土地可以被无限复制,而复制品和原版一样肥沃——这在农业领域是魔法,在云计算领域是账单。
  3. 没有所有权的排他性垄断——级差地租要求地主对特定地块拥有排他性的所有权,而任何一个用户都可以在同一家服务商租到一模一样的配置,不存在“这块VPS只属于你,别人不能租同款”的排他性。

如果“高配VPS”和“低配VPS”之间的价差是地租,那么所有商品的价差都可以是地租——因为任何商品都有“好”和“差”的区别。这个推论一旦成立,级差地租理论就变成了一个可以贴在万物上的万能标签,而万能标签的问题在于:它能解释一切,却什么都解释不了。

类比作为一种认知工具当然是合法的,但一个有效的类比必须在被类比的两端之间存在结构同构性。在《黑客论》中,“地租”被用来分析VPS配置的价差,然而马克思级差地租的成立前提是土地所有权对自然肥力的垄断——这种“自然力的不可复制性”是VPS配置完全不具备的。任何VPS配置都可以通过追加资本被复制,而土地不能。因此这不是简单的“模型化”,而是误将可复制的技术配置与不可复制的地理自然力等同。

如果作者真的想用马克思的地租理论分析Minecraft,他应该考察的是Mojang对Minecraft IP的垄断所产生的“绝对地租”,以及微软对GitHub的收购所形成的“垄断地租”。而不是把一台VPS的配置表硬塞进《资本论》第三卷第六篇的框架里——那相当于用《物种起源》来解释为什么您的猫喜欢吃罐头。

而类似的生搬硬套,在《黑客论》中还有多少处,我们就留给读者自己去数了。

第三节 “简单kb重构”的解剖:或曰,您知道kb是什么吗?

3.1 一个概念的空洞能指

在《黑客论》的“简单kb重构”一节中,作者写道:

“在马克思《资本论》中,l部类通常指生产生产资料的资本主义部门类型,ll部类通常指生产消费资料的部门类型。我们可以将l部类理解为有效输出构成(反作弊、服务器插件、kb配置)生产部门,而ll部类则可以理解为抽象输出构成(饰品、披风、材质包)生产部门。”

这是一个令人震惊的句式,因为它在同一句话中完成了两个层面的范畴混淆。第一层:把马克思的“生产资料/消费资料”二分法强行套用在“反作弊插件/游戏饰品”的区分上——这已经是一个粗糙的类比,但至少还能理解作者想做什么。第二层:作者把“kb配置”塞进了“l部类”中,仿佛kb配置是一种“生产资料”——也就是说,作者在说“kb是服务器用来生产rank的生产资料”。

让我们暂停一下,问一个最基础的问题:kb到底是什么?

在Minecraft PVP的语境中,kb(knockback,击退)是一种物理机制——它决定了玩家被攻击后在空中飞行的距离、高度和轨迹。它是一个游戏体验的参数,而不是“生产资料”。作者如果把kb理解为“生产资料”,那么他必须解释:用kb“生产”了什么?玩家在PVP中“消耗”kb吗?kb可以被“积累”和“折旧”吗?kb的“使用价值”和“交换价值”分别是什么?

作者没有回答这些问题,因为他根本不在乎kb是什么。他只需要一个听起来像“生产资料”的词来填充他的公式。kb在他的文本中只是一个空洞的能指——一个被借用来承载政治经济学术语的容器,至于这个容器里装的是什么,作者既不关心也不了解。

这其实是一个更奇怪的现象。因为在《黑客论》的“对战斗机制学者的批判”一节中,作者详细分析了Minecraft的damageEntity方法、knockBack函数的调用链、乃至motXmotZ的具体计算步骤——他甚至还纠正了“卡姆姬先生”对三角函数的误解,并给出了一个自己认为是“正确”的代码实现。从这些内容来看,作者至少在资料收集层面表现出了一定的技术阅读能力,他知道去翻阅MCP反编译的代码片段,知道讨论HorizontalVertical参数的数值,知道分析击退计算的“受害者受击”和“攻击者修正”两个阶段。

但奇怪的地方就在这里:当他从“分析具体算法”进入“构建政治经济学框架”之后,他的技术知识突然消失了。他明明在前半部分分析了motXmotZ的计算方式,到了“简单kb重构”一节却把“kb配置”直接归类为“生产资料”,仿佛一个物理机制突然变成了可以“积累”和“周转”的资本。他明明知道kb是一串计算数值,却在构建框架时把它当作一件可以“生产出rank”的工具。

这种知识在前半部分存在、后半部分却突然断层——像极了大语言模型在处理长上下文时的表现:它能够引用局部的技术细节,但无法在整篇文章中保持这些细节与核心论证之间的一致性。它记得“kb是什么”,却忘记了“kb是什么”与它的论证框架之间的关系。它在前半部分表现出的“懂技术”,到后半部分变成了“用技术词汇填充框架”——前者是知识,后者是词汇。而当这两种东西出现在同一篇文章里却没有相互约束时,读者就会感到一种持续的错位:作者知道很多事,但知道的事和他想做的事,没有任何一个节点是真正连接在一起的。

这或许能解释“简单kb重构”那一节为什么读起来像意大利面拌混凝土——每一段单独看都像那么回事,合在一起却完全无法消化。

3.2 《资本论》第二卷在Minecraft服务器中的“应用”——一场理论马戏团表演

让我们看看作者是如何“运用”《资本论》第二卷的“简单再生产”框架的。他写道:

“假设A卖给B,卖掉插件600,换成货币600,其中100代表剩余价值……但是,A所以能进行这种货币贮藏,仅仅是因为就他的剩余产品来说,他只作为卖者,而不接着作为买者出现。”

这是《资本论》第二卷中关于“第Ⅰ部类内部流通”的标准论述,讨论的是生产资料生产部门内部的产品交换问题。作者把这段文字几乎原封不动地抄过来,然后把“商品”替换成“插件”,把“工人”替换成“玩家”,把“资本家”替换成“服主”,就宣称自己完成了“对Minecraft反作弊服务器的政治经济学分析”。

这是一种模板式写作——作者有一个模板(《资本论》第二卷关于简单再生产的论述),他只需要把模板中的名词进行词汇替换,然后输出。这个操作不需要理解《资本论》,不需要理解Minecraft服务器,甚至不需要理解“替换”的意义——只需要一个文本替换脚本和一份术语对照表。

更荒谬的是接下来的段落:

“社会总产品,从而社会的总生产,分成两大部类:生产资料……消费资料……这两个部类中,每一部类拥有的所有不同生产部门,总合起来都形成一个单一的大的生产部门:一个是生产资料的生产部门,另一个是消费资料的生产部门。”

这段文字是对马克思《资本论》第二卷第二十章“简单再生产”中核心分类的直接搬运。作者把“生产资料”替换为“有效输出构成”,把“消费资料”替换为“抽象输出构成”,然后宣称自己“构建了分析框架”。但问题是:这种词汇替换产生了什么新的认识?

如果我们把作者的替换还原回去,他的整个分析就是:

“反作弊插件和kb配置是生产rank用的生产资料,饰品和披风是玩家消费的消费资料。反作弊插件开发商卖插件给服主,服主用插件生产rank,rank卖给玩家换钱。所以,反作弊服务器和插件开发商之间存在部类交换关系。”

这个分析没有揭示任何关于Minecraft PVP的新东西——它只是在用马克思的语言重述了一个任何PVP玩家都知道的事实:“服主买插件,玩家要么打排位(rank),要么为排位相关的增值服务付费”。它没有解释为什么某些反作弊插件比另一些更有效,没有分析kb配置的优化策略如何影响玩家行为,没有考察不同反作弊插件的市场结构——它只是给一个常识披上了一件《资本论》的外衣。

3.3 “kb重构”的技术无知

作者在“简单kb重构”一节中反复使用“kb重构”这个词,仿佛它是一个明确的技术概念。但让我们问一个技术问题:在Minecraft中,“重构kb”具体指什么?

  • 是指修改Bukkit/Spigot服务端的击退计算公式吗?
  • 是指调整entityLiving.attackEntityFrom()中的击退系数吗?
  • 是指修改KnockbackHandler中的HorizontalVertical参数吗?
  • 是指通过AttributeModifier修改玩家的击退抗性吗?
  • 还是指在客户端通过ReachVelocity模块绕过服务器的击退计算?

作者在《黑客论》中花了大量篇幅讨论“参数系”和“检查系”的区分,列出了HorizontalVerticalFriction等参数,但他从未解释这些参数是如何被“重构”的——是改配置文件?是改Java字节码?是改网络数据包?不同的重构方式对应着完全不同的技术操作和经济成本,但作者把它们全部塞进“kb重构”这个黑箱里,然后宣称自己完成了分析。

这种技术无知直接导致了他在“简单kb重构”中的一系列范畴错误:

  • 他把“kb配置”归类为“生产资料”——但kb配置是游戏的规则参数,而不是可以“生产”出任何东西的“工具”。
  • 他把“kb重构”类比为“扩大再生产”——但kb重构在绝大多数情况下是一次性的配置调整,而不是一个可以“积累”和“周转”的资本循环。
  • 他把“kb优化”等同于“有效输出构成的积累”——但优化kb的目的是提升玩家体验(或降低服务器对玩家的依赖),而不是“增加生产资料的量”。

如果作者连kb是什么、如何修改、修改成本如何都不清楚,他就不应该用“kb”作为核心概念来构建一个政治经济学分析框架。 这就像一个人用“流体力学”来分析面条的烹饪过程,但不知道面条是什么做的——他可以写出很长很漂亮的公式,但那些公式与面条无关。

3.4 “公式拜物教”的高潮

“简单kb重构”一节中最精彩的喜剧时刻,是作者用以下公式来“总结”他的分析:

$$
W’ = \begin{cases} G - W - P - W’ \\ g - w \end{cases}
$$

其中G=攻击,W=硬编码,P=受击,W’=修正,g=预付战斗投入,w=战斗逻辑。

这是一个自我指涉的噩梦——公式的右侧包含了W’,而左侧也是W’。作者用一个递归定义来“总结”他的分析,仿佛这种符号游戏本身就构成了理论贡献。这就像用“X = X + 1”来证明一个命题——式子本身已经自相矛盾了,却还要用它来证明自己有效。

这个公式是《黑客论》全文的缩影:用符号代替分析,用公式代替论证,用引用代替思考。它看起来像理论,听起来像理论,甚至被格式化成理论——但它不是理论。它是一份用LaTeX排版的、内容空洞的、政治修辞的清单。

我们建议作者去读一读《资本论》第一卷第一章关于“商品拜物教”的论述——然后思考一下,自己是不是正在制造一种公式拜物教:把公式当作具有神秘力量的符号,仿佛只要写出来,就能改变世界。

这个公式是一个语义不明的符号团块——左侧的W’和右侧的W’之间是什么关系?是数学等式?是递归定义?是赋值更新?作者没有说明。这个公式放在这里,既不推进论证,也不解释任何东西——它唯一的“贡献”是让页面看起来更复杂。这就像在文章中插入一段没有注释的乱码,然后期待读者自行解读它的“深刻含义”。

3.5 三角函数的“不灵活”——一个技术反讽的绝佳样本

作者在批判“卡姆姬先生”时,义正词严地写道:

“这是典型的双sin,错误,原版knockBack应该为:motX += sin(yaw * π/180) * 0.5 * i;motZ -= cos(yaw * π/180) * 0.5 * i。”

作者在这里试图展示自己“懂技术”——他在纠正别人对三角函数的“误用”,并给出了一个“正确”的实现。但这里藏着一个致命的讽刺:这恰恰表明作者根本不理解Minecraft的击退机制设计逻辑,也不理解为什么Minecraft开发者选择使用三角函数。

我们来分析一下技术事实。在Minecraft的knockBack实现中(EntityLivingBase类),标准实现确实使用了三角函数来计算击退方向——这是为了将攻击者的朝向(yaw)转换为速度向量的分量。这是一个标准的极坐标转换:给定一个角度,计算它在X轴和Z轴上的投影。这是三维游戏引擎中最基础的数学操作之一,任何一本图形学入门教材都会告诉你,这是极坐标转换的标准做法

作者声称使用三角函数是“不灵活”的——但他的“正确实现”motX += sin(yaw) * 0.5 * i;motZ -= cos(yaw) * 0.5 * i,恰恰正是在使用三角函数。他批判别人用三角函数,然后自己给出了一个用三角函数的“正确版本”——这种批判者在同一句话中自我反驳的能力,堪称文本分析领域的奇观。

更令人哭笑不得的是,作者在批判“卡姆姬先生”时,完全搞错了自己批判的对象——卡姆姬展示的只是NMS反编译代码的原始片段,而作者却将其当作“卡姆姬本人的主张”来批判。

而作者却说这种方法“不灵活”,应该换成“归一化”。但归一化的前提是已经存在一个向量——你才能对它进行缩放。而当前场景下这里根本没有向量,只有一个角度。你无法对一个角度做归一化,就像你无法对一个电话号码求平方根一样——概念上就是错的。

这就像一个人看到菜谱上写着“把鸡蛋打在碗里”,然后说“这种方法不灵活,应该直接对鸡蛋进行归一化处理”——他不知道自己在说什么,但他知道“归一化”听起来很专业,这就够了。

一个连“当前场景需要什么计算”都没搞清楚的人,却长篇大论地批判别人“不灵活”——这不是“灵活”与“不灵活”的区别,这是“专业”与“业余”的区别。

NMS的MathHelper类采用查表法实现三角函数,是一种用内存空间换取计算时间的设计策略——预计算有限个采样点的正弦/余弦值,运行时通过整数索引直接查表返回。这种做法在今天看来未必在所有场景下都比硬件三角函数快(现代CPU的fsin指令和AArch64的intrinsic实现已经非常高效),但在Minecraft开发的早期版本中,这是一种常见的优化手段,其精度也完全足够,尤其适用于Minecraft这种每个tick需要处理大量实体运动的场景。更重要的是,无论查表法是否比硬件三角函数快,它都比求根运算快——平方根运算的代价远高于一次查表或一次硬件三角函数调用。而作者提出的“求根归一化”方案,正是把原本可以通过查表(或硬件指令)完成的操作,替换成了更昂贵的求根运算。

原文中作者反复强调“笛卡尔坐标系”的“正确性”,仿佛Minecraft使用欧拉角是一种“错误”。但他似乎没有意识到,笛卡尔坐标系描述的是空间位置(x, y, z坐标),而欧拉角描述的是朝向(yaw, pitch, roll)。击退计算中既需要位置向量(motX, motZ),也需要角度参数(yaw)——两者不是替代关系,而是不同层次的描述工具。你用笛卡尔坐标系描述“物体在哪里”,用欧拉角描述“物体朝向哪个方向”。非要拿笛卡尔坐标系去否定欧拉角的使用,就像拿尺子去否定指南针——它们是做不同事情的。

我不明白作者为什么总是揪着笛卡尔坐标系不放呢?也许是因为这个词听上去比“极坐标转换”更专业一些?或许是因为Minecraft确实没有使用roll,而向量本身也可以表示朝向——比如Location::getDirection()返回的就是一个方向向量。但如果我们去翻阅Location的源码,便会发现:这个所谓的“笛卡尔向量”,正是用欧拉角的sincos计算出来的。

更令人费解的是,作者在同一节中还写道:“Minecraft采用笛卡尔坐标系,向量呈现往往为曲线,而非三角函数。”“向量呈现为曲线”在数学上不是一个有意义的表述。向量本身没有形状——它有方向和模长,但不会“呈现为”任何几何形态。曲线是位置随时间变化的路径,是运动轨迹的概念,不是向量本身的性质。把“运动路径是弯曲的”等同于“向量是曲线的”,相当于把“汽车开过的路线是弯的”说成“速度表指针是弯的”——概念层面就错了。

如果作者是从客户端角度出发——在客户端中,每一tick都要根据速度向量计算新位置,轨迹自然呈现为一条曲线——那这句话至少是有来源的。但问题是:他在讨论服务端的knockBack计算时,混入了客户端的画面。服务端只在受害者受击时计算一次速度向量,然后将其发送给客户端,由客户端自行完成后续每一tick的位置更新。服务端不会“追踪曲线的每一段”,也不需要“实时计算每一tick的向量”——如果它真的这么做了,延迟会把游戏的可玩性摧毁干净。

简而言之:作者批判了一个他以为存在但实际上不存在的“问题”(三角函数不灵活),并用一个技术上更差的方案来“改进”它,然后把这个改进方案当作战利品展示出来——这完美地体现了《黑客论》整体的技术特征:在一个自己不理解的领域里,用AI拼凑的“知识”来批判实际的专业实践,然后在批判的过程中,暴露出自己比被批判者更加无知的事实

如果作者真的想批判Minecraft的击退实现,他应该去读EntityLivingBase的源码——而不是从MCP反编译的片段中挑出几个公式就以为自己抓住了技术的命脉。

3.6 “双sin”疑云:一个不存在的敌人

在《黑客论》的“对战斗机制学者的批判”一节中,作者对卡姆姬先生展开了猛烈抨击,其中一个核心指控是:

这是典型的双sin,错误,原版knockBack应该为:motX += sin(yaw * π/180) * 0.5 * i;motZ -= cos(yaw * π/180) * 0.5 * i

作者声称卡姆姬“使用了双sin”,而自己的实现才是“正确的”——使用了sin/cos组合。

如果我们去查阅卡姆姬当年的报告,会发现所谓的“双sin”出现在一篇2016年编写、早已废弃的初步研究报告中。这篇报告从未定型,后续也未再更新。更重要的是,它在多次博客迁移中已经严重失真——新的博客平台不再支持一些LaTeX特性和自定义的HTML标签,导致大量公式渲染错乱,“双sin”正是这种迁移过程中的产物。一个早已废弃、没有更新义务、历经多次迁移后已经面目全非的旧报告,被作者当作“技术批判”的靶子——这在操作上等同于从一个被压扁的可乐罐上读出“可乐罐的原始设计是扁的”这个结论。

这段批判从哪里来的?如果作者真的读过卡姆姬的全文,他会在同一篇文章的其他地方看到卡姆姬完整展示了MCP反编译的源码截图:

entity.g((double) (-MathHelper.sin(this.yaw * 3.1415927F / 180.0F) * (float) i * 0.5F)
        , 0.1D,
        (double) (MathHelper.cos(this.yaw * 3.1415927F / 180.0f) * (float) i * 0.5F));

其中明明白白地写着标准的sin/cos组合,与作者自称“正确”的实现几乎完全一致。作者不知道这件事,因为他没有读过全文。 他看到的只是一段AI输入中出现的残破文本,模型从中识别出“双sin”这个词,然后基于“一般知识”生成了一个“卡姆姬用了双sin”的错误论断,再据此展开了洋洋洒洒的批判。

最合理的解释是:这段批判来自于大语言模型的幻觉。模型看到了一个碎片,但不理解这个碎片在一篇文章中处于什么位置、是什么性质、是否可读,只是机械地提取出“双sin”这个关键词,然后编造出了一段“批判”——而作者接受了这段编造,没有进行任何核实。

更讽刺的是:作者自己的《黑客论》是一篇发布仅数天的文章,其中同样充斥着大量的渲染错位和格式异常——段落断裂、数学公式显示不全、引用跳转丢失。一个连自己的文章都没有检查过的人,却用一篇废弃旧文的渲染故障来证明“卡姆姬不懂技术”,然后据此展开长篇大论——如果这也算是学术批判,那么所有格式错乱的网页都是“研究对象”了。

作者需要一个敌人,于是他从一团乱码中创造了一个。双sin不是卡姆姬的,是作者自己的幻觉。

这或许是整篇《黑客论》最具自我解构性的一个片段:作者用来展示自己“懂技术”的核心段落,恰恰暴露了他根本不懂——他甚至没看出来AI给他编造了一个“双sin”错误。

如果连批判对象的核心内容都没核实过,那这篇“批判”的价值,也就仅限于它自己的篇幅了。

3.7 时代错位的双重标准——一篇2026年的文章在批判2016年的文章“没有进步”

作者在同一节中写道:

“Minecraft在进步,在发展,在提升,而不是永远停留在预付战斗投入阶段。”

这句话本身完全正确。Minecraft确实在进步,Minecraft的社区和生态确实在发展。

问题是:他用这句话在批判一篇2016年的技术分析文章

2016年。那篇文章分析的是当时Minecraft版本的源码,它的研究对象、它的分析范围、它的结论,都服务于2016年的技术语境。仿佛那篇文章有义务预知未来十年的技术演进。这相当于在2026年说“牛顿的力学停留在17世纪”,正确但毫无意义。

而且更讽刺的是,作者自己通篇都在用《资本论》这种19世纪的框架来分析21世纪的游戏——他允许自己的理论“停留在1848年”,却不允许别人停留在2016年。这种双重标准,本身就是一个现成的反例。

3.8 因果关系的草率装配——相隔四年的事,中间用一个“自然”就连接上了

作者在批判卡姆姬时写道:

“卡姆姬‘伟大的研究’自然也导致了Kar不到三个月的时间就面临了经济危机,最终倒台。”

然后他贴出了一份Kar的关服公告。

这是一个非常紧凑的叙事——先有“研究”,后有“倒台”,中间用“自然也导致了”连接。读者顺着读下来,会下意识地接受这个因果关系。

但如果仔细看这份关服公告,会发现一件事:公告发布的日期是2020年7月

而卡姆姬那篇关于击退机制的研究报告最早的写于2016年

相差四年。中间隔着1460天,48个月,十个Minecraft大版本更新。如果把“2016年的一篇技术分析”和“2020年的一次服务器关停”用“自然也导致了”连接起来,这跟把“我今天早上吃了面包”和“下午下雨了”用“自然也导致了”连接起来,在逻辑上没有本质区别——唯一的区别是,面包和下雨之间隔了6个小时,而研究和关服之间隔了4年。

更值得注意的是:那份关服公告的原话是“由于运营不当,自2015年起便入不敷出”——关服的原因是长达五年的亏损,与卡姆姬的击退研究无关。这句话就贴在作者自己引用的公告截图中。他贴出来了,但没有看进去。他把自己引用的证据当作纯粹的装饰——摆在那里,然后说出与证据完全相反的话。

换句话说:他亲手贴出来的证据,恰好推翻了他自己紧接着得出的结论。

这不是“研究导致了倒台”,这是“两件时间上相距很远的事情刚好出现在同一个硬盘里,于是被组装成了因果关系”。区别在于:前者需要论证,后者只需要复制粘贴。

3.9 总结

本节指出的所有“技术错误”,不是对一套“大体正确但局部失准”的理论框架的吹毛求疵。这里的逻辑恰好相反——当一个文本在它最试图展示技术权威的部分,出现极坐标转换与向量归一化混为一谈、复数运算与投影计算张冠李戴、相隔四年的两件事被一个“自然也导致了”焊在一起,这些错误并非局部故障。它们是生产方式的症候。不是“一个粗心的作者写错了几个公式”,而是“一个文本生成系统在处理它没有理解的材料时,必然会产出的那类错误”。讨论这些错误的用意,不在于证明“作者不懂技术”(尽管这确实是真的),而在于揭示:一个连这些概念都无法区分的文本,它在谈论“剩余价值”、“有机构成”、“地租”时,其“正确性”的置信度是多少?

第四节 对“社会化PVP”方案的批判:或曰,您的乌托邦建立在沙滩上

4.1 “社会化PVP”的可行性分析

作者在最后一章提出了“Sicpcraft”方案——一个基于Cubyz引擎的、使用Guile Scheme作为扩展语言的、采用AGPL许可证的、由“评审委员会”中央计划的、去除了DRM和反作弊的、实行“社会化大生产”的Minecraft替代品。

这是一个包含了所有正确词汇的、没有任何可执行路径的、纯粹的小资产阶级浪漫主义方案

让我们用作者自己的方法论——即“分析输出构成”的方法——来分析这个方案:

有效输出构成(即已经存在的东西):

  • Cubyz引擎:一个开发中的、用户极少的开源游戏
  • Guile Scheme:一个功能强大但学习曲线陡峭的Lisp方言
  • AGPL许可证:一个被大型科技公司普遍回避的强Copyleft许可证
  • 评审委员会:一个尚未存在、也没有招募到任何成员的“机构”

抽象输出构成(即作者希望存在的东西):

  • “社会化PVP”社区
  • “全民所有制”的物资生产区
  • “集体所有制”的PVP区域
  • “中央计划”的比赛安排

按照作者自己的逻辑——“抽象输出构成依赖玩家,广义有效输出构成提高导致玩家困难”——我们可以推得:Sicpcraft的“抽象输出构成”(美好的愿景)严重依赖其“有效输出构成”(什么都没有),而“有效输出构成”的积累速度为零。

我们再来看作者提供的代码:

  • 作者声称的“Sicpcraft”实际上只是Cubyz的一个分支,其核心代码几乎完全复制自Cubyz,仅修改了README、部分图片资源和少量无实质性进展的代码
  • 作者在文中大谈特谈,但在其仓库中并未出现任何Guile代码
  • 仓库实际使用的是GPLv3,与作者声称的“严格AGPL”不符。

结论:Sicpcraft的“有机构成”是 $0 : 1$,即它只有“抽象输出构成”而没有“有效输出构成”。用作者自己的术语来说,这是一个纯粹的符号生产——与反作弊服务器生产的“elo”和“rank”在空洞性上毫无区别。

4.2 “评审委员会”的政治经济学分析

作者提出建立一个“评审委员会”来“认证”社会化PVP服务器,并“制定《社会化pvp权利公约》保障玩家权益”。这个“评审委员会”将拥有以下权力:

  1. 认证哪些服务器“技术合规”
  2. 审批PVP物资的生产计划
  3. 审批玩家的比赛数量
  4. 审查代码中的“非自由固件”
  5. 移除“弱Copyleft”

让我们用历史唯物主义的视角审视这个方案:这本质上是一个“技术贵族”的寡头统治方案

作者在批判反作弊服务器时,指责它们“剥夺了玩家的自由”。但“评审委员会”的方案恰恰赋予了少数“评审员”以决定整个社区生产计划的权力——这比反作弊服务器更进一步:反作弊服务器至少只控制“你是否被允许在服务器上玩”,而评审委员会控制“你可以玩什么、用什么玩、和谁玩、玩多少”。

作者在批判“无政府服务器”的“封建割据”时,提出的解决方案是建立一个拥有更大权力的中央评审机构。这是一种典型的小资产阶级激进主义:因为A方案不好,所以-A方案就是好的,完全不考虑-A方案可能产生比A方案更坏的结果。

4.3 “农村包围城市”的荒谬挪用

作者在“敌我划分”一节中提出,要“在农村包围城市”的框架下“策反反作弊插件维护者”并“切断反作弊插件供应链”。这是一个令人叹为观止的战略误读

  • 毛泽东的“农村包围城市”:是在半殖民地半封建的中国,在工人阶级力量薄弱、敌人占据大城市的条件下,通过建立农村根据地、武装割据、逐步包围和夺取城市的革命战略。
  • 作者的“农村包围城市”:在GitHub上给反作弊插件的维护者发私信,劝他们“弃暗投明”,并期待“反作弊服务器就会断粮”。

这不是革命战略,这是开源社区邮件列表骚扰。这不是“切断供应链”,这是给竞争对手的GitHub仓库点了个Star然后幻想自己完成了革命任务

第五节 作者的阶级属性分析:或曰,您到底是谁?

让我们运用《黑客论》作者自己钟爱的分析方法——即“对战斗机制学者的批判”一节中的方法——来分析作者本人的阶级属性。

5.1 作者的“符号水平”评估

根据文本分析,我们可以列出作者使用的“符号”及其频率:

符号(术语/概念) 使用频率 使用特征
剩余价值 极高 出现于每一节,但从未展开其内涵
有机构成 仅在“文本检验”一节中出现过一次,之后被遗忘
地租 套用在服务器配置上,从未提及土地所有权的前提
符号拜物教 用作批判武器,但从未被定义过
社会化大生产 指涉一个尚未存在的“计划”
RMS/自由软件 大量引用,但从未讨论GNU四大自由的适用条件
SICP 仅用于装饰“工程理念”,未引用任何具体章节
反作弊 极高 使用频率最高,但定义随时变化(既是DRM又是SaaS又是地租)

综合符号水平:极高(作者知道很多“大词”)

单一符号水平:极低(作者对任何一个“大词”都没有深入理解)

根据作者自己的公式 $K = Z / \max(C_i)$,如果“综合符号水平”高而“单一符号水平”低,则K值极大,这意味着作者在理论战斗中处于劣势

结论(用作者自己的话):“无责任能力来自自大狂。”

5.2 作者的“生产工具”占有情况

作者通过Codeberg(一个自由软件托管平台)发布文章,使用的是Markdown格式,这意味着他占有的“生产工具”是:

  1. 代码托管平台:由他人免费提供,不具有排他性
  2. 大语言模型:由OpenAI/Anthropic/Google等公司提供,作者不掌握其源代码
  3. 马克思的术语:已经进入公共领域,任何人均可免费使用
  4. PVP游戏经验:这是作者唯一可能具有的、由个人劳动积累的“生产资料”

阶级判定:作者不属于无产阶级(他并没有出售自己的劳动力以换取工资),也不属于资产阶级(他并不占有任何能够产生利润的生产资料)。作者属于小资产阶级知识分子——即占有一定的文化资本(术语、概念、理论框架),但这些资本不能直接转化为经济资本,因此只能在互联网上以“批判”的形式进行象征性交换

第六节 对“代码”的考察:或曰,您的“社会化生产”就是复制粘贴吗?

6.1 项目时间线的“长周期”与“短脉冲”

作者在项目README中称Sicpcraft“created on August 22, 2018”,至今已有近八年历史。然而,当我们查看其提交历史时,发现一个惊人的时间结构断层

  • 2018年至2026年第一季度:几乎没有任何实质性提交——项目处于完全休眠状态。
  • 约一个月前:作者一次性上传了几乎完整复制自Cubyz的代码库(包括全部源代码、资源文件、构建脚本),仅修改了README和少量表面文本。
  • 随后几天内:密集提交了多份AI生成的计划文档(markdown文件),修改了部分代码,然后在下一个提交中再把AI生成的文档紧急删除。
  • 此后:项目再次陷入停滞,再无任何功能性代码提交。

这种提交模式揭示了什么?它揭示了:该项目不是为了软件开发而存在的,而是为了制造“有项目”的假象而存在的。一个自2018年就开始的项目,在长达八年的时间里没有任何产出,却在作者发表《黑客论》的前夕突然“活跃”了几天——提交了一批复制代码和AI文档——然后再次沉寂。这不是开发周期,这是政治表演周期

6.2 代码的“原始积累”与“AI文档的即产即销”

我们注意到,作者的初始提交与Cubyz项目高度相似,几乎所有的源代码、资源文件、构建脚本都直接取自Cubyz,仅将部分表面内容(如README、项目名称、少量注释)进行了替换。大量Cubyz的命名(包名、类名、函数名)被原样保留。尽管作者明确声称“基于Cubyz”,但这更像是为了给政治宣言配一个代码仓库而进行的快速包装。

更令人震惊的是提交历史中的“AI文档现象”:

  • 在几天内,作者提交了多份文档修改,内容涵盖“评审委员会选举办法”、“物资生产计划模板”、“GNU FSDG合规检查清单”等。
  • 这些文件行文风格与《黑客论》如出一辙——引用密集、口号响亮、空洞无物。
  • 紧接着的下一个提交中,这些文件被全部删除,提交信息通常是“first commit”。

这种“创建-提交-删除”的循环,在软件开发中没有任何合理的工程解释。它唯一的功能是:在提交历史中留下“我曾经写过这些计划”的痕迹,供未来的读者(或批判者)查看时产生“这个项目很有规划”的错觉。这是一种提交历史的舞台化——提交不是为了推进代码,而是为了塑造叙事。

6.3 劳动价值的时空分布

让我们用作者自己的“价值论”来分析这个提交历史:

  • 2018-2026:劳动价值 ≈ 0(无提交)
  • 一个月前:劳动价值 ≈ 复制粘贴的劳动量(极低)
  • 随后几天:劳动价值 ≈ AI生成文档的劳动量(极低,仅相当于编写提示词)
  • 删除文档的提交:劳动价值为负(销毁了之前“生产”的内容)

如果我们将这个项目视为一个“生产过程”,那么它的有效输出构成(实际代码)几乎全部来自Cubyz,抽象输出构成(政治宣言和计划文档)则被生产后又销毁。剩余价值——如果存在的话——完全体现在《黑客论》这篇长文中,而不是在代码仓库里。

这意味着:Sicpcraft项目不是软件生产的场所,而是意识形态生产的附属品。它的代码仓库是一个道具仓库——里面的代码是用来证明“我在做事”的布景,而不是用来运行的引擎。

6.4 “基于Cubyz”的修辞学分析

该文作者可能会辩护:“我说了是‘基于Cubyz’,我又没说是完全原创。”这个辩护在字面上成立,但在修辞上不成立。因为作者在《黑客论》中描述Sicpcraft时使用的语言是:

“Sicpcraft是一个完全独立的,基于Cubyz的独立游戏引擎……我们选择Lisp Scheme作为编程语言……Sicpcraft要做到生产和分配的一体化……”

这些句子制造的修辞效果是:Sicpcraft是一个正在实质性推进的项目,作者们正在做具体的工作。而提交历史显示的真实情况是:这个项目只在发表《黑客论》之前几天被“装饰”了一下,然后就再次被放弃

如果作者只是在README中写“我计划基于Cubyz做一个新游戏”,那么没有人会批评他——那只是一个愿望。但作者把“计划”写成了“正在进行”,把“零提交”包装成了“八年历史”,把“复制粘贴”描述为“独立引擎”。这是修辞与事实的系统性脱节

6.5 提交历史的“可验证性”呼吁

我们邀请所有读者自行验证以下步骤:

git clone https://codeberg.org/Sicpcraft/Sicpcraft
cd Sicpcraft
git log --oneline --graph --all
git log --since="1 month ago" --stat
git show <initial-commit-hash> --stat

您将看到:

  1. 项目在长达八年的时间里几乎没有提交
  2. 近期的一次性大量上传
  3. 密集的markdown提交和删除
  4. 之后再次陷入沉寂

这些不是推测,是可验证的Git历史。正如该文作者自己在《黑客论》中所说——“事实胜于雄辩”。我们只是把这些事实陈列出来,让读者自己判断:这究竟是一个“八年磨一剑的革命性项目”,还是一个为了配合政治宣言而临时装饰的符号仓库

如果读者想进一步验证 Sicpcraft 与 Cubyz 的关系,可以:

# 1. 在 Sicpcraft 仓库中创建一个新分支,拉取 Cubyz 的代码
git checkout -b compare/cubyz
git remote add cubyz https://github.com/PixelGuys/Cubyz
git fetch cubyz
git checkout -b cubyz-master cubyz/master

# 2. 回到 main 分支,将 Cubyz 的代码合并到一个临时分支中(用于对比)
git checkout main
git checkout -b compare-base
git checkout cubyz-master -- src/
git commit -m "temp: import cubyz src for comparison"

# 3. 对比两个分支的差异
git diff main -- src/

然后对比两个项目的初始提交、目录结构、核心代码文件.

当然,作者可能会说:“你怎么能用Git历史来审判我的思想?”——我们的回答是:我们在审判的不是你的思想,而是你的产品

马克思在撰写《资本论》之前的二十年,确实没有“提交历史”,但他在大英博物馆留下了密密麻麻的笔记、摘要、手稿——这些是智识劳动的物质痕迹。而Sicpcraft仓库在“代码爆发”之前,完全没有这类智识劳动的历史记录。它的“八年历史”里没有任何设计文档、架构讨论、技术选型备忘录。因此问题不是“启动太慢”,而是——如果它真的酝酿了八年,为什么没有任何智识劳动的痕迹被留下来?

当然,最直接的验证方式——打开 Sicpcraft 的 README,检查文档开头或结尾是否提到了 Cubyz 的出处链接。我们在检查时发现:该链接已被删除。

原始的 Cubyz README 中包含了指向 PixelGuys/Cubyz 仓库的链接和致谢信息,而在 Sicpcraft 的修改版中,这些内容被移除了。

这就是那种“每一个毛孔都滴着……”的时刻。fork 本身不是问题,不标明来源才是——尤其是在一篇以“反对私有制”为政治宣言的文章所附带的代码仓库里。

第七节 结论:或曰,先写能运行的代码,再谈革命

《黑客论》是一篇以马克思主义术语为外衣的、Minecraft PVP圈内斗的、小资产阶级浪漫主义宣言。它的问题不在于“不激进”——事实上它的语言非常激进。它的问题在于:

  1. 它的生产方式是工业化生成,因此它没有真正意义上的“作者”——只有“提示词工程师”。它所批判的“符号拜物教”恰恰是它自己的生产方式。
  2. 它的内容是无政府主义+技术贵族主义的混合体——它既反对一切权威(反作弊服务器),又试图建立一个新的权威(评审委员会),体现了典型的小资产阶级摇摆性。
  3. 它的形式是伪科学的——它的公式不能测量任何东西,它的引用不能论证任何命题,它的逻辑是循环论证的(用马克思证明马克思,用SICP证明SICP)。
  4. 它的方案是不可执行的——“社会化PVP”需要的前提条件(一个由Lisp编写的、AGPL许可的、有活跃社区的、独立于Minecraft的体素游戏引擎)目前不存在,而作者似乎认为写一篇长文就能让它存在。
  5. 它的生产方式是系统性的,并非偶然失误——作者同期发布的《pvp与技术自由》是《黑客论》的政治续篇,它把《黑客论》的“社会化PVP”纲领进一步展开为一份具体的管理章程,仿佛一个Minecraft PVP项目的命运取决于政治派别的站队是否正确;《论战斗机制》则是一篇“看起来正常”的技术文章,用自创术语把“1.5秒等于30游戏刻”包装成理论发现。三篇文章共享同一套逻辑——用不属于它的语言重述一个已知事实,然后呈现为“理论”,区别仅在于调用了不同的模板:马克思、GNU邮件列表、或自创术语。
  6. 它的内容是伪造的——所谓的Sicpcraft项目虽然声称自2018年就已启动,但直到近期才上传了几乎完全复制自Cubyz的代码,随后密集提交了一批AI生成的计划文档又在下一个提交中全部删除,之后便再无更新。这是一个为了配合政治宣言而临时搭台、演完即散的符号项目,没有任何“社会化”的实质进展。

如果作者真的想实践他的理论,正确的做法是:

  1. 在Codeberg上创建一个仓库
  2. 用Guile Scheme编写一个可玩的体素游戏
  3. 建立社区,吸引贡献者,完善代码
  4. 在有了可运行的软件之后,再写政治宣言

而不是先写一万字的“理论”,然后幻想“社会化PVP”会自动实现。

用马克思的话来说:

“哲学家们只是用不同的方式解释世界,而问题在于改变世界。”

用更直白的话来说:别光说不练。

我们等待的不是一个可运行的原型——那种东西一个人一个月就能复制出来。我们等待的是一个可验证的协作过程:能够证明社会化PVP不是一个人对着Cubyz复制粘贴、然后写几篇AI计划书就能实现的幻想,而是一个真实存在着的、正在自我组织、自我生产的劳动者共同体。如果这个共同体在一年内仍无法提供任何会议纪要、贡献者通讯或协作协议,那么我们不得不宣布“社会化PVP”和“以太”一样——是一个被命名但未被发现的物理实体,更可能是一个根本不存在的虚构概念


后记

这篇批评的写作,始于某个下午和同事的tea break。

我们聊到了最近Codeberg上的一些项目——有些是正经开源,有些则像某种“政治cosplay”。我提到自己正在读一篇用《资本论》分析Minecraft PVP的长文,隐约觉得它有些问题,但还没完全想清楚怎么描述。同事问了一句:“它的论证链条是一条完整的线,还是几个互相独立的环?”我愣了一下,重新翻了一遍。确实,它的每一个章节内部看起来都像一个完整的论证单元,但章节之间几乎没有递进关系——你可以把第八章挪到第三章的位置,文本依然成立;你可以删掉第四节的某个公式,后面的论证不受任何影响;你甚至可以把一整节直接替换成另外一段引用,整体结构也不会崩塌。同事用一个问题把我模糊的感受说清楚了:这不是“有机的整体”,而是“拼装起来的模块”。那次对话给了我两个启发:第一,看一篇论证性文章,不要只看它引用了谁,要看它的论证结构是可拆解的还是不可拆解的;第二,当一个文本的各个部分可以任意调换位置而不影响“整体”时,它很可能不是“写”出来的,而是“组装”出来的。这也是本文的一个基本出发点——我们讨论的不是“它是谁写的”,而是“它是怎么被生产出来的”。

感谢这位同事,他不是本文的共同作者,但那次对话中的追问几乎是本文的方法论起点。当然,正如任何对话一样,我们从中各自拿走了不同的东西——我拿走的是他提出的那个关于“链条还是环”的问题,而本文对它的处理方式。

关于本文的生产方式说明:本文在写作中借助了大语言模型进行语言润色和结构整理,但所有核心判断、论据选择、文本分析和结构安排均来源于人的判断。换言之,本文使用AI的方式与《黑客论》使用AI的方式——如果它使用了——可能在形式上有相似之处,但在“劳动过程”上有本质区别:前者是人使用工具,后者是工具生成文本。读者可依据本文提供的具体证据自行判断。

如果本文作者(即本文——论《黑客论》的作者)也被认为是AI生成的,那将构成一个完美的、自我指涉的、黑格尔意义上的“否定的否定”。届时,建议将本文与《黑客论》一同归档,作为“21世纪20年代互联网赛博马克思主义文本的典型样本”,供未来的人类学家研究我们这个时代的独特精神病理形式。

本文遵循CC0协议发布,任何人可自由复制、修改、分发。欢迎在任何Minecraft PVP Discord服务器中转发,建议在转发时附带“已阅,狗屁不通”的评语。


论《黑客论》的文本发生学及其小资产阶级浪漫主义本质
https://blog.lyzen.cn/2026/06/24/论《黑客论》的文本发生学及其小资产阶级浪漫主义本质/
Author
Lyzen
Posted on
June 24, 2026
Licensed under