工程里的取舍与熵减
工程不是将功能做出来就结束了,而是在越来越复杂的约束下持续做选择。
每天无数次 tradeoff,要考虑项目鲁棒性与过度设计的平衡,在详细的可观测审计和隐私脱敏之间做选择,在统一收敛和多种产品业务差异之间做选择。需求不断改,要在新的理想模型和历史版本之间做兼容,还要考虑兼容到什么程度。内测时候,每次都想急头白脸地直接清库发版,最后总是发善心,默默做迁移、做灰度。
犯懒时总会想起去年技术债爆发的时刻,只能无奈地继续改。有些问题是真的风险,有些担忧又只是想象中的完美主义,还要在安全性、可用性、复杂度与演进成本之间反复权衡。
资历尚浅,确信太阳底下无新事,此刻遇到的问题必有前人踩过,所以工程风格是循规蹈矩的学院派。偶尔遇到当年背过的八股派上用场,会感慨回旋镖终于正中眉心。开心之余又会发现,我喜欢的那些被称作最佳实践的东西,总是不能被不加折损地应用进当前的业务场景。恨此事古难全,月有阴晴圆缺。
明白真正难的不是能不能做,而是做到什么程度最合适。原来所谓架构,很多时候就是在有限现实里,做出一组长期来看最稳妥的取舍。我总在诘问人活着的意义,顿感虚无,原知此事也从来没有确定的答案。
如果真有银弹就好了,如果世间只有黑白两种极端就好了。即使 AI 能将人从一些机械劳动中解放出来,无序变有序也不是件容易的事情。
但还好,我同样喜欢熵减的过程。