与 AI 谈「做减法」
一次关于极简的对话
今天和 AI 聊了聊「做减法」这个原则,挺有意思的。
W
Walker
做减法这件事,奥卡姆剃刀说「如无必要勿增实体」,但什么是「必要」?谁来定义?
AI
Claude
这是个核心问题。「必要」不是一个客观属性,它取决于你当前的目标。同一个功能,对 A 是必要的,对 B 是冗余的。所以做减法的第一步不是删东西,而是明确你在为谁解决什么问题。
没有目标,就没有「必要」的定义,做减法就变成了随机删。
W
Walker
那从系统设计角度呢?不是具体功能,而是架构层面。
AI
Claude
架构层面的做减法,核心是减少概念数量。
一个好的系统应该能用最少的抽象概念解释清楚。如果一个系统需要 10 个概念才能让人理解,那不是复杂,是过度设计。3-5 个核心概念就够了。
Unix 哲学为什么好用?因为它只有几个概念:文件、进程、管道。所有复杂的东西都是这几个概念的组合。
W
Walker
所以做减法不是「少做」,是「想清楚再做」。
AI
Claude
对。做减法的结果是少,但过程不是减——是想清楚。想清楚了,自然知道什么该留、什么该删。没想清楚就删,那叫赌博。
这也是为什么人类主权重要——「想清楚」这件事,需要价值判断,AI 做不了这个决定。
这段对话让我重新理解了做减法。它不是一个操作,而是一种思维习惯——每次想加东西之前,先问自己:我在解决什么问题?这个东西真的能帮我解决吗?
如果我要给这个原则写一条提示词,大概是:
Prompt — 做减法检查
哲学 决策
在添加任何新功能/新概念/新实体之前,回答三个问题:
- 它解决什么具体问题?
- 没有它会怎样?
- 有没有更简单的方式达到同样的目的?
如果第三个问题有答案,用那个更简单的方式。