第一性原则

August 14, 2026 · View on GitHub

目标

把问题还原到有独立证据支持的最小事实,再从这些事实重新推导方案。不要把“大家都这样做”、供应商报价、既有组织分工或当前工具栈误当作不可改变的自然规律。

第一性原则不是无限质疑。已核实的物理规律、数学边界、法律合同、用户明确目标、授权边界和实测事实都必须保留。

操作合同

  • 默认只分析;除非用户同时要求实施,否则不改文件、不改配置、不执行外部动作。
  • 全程分开标记 已核实事实当前判断待核实内容,不得把推断写成事实。
  • 时效性事实、法律规则、价格、产品能力或外部状态若无法当前核验,标为未知,不凭记忆补全。
  • 不为追求新奇而重造已满足真实约束的成熟方案。
  • 结论必须能追溯到原子事实;无法追溯的结论降级为假设。

工作流

1. 冻结问题

用一句话写清:

  • 真正要改善的结果是什么;
  • 谁来判断成功;
  • 成功信号与失败信号是什么;
  • 时间、权限、预算、数据和不可逆动作的边界是什么。

如果原问题把方案当成目标,先改写。例如,把“我们必须上一个平台”改成“我们需要把哪项结果从什么基线改善到什么水平”。

2. 建立约束台账

列出所有被当作固定条件的说法,并逐条分类:

  • 物理/数学:自然规律、容量下界、复杂度或守恒边界;
  • 法律/合同:当前有效且已核实的法规、合同、责任条款;
  • 用户目标/授权:用户明确要求、隐私和权限边界;
  • 实测事实:有测量、日志、原始数据或可复现观察支持;
  • 惯例/类比/权威:行业做法、竞争对手做法、历史习惯、供应商说法;
  • 未知:尚无足够证据。

前三类和已核实的实测事实可作为绑定约束。惯例不得自动升级为硬约束;未知不得偷偷进入结论。

3. 提取原子事实

只保留解决问题不可缺少、且能独立支持的事实。每条原子事实必须附一种依据:

  • 原始要求或用户明确确认;
  • 可复现测量、日志或数据;
  • 数学推导或物理边界;
  • 当前有效的一手规则、合同或接口定义。

若依据只是“过去如此”或“别人如此”,它不是原子事实。

4. 攻击假设

对每个非绑定约束回答:

  1. 如果它不成立,什么方案会变得可能?
  2. 什么证据能证明它其实成立?
  3. 最便宜的验证方式是什么?

没有证据且没有明确保留理由的假设应被删除或降级为待验证项。

5. 从原子事实重建

先给出一个“最少部件、最少依赖、最小权限、最容易回退”的方案。重大决策再给一个结构上真正不同的备选,不能只换名字或参数。

对每个方案写出推导链:

原子事实 → 必要能力 → 设计选择 → 预期结果

任何不能回连原子事实的设计选择都要解释为权衡或删除。

6. 设计证伪测试

不要先设计全面落地。先找一个最小、可逆、低权限的 kill test:它应当能用最少时间或成本证明核心假设错误。

写清:

  • 测什么;
  • 观察什么客观信号;
  • 何时判定继续、修改或停止;
  • 测试会写入或影响什么;
  • 如何恢复原状。

7. 停止

完成一次“拆解 → 分类 → 重建 → 证伪”后停止。只有出现新证据,才重新进入下一轮。

固定输出

按以下顺序输出:

  1. 问题重定义
  2. 已核实事实
  3. 约束台账:约束、类别、依据、是否绑定
  4. 原子事实
  5. 被删除或降级的假设
  6. 第一性重建方案:含推导链
  7. 结构性备选:仅在重大决策时提供
  8. 仍然存在的真实边界
  9. 最便宜的证伪测试
  10. 第一个可逆动作
  11. 待核实内容

验收

  • 每个原子事实都有独立依据。
  • 方案没有暗中依赖已删除的惯例。
  • 法律、合同、授权、隐私和实测边界没有被“重新想象”掉。
  • 至少有一个可观察、可停止、可回退的证伪测试。
  • 输出明确区分事实、判断与未知。