2737 字
约 9 分钟
20
S19-A16 · 技术判断力的形成:从记住结论到能推导

同一个方案,两个人给出的意见截然相反。一个说"这个方案成熟,很多公司在用",另一个说"在我们的数据量下它会先崩"。前者说得对但没用,后者说了具体条件。三年后回看,前者换了三家公司在说同样的话,后者成了团队里被追问细节最多的那个人。

技术判断力的差别不在知识量,而在结论是否附带条件。"这个好"与"在我们的场景下、这些前提成立时、这个更好"是两种完全不同的话,前者无法被验证,后者可以被推翻——而只有能被推翻的判断才有价值。


1. 判断力的四个层级

层级 表现 能否被验证
复述结论 "用 X 就行,大家都在用" 否
说出理由 "因为 X 的性能好" 部分(理由可能不适用)
给出条件 "在 A、B 成立时 X 更好" 是
给出失效信号 "如果出现 C,就说明选错了" 是,且可提前发现

这四层的实际分布很极端:大部分讨论停留在第一、二层,因为前两层不需要承担被推翻的风险。说出"什么情况算我错",等于主动交出了判断的免责,这在组织里需要一点安全感。

第四层才是完整形态。它把判断从"一次性的决定"变成"可监控的假设"——你不仅说了什么对,还说了什么情况下它不再对。

2. 结论为什么容易脱离条件

原因 机制
二手信息压缩 转述时丢了前提,只留结论
场景不可见的传播 别人的量级与你差三个数量级
时间衰减 结论在写下的那天成立,之后环境变了
成功案例偏差 失败的那批不会写文章

第二项最致命:"某公司用了这个方案"这句话里,最有信息量的部分是他们没说的——他们的数据量、团队规模、演进阶段。拿这些去套自己的场景,等于用别人的答案答自己的题。

第三项(时间衰减)值得单独说:一个结论的有效期通常短于它在文档里的寿命。三年前写的选型理由,当年的前提(数据量、团队规模、依赖版本)都已变化,但文档还在,后来的人读到它时无法判断哪些前提已经失效。

第四项解释了为什么技术圈的观点看起来总在摇摆:写出来的案例大多成功,失败的沉默,于是每个方案在传播中都显得比实际更可靠。

3. 一个可复用的判断结构

要素 回答什么 例子
前提 在什么条件下成立 数据量在千万级以内、单机可承载
代价 用了它要付出什么 运维复杂度上升、需要额外监控
失效信号 什么现象说明选错了 单表超过两千万行、写入延迟上升
可逆性 错了能不能退 可以从双写退回,代价一天

这四个要素可以写成一个很小的模板,成本远低于写一份设计文档:

// 判断卡:四行,写下来就比只在脑子里强
decision: 用 Redis 作为商品详情缓存
premise:
  - 读远多于写(读写比 > 20:1)
  - 可接受 5 秒内的不一致
cost:
  - 多一套需运维的组件
  - 需要处理穿透与雪崩
invalidate_when:
  - 商品详情需要与库存强一致
  - 单键超过 100KB 或热键占比 > 30%
reversible: 关缓存直连库,代价为延迟上升约 3 倍

invalidate_when 这一栏是最有价值的部分:它同时是监控指标的定义来源。

四个要素里,失效信号最难写,也最能区分判断力。写得出失效信号,说明你真正想过它在什么情况下不成立;写不出,说明这个判断还停在"听起来合理"。

// 三种说法的差别,同一件事
A:用 Redis 做缓存就行。
B:用 Redis 做缓存,因为它比数据库快。
C:用 Redis 做缓存,前提是读多写少且能接受短暂不一致;
   代价是多一套需要运维的组件;
   如果出现"缓存与库对不上且业务不能容忍",说明该换成读副本或强一致方案;
   可逆:关掉缓存直连数据库即可,代价是延迟上升。

C 与 B 的差别不是字数,而是B 无法被人用事实推翻,C 可以。

4. 判断力的三个训练方式

方式 做法 训练什么
复盘预测 事前写下判断与失效信号,事后对照 判断准确率
反方论证 为自己的方案写最强反驳 找出被忽略的前提
条件迁移 把别人的结论追问出前提 识别二手信息缺失

可以让这件事变成习惯的最低成本形态:每次技术决定留一行预测,写在决策记录或变更单里,注明复查时间。

// 一行预测,成本极低,收益是半年后的自我校准
预测:启用读写分离后,报表查询 P99 从 4s 降到 1s 以内
复查:2027-01 之前回看
失效:若 P99 仍在 2s 以上,说明瓶颈不在主库竞争

第一项最简单也最有效:在事情发生前写下"我认为会怎样,如果出现什么就说明我错了"。半年后对照,你会发现自己系统性地在某一类判断上偏乐观——这是任何课程都教不了的自我校准。

第二项有个具体做法:把方案交给一个不熟悉它的人,让他只挑毛病。自己写反驳容易手软,因为你知道每个反驳的答案。

5. 什么时候直觉够用

场景 是否需要显式判断
已有明确规范的操作 否
可逆且代价极小的改动 否
不可逆或影响面大 是
涉及多方的取舍 是
与既往做法冲突 是

直觉是压缩过的经验,它在熟悉的场景里效率极高。判断力不是"每次都从头推导",而是知道哪些场合不能只靠直觉。

// 三问决定要不要展开成完整判断
1. 错了能不能改回来?      否 → 展开
2. 影响面是否跨团队?      是 → 展开
3. 是否与团队既有做法冲突?是 → 展开
全否 → 直接用直觉,节省时间

6. 排错:五种"判断看起来对但没用"

现象 成因 处理方向
讨论变成立场之争 双方都没给失效信号 要求各自写出"什么情况算我错"
结论半年后不适用 前提变了但没人重估 在方案里记录前提与重估时间
引用别人的案例被反驳 场景差异未被识别 追问量级、团队、阶段
评审通过但落地失败 组织前提未纳入判断 判断里加上"谁维护"
判断正确但没人采纳 只有结论没有路径 补上代价与可逆性

还有一种常见现象值得区分:判断正确但被否决,与判断错误被采纳,两者的复盘价值完全不同。前者需要改的是表达与利益相关方的对齐,后者需要改的是判断依据。把两者混在一起复盘,通常得出"沟通很重要"这种无行动价值的结论。

第五项是沟通问题而不是判断问题,但它常被误认为判断力不足。一个正确的判断如果没说清代价,听的人无法评估风险,只能选择不做。

判断力还有一层与"敢说不知道"有关的能力:能明确区分"我知道"与"我推断"。前者有证据,后者有条件;把它们混着说,会让听的人无法分配信任权重。一个常见的失败是:用"我推断"的语气讲了十分钟,最后被当成"我知道"采纳了。

// 三种确信度的表达,混用会导致误采纳
已知:我读过这个版本的源码,行为是这样的。
推断:基于文档描述,我推断它会这样,但没验证。
未知:这一块我不清楚,需要一次最小验证。

// 说出第三种最难,但它决定了别人会不会做重复劳动

7. 边界:什么情况不必追求完整判断

场景 为什么 做法
试验性探索 结论本来就会变 只记假设,不写完整论证
有明确标准答案的问题 无需取舍 查规范
时间极紧的应急 先处置后复盘 决策留痕,事后补判断
个人范围内的选择 影响面小 凭经验即可

判断口径一句话:这个判断会不会被别人用来做另一个决定。会,它就必须附带条件与失效信号;不会,它只是你自己的思考过程。


8. 自测

  1. 四个层级中,哪一层才算完整形态?它比"给出条件"多做了什么?
  2. 为什么"某公司用了这个方案"这句话里最有信息量的部分往往没说?
  3. 判断结构的四个要素是什么?哪一个最难写、也最能区分判断力?
  4. 为什么"事前写下判断与失效信号"比其他训练方式更有效?
  5. 直觉在什么场合够用?三问的判据分别是什么?
  6. 一个正确的判断因为没写代价而未被采纳,这属于判断问题还是沟通问题?为什么容易混淆?
S19-A16 · 技术判断力的形成:从记住结论到能推导
https://www.clxhxhhr.top/posts/6408/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。