Skip to content

16 · 设计公理

Why not “perfect”

用户问过一个直击灵魂的问题:「我们的自动审批功能存在完美的代码吗?」。答案是:不存在,也不该追求。三个原理性理由 ——

  1. 语义鸿沟:代码只能做语法/文本层判断,真实危害在语义层(symlink 逃逸、命令别名、语义含糊的命令)。静态规则再细也摸不到语义。
  2. 评审者本身是 LLM:会被提示注入、会犯错、会退化 —— 所以有熔断、有 reasoning-blind、有「高危永远人的事」。
  3. fail-open / fail-closed 是本质权衡:不是可以消除的缺陷,是两个方向的选择。

所以自动审批追求的是「fail-closed 正确性」而非完美不确定就拒绝/问人 误拒远好于误放 决议可溯源可审计 每个保护边界都有反向契约测试

TIP

🛡️ 一句话总结:小事快快过,中事边问边看 LLM,大事一定找人; 拿不准就说「不」;谁决定的记下谁;干过的全都写进审计。