最近有一个非常重要的认知:产品创业公司的代码库应该"architect for breaking changes, with AI"。具体行动就是:说服自己写大量重复的代码。除非万不得已,不要封装/创建抽象层。
原因有两层:
1. 创业公司产品经常大改,而且改动频率不可预知。很有可能上周产品最核心的功能,这周因为认知迭代就会被完全丢掉,因此设计简洁优雅抽象层的努力大多都是徒劳和浪费。
2. 因为目前80%的代码都由AI理解、生成,代码库必须为AI的喜好和能力而设计。AI做的很好的是利用long context理解冗杂但逻辑层次简单的代码并批量更改,很难做好的是在各个抽象层次间做推理 & 理解。
其实(2)有更深的意义:大部分所谓的软件架构,都是为正常人方便理解而设计的,而机器并不需要。尽管我们喜欢用抽象层来压缩信息塞进我们小小而聪明的脑袋,我们也要克制自己,去为大大笨笨的AI脑子写代码。
如果想的再深一层,这是创作抽象层再一次提高的必然结果(想想看为啥编译优化里会有inline & loop unrolling)。
 
 
Back to Top