一个比「读哲学史」更狠的需求

大多数哲学课的默认架构是编年史:从泰勒斯讲到维特根斯坦,按时间顺序背人名、背流派、背「某某主义主张某某」。这套架构有一个致命 bug——它把哲学当成只读的历史档案,而不是可执行的代码。你能复述康德说过什么,却答不出「康德会怎么处理自动驾驶的电车难题」。这就像背下了整本 API 文档,却从没调用过任何一个函数。

要解决的危机正是这个:让哲学从「被参观的博物馆」变回「被运行的操作系统」。元方法只有一句话:

不读编年史,只解方程;但承认历史是思想的 Git 版本史。

这两句不矛盾。「只解方程」是说,我们关心每个理论作为一个算法的输入输出行为;「Git 版本史」是说,我们仍在意每个补丁为什么被提交——它是为修复哪个时代的哪种系统性崩溃而写的。

学习法一:把哲学家当成算法模型

放弃「某哲学家是个伟大的人」这种叙事,改用一个更冷静的视角:每个理论都是一个函数 $f$,输入一个道德困境或技术难题,输出一个判断与一套理由。

拿同一道题喂给不同模型,观察分歧:

  • 输入:一辆失控电车,直行撞 5 人,或改道撞 1 人。
  • 功利主义 f_util:以总效用为目标 → 输出「改道,救 5 死 1」。
  • 康德义务论 f_kant:人应被当作目的而非仅仅是手段,不可把那 1 人当成救人的工具 → 输出「不可为了多数而主动把他当筹码」。

注意,我们不问哪个哲学家更高尚,只问:这个函数在这组输入上返回了什么,它的内部逻辑是否自洽。 抽象的「主义」立刻变成可测试的对象。东方同样适用:把孟子的「恻隐之心、性善」与荀子的「性恶需化」当成两套关于人性初始状态的默认配置,各自推出不同的治理算法。

学习法二:为自己的大脑写一份 AGENTS.md

工程师给 AI agent 写 AGENTS.md、给开源项目写 CONTRIBUTING.md——一份显式声明前提、优先级、底层规则的文档。你的大脑也在 24 小时运行一套决策系统,但它的规则多半是隐式、未审计、互相打架的。

学哲学的真正产出,是逼自己把这份文档写出来

  1. 决策前提:我假设世界是确定的还是概率的?他人默认可信吗?
  2. 价值排序:当「自由」与「公平」冲突时谁优先?这是一个必须显式声明的 priority 字段,不能临场拍脑袋。
  3. 底层逻辑:我的判断依据是结果、是规则、还是品格?

每学一种理论,就把它当作一次 pull request——看它想往你这份文档里改哪一行。你可以拒绝合并,但你必须知道自己拒绝了什么。苏格拉底说「未经省察的人生不值得过」,翻译成工程语言就是:未经版本控制的价值系统,迟早会在压力下崩溃。

学习法三:对比验证法——给理论做压力测试

任何理论在它的舒适区里都显得完美。鲁棒性只在边界条件上暴露。 所以学完一种理论,标准动作不是鼓掌,而是主动构造它的反例,把输入推到极端,看它在哪里返回了荒谬值。

压力测试 · 功利主义:一个健康路人走进医院,医生发现他的器官恰好能救活 5 个濒死病人。「最大化总效用」是否要求杀掉这一人去救五人?多数人的直觉强烈拒绝。这个反例不一定推翻功利主义,但它精确地定位了一个崩溃点——也正是这类困境,催生了「规则功利主义」等修订版本,主张按整体最优的规则、而非逐案计算来行事。

这正是思想史真实的运行方式:许多新理论,都是上一版在某个边缘 case 上崩溃后提交的修复。康德回应休谟的怀疑论,黑格尔重构康德的体系,程朱理学则是儒学面对佛、道冲击时打的本土补丁。 你不需要背下这条提交链,但你需要理解每一次 commit 的 diff 改了什么、为什么改。

课程地图与小结

  • L0 预备:工具箱与认知的「大爆炸」——也就是你正在读的这一层,装好思维方法论。
  • L1 本体论与认识论:世界是什么、我们如何知道——系统的内核层。
  • L2 伦理与政治:如何行动、如何共处——应用层与多智能体协议。
  • L3 现代危机:语言、心智、技术与虚无——当代尚未关闭的 issue。

里程碑只有一条验收标准:遇到一个新困境时,你能调出至少两种模型并行求解,比较它们的输出,并说清你最终采信哪一个、为什么。

东方讲「博学、审问、慎思、明辨、笃行」,西方从苏格拉底的诘问到波普尔的「可证伪」,指向同一件事:思想的价值不在于它被信仰得多虔诚,而在于它经得起多狠的压力测试。 接下来的所有课程,我们都用这把尺子来量。