## 《发现，而非设计》2：硬核问题的直觉解法

我们接着讲麦克卢尔的《发现，而非设计》这本书。前面我们已经把问题分成了两类。

一类是所谓「困难问题」，特点是繁杂、由很多部分组成，但是你可以用「多对多」的方式设计解决。比如修一座很大的桥，只要把它一层一层地拆成模块，我们就可以把知识堆叠起来解决。而且这个解法的每一步逻辑都是清晰的、可解释的，这就是「设计」。

另一类，则是「硬核问题」，因为过于复杂，已经不存在可以设计、可以用逻辑推演解释的解法。

那你自然会想到，硬核问题比困难问题可难多了……

其实不一定。这一讲咱们就说一个巨大的秘密：硬核问题不但存在解法，而且那个解法可能很简单！你只要发现那个解法，它实施起来往往出奇的快速而且有效。

如果听完这讲你只带走一个认知升级，那就是复杂不但不是负担，而且是优势。

遇到复杂，遇到硬核问题，我们应该感到高兴才对！只要是足够硬核的系统，它就可能蕴含着高妙的、甚至是魔法般的解法。

✵

咱们先看一个介于困难问题和硬核问题之间的问题，魔方。你玩过魔方吗？摆在你面前的是一个颜色被打乱了的立方体 —— 你要怎么做，才能把它复原成每个面都是单一颜色的规整状态呢？魔方有三种玩法。

第一种是新手玩法，严格按规则操作。魔方解法规则有若干种，最容易学会的大概是“分层法”，也叫LBL（Layer-by-Layer）。你需要背下七到八条规则，次序大概是先找第一层的四个角，然后是第二层的四个棱……只要按部就班操作，就一定能解出来。这种方法逻辑清晰、可解释性强，一听就懂，是典型的设计 —— 而它的缺点，是操作速度慢。

第二种，是人类高手的解法。当你对魔方已经很熟练了，你会记住很多「常见构型」。那么当你看到某个构型的时候，你直觉上就知道下一步怎么走能变成你熟悉的一个构型，那么剩下的操作就几乎是自动的了。这就有点像专业棋手下棋，脑子里有一些定式和套路，跟着感觉就知道怎么走。这个解法的速度很快。

第三种解法，则是用AI模型。它不使用任何人类发明的规则，也不刻意记住套路，而是靠纯直觉 —— 从当前魔方的状态输入，也不知它是怎么想的，三下五除二就找到了输出。这就像AlphaZero下围棋一样，一些操作人类根本看不懂，但它就是快、就是准。

麻省理工学院的一群学生就用机械手加机器学习算法做出了一台能在0.38秒内复原魔方的机器人。

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2025051919/1876531069507919556/051919.gif)

这一番操作令人敬畏。你能想象吗？他们用的是机械力量，靠的却不是固定规则，而是直觉。

这正是AI大语言模型的思路，也是你日常识别人脸的思路，也是我们解决一切硬核问题的思路。

✵

硬核问题为什么不能用设计的方法求解呢？咱们先明确一点概念：三种空间——可能空间、特征空间和解法空间。

比如说魔方。魔方的六个面有各种颜色的排列组合，它的状态是极多的。那么你从第一步怎么转、第二步怎么转，所有可能的转法，必须结合所有可能的状态组合，这就构成了一个巨大的集合，这个集合就是「可能空间（possibility space）」。

拿下围棋来说，棋盘上有那么多格点，那么规则允许范围内所有的落子方式，一步一步排下来，也构成了一个近乎无限的可能空间。

但是没有人下围棋会去考虑所有的可能。我们真正考虑的，其实是「特征空间（feature space）」。

特征空间是可能空间的一部分，它包含那些值得考虑的、合理的、看起来有希望的可能性。围棋里，你面对一个局面，大概能猜到哪些下法是好的，哪些是不靠谱的。把所有“看起来还行”的方案挑出来，缩小搜索范围，就构成了特征空间。

麦克卢尔举的一个例子是在冬天里做一副手套。所有材料、所有形状的组合，构成了手套的可能空间。而你考虑到实用性，会专门从几个核心维度选择手套的做法，比如厚度、蓬松度、吸水性、强度 —— 这几个维度就构成了你选择的特征空间。

特征空间是你对庞大的可能空间的压缩，是筛选出来的重点候选区域。

而我们最终要找到的那几个“解”，则又是特征空间里的一个子集，这就是「解法空间（solution space）」。

硬核问题为啥难办？

首先是特征空间里各个元素之间，往往没有明确的因果关系，有的还是相互矛盾的。比如你做手套，要追求保暖，就必须加厚，但手套一厚，灵活性就下降。再比如围棋，你这一手这么下，下一手就不能那样下了。

更重要的是，解法空间只是特征空间的一个极小的部分，而特征空间又只是可能空间的一个极小部分 —— 这就意味着你用传统的穷举搜索根本跑不过来。

用计算机科学的语言来说，这就是所谓的「NP-hard」问题。这里没有高效的算法能在合理时间内算出结果……所以你没法设计解法。

其实魔方和围棋都还不算真正的硬核问题，因为它们的可能空间虽然大，终究也还是有限的。围棋棋盘就这么大，魔方的组合也就这么多。而真实世界中的硬核问题，可能空间则是无限大的。

比如一只猎豹在丛林中捕食、奔跑、穿梭，它面临的环境变化无穷无尽，你很难说它需要考虑多少个因素。而它的特征空间，也就是那些看似值得考虑的参数和变量，维度极高，关系极其复杂。

猎豹远比魔方和围棋难以求解。

✵

可是大自然恰恰找到了猎豹的解。

猎豹活得很好。但我们并不能完全理解猎豹。当然你可以总结几条猎豹的生活规律，但你永远都没法完全解释它的大脑怎么运行、它的肌肉怎么协调 —— 在相当的程度上，猎豹是一个黑箱。

但这里的启发是，硬核问题虽然用传统的设计方法无法求解，但它是有解的！这个解虽然不能说容易找到，但终究是可以被发现的。

我们求解硬核问题不是靠设计，而是靠另外两种能力：模式识别（pattern recognition）和启发式（heuristic）。

所谓模式识别，首先是一种抽象能力，是你能抓住不同表象背后的共性。比如你很善于识别人脸，你认得你的家人、朋友和同事。但你不觉得这很神奇吗？要知道他们的样子每天都在变化！他们有时候会化妆、有时候不化妆、他们会疲惫、浮肿、减肥、变肥……但你总能认出他们。你抓住了他们身上不变的、本质的特征。你并没有去精确测量他们鼻子的宽度和眉毛的长度，但你就是能认出来。

这就是高级抽象能力，是一种对信息的压缩，是从看似不同的形态中提炼出共同结构。哪怕环境变量有些波动、有些不确定性，你依然能从中找到那个稳定的线索。你是怎么做到的？说不清楚。这就是神经网络的特点：黑箱。

第二个能力是启发式，简单说就是窍门、套路和标签。比如人的各种情绪反应就是启发式：你害怕就会想逃跑，喜欢就会想靠近。这些判断并不精确，有时候会犯错，但是大多数情况有用。

有了模式识别和启发式，你就在迷雾中有一个大致的行动方向。

这样你就会去试错、收到反馈、调整。这是「软搜索」—— 是带着思路、有指引地试错，不是简单穷举。就像神经网络训练一样，你内心的模型不断迭代，逐渐变得更精巧、更精确。

最终你会得到一个复杂的内部模型，这就是硬核问题的解法。

那个模型必须足够复杂 —— 复杂到无法解释 —— 才行，因为只有复杂才能应对复杂。

✵

没有人专门学习人脸识别，咱们举一个需要学习的例子：射箭。

射箭看起来像是一个可以设计的技能，你能总结一套操作规程：怎么握、怎么拉、怎么瞄……但那些所谓「动作要领」其实只是启发式！它们的实际意思是告诉你*大概*该怎么做。

真上了战场，你根本不可能精确计算这个弓要拉到多少度、用多少牛顿的力量、箭的仰角是多少才能击中15.73米外的敌人。你不计算那些东西，你是“感觉”出来的。而这种感觉，就是你通过反复训练形成的一个神经网络模型。

学会射箭，你就解决了一个硬核问题。

传统观念认为这种解法得到的只是“近似解”，是一种无奈之举 —— 人能掌控的精度有限，所以射箭必须凭感觉……但是麦克卢尔这里提出了一个重大观念更新：这个解法根本不是近似解，不是什么不得已而为之的次优方案：这就是硬核问题真正应有的解法！这就是求解复杂问题的最佳路径。

是，你往往不会百分之百正中靶心；但你根本不需要绝对的精确。真实世界哪有绝对的精确？我们不需要找全局最优解，你只要找到一个“能用”的好解就行！

这个靠训练、靠迭代、靠试错、靠模式识别不断优化的过程，就是解决硬核问题的正道。

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2025051922/1876539922509746784/051922.png)

✵

硬核问题的解有三个特点。

第一个特点是：一旦你发现了它，它的实施速度是极快的。识别人脸是一瞬间的事情，根本不需要考虑。学会射箭需要长期的训练，但只要学会了，你在战场上抬手就是一箭，动作干脆利落，命中率极高 —— 你不需要翻开什么射箭手册逐步核对操作流程。局面是复杂的，但解决是干脆的。

第二个特点是：这种解具有极高的灵活性。你看猎豹，它要捕猎、要占领地盘、要找地方睡眠、要防范敌人、要抵抗寄生虫、还要适应气温变化 —— 可是它都能应对。换个环境、食物多一点或少一点、温度高一点或低一点，它都能迅速调整。一旦内部模型训练完成，它就具备了高度的适应能力，可以在各种复杂、不确定、甚至混乱的环境中正常工作。

从这两个特点上讲，硬核问题的解，其实是最好的解。人射箭远比机器人跑步灵活，猎豹远比桥梁和飞机高级。

但硬核问题的解也确实有一个明显的缺点，这就是它的第三个特点：不可解释。

你没办法精确解释你是怎么完成那个动作的。一个老师傅教徒弟射箭，他也不能讲一遍口诀就让徒弟立刻掌握技巧，他甚至说不清那一瞬间到底是怎么瞄、怎么发力的。他其实只是指导徒弟反复练习，真正的学习属于徒弟自己。

我们得到的其实是一种感觉。而感觉，可比流程高级太多了。

✵

此时此刻，AI正在帮我们解决各种硬核问题。比如用强化学习控制核聚变装置中等离子体的形状，比如自动驾驶汽车，比如发现新药分子，比如预测蛋白质的折叠方式……这些都是以前长期解决不了的问题。

这是因为我们以前的思路是设计，而现在的解法是发现 —— 是通过「变异—迭代—选择」演化出来。

这里最大的好消息就是一旦你找到了一个有效的解，它的处理速度就是又快又好。

爱因斯坦说，「上帝是不可捉摸的，但并无恶意」 —— 说的一点都没错，何止是并无恶意，而且是充满善意。原来越复杂的系统，里面越可能有高效、优雅、美丽的解。

原来复杂不是诅咒，而是祝福。

你一旦意识到这一点，就会发现我们过去所解决的那些问题，都是人为简化过的，是对大自然的各种扭曲。我们从来没有像今天这样能够直面硬核问题。

为什么复杂系统里有高妙的解？因为复杂系统是有趣的系统。它最有意思的一个特点就是「涌现」，咱们下一讲再说。

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2025051920/1876533979348299740/051920.jpeg)

### 💡 精华要点
- 1.复杂不但不是负担，而且是优势。求解硬核问题不是靠设计，而是靠另外两种能力：模式识别和启发式。
- 2.靠训练、靠迭代、靠试错、靠模式识别不断优化的过程，就是解决硬核问题的正道。
- 3.硬核问题的解有三个特点：实施速度快、极高的灵活性，但不可解释。这种解法虽然可能不是最精确的，但往往是最适合复杂系统的。复杂不是诅咒，而是祝福。
