为什么“加规则”几乎是所有系统的第一反应
当系统出现问题时,最常见、也最容易被接受的解决方式是:
再加一条规则。
- •有异常 → 加判断
- •有误判 → 加条件
- •有边缘情况 → 单独处理
在短期内,这样做往往立竿见影。
系统看起来更“聪明”,问题似乎被解决了。
但这种路径,有一个非常隐蔽的代价:
规则是有累积效应的。
规则解决的是“已知问题”,却制造了更多“未知问题”
每一条规则,都是对某种已知情况的回应。
但当规则数量不断增加时,系统开始面对的是:
- •规则之间的相互作用
- •规则顺序带来的差异
- •条件组合引发的新分支
这些问题,很少在添加规则时被充分评估。
结果往往是:
- •原本稳定的流程开始出现不可预测行为
- •同一类输入,在不同条件下得到不同结果
- •异常的形态变得更加复杂,而不是减少
系统并不是“规则不够”,
而是规则开始彼此干扰。
生产线中的规则,首先是“边界”,而不是“技巧”
在初修生产线中,规则的首要职责并不是提高处理成功率,
而是明确什么不应该被处理。
这意味着:
- •规则用于筛选,而不是强行适配
- •规则用于拒绝,而不是兜底
- •规则用于保护主流程,而不是覆盖所有情况
当规则被用于“尽量让一切都能跑过去”,
系统就会不可避免地走向失控。
为什么“规则越多,越离无人值守越远”
一个关键的判断标准是:
规则是否需要人持续解释和维护。
如果系统运行越来越依赖:
- •人来判断规则是否生效
- •人来决定规则何时启用
- •人来处理规则失效后的后果
那么这套系统,本质上已经不具备无人值守的可能。
规则一旦需要频繁人工介入,
它就不再是系统的一部分,而是人工经验的延伸。
初修生产线中,规则应该承担的三种角色
在成熟的初修生产线中,规则通常只承担三种角色:
1. 输入边界规则
决定哪些照片可以进入主流程。
2. 流程约束规则
保证处理节奏和顺序不被打乱。
3. 异常识别规则
用于尽早发现并隔离问题。
超过这三个范围的规则,
就需要被非常谨慎地对待。
过于复杂的规则可能更危险
过于复杂的规则可能带来难解释、难复现、难预测的行为,从而提升维护成本。
一种常见误区是追求“更智能的规则”,试图让系统自动判断越来越复杂的情况。
但在生产线场景中,
越“聪明”的规则,越容易隐藏不确定性。
- •判断条件变得难以解释
- •失败路径变得难以复现
- •系统行为变得难以预测
这正好违背了生产线最核心的要求:可控、可预测、可复现。
好的规则,往往是“看起来很笨”的
在真实可长期运行的生产线中,
很多关键规则看起来并不精巧,甚至有些保守:
- •条件简单
- •触发明确
- •结果直接
它们的价值不在于覆盖更多情况, 而在于为系统提供清晰、稳定的运行边界。
小结
规则在初修生产线中不是主角,
而是一种必须被严格约束的工具。
规则的职责,是让系统不出问题,
而不是让系统什么都能处理。
当规则被正确使用时,
系统会变得更稳定;
当规则被滥用时,
系统会迅速走向复杂和失控。