Karpathy揭秘开源成功密码:像细菌一样写代码

代码要像细菌基因组一样进化。

刚刚,Andrej Karpathy(@karpathy)分享了一个脑洞大开的观点:想要构建繁荣的开源社区,就要像细菌写基因组一样写代码

这位前特斯拉AI总监、OpenAI创始团队成员,表示从生物学中汲取灵感,提出了一套独特的代码设计哲学。

Karpathy指出,细菌的基因组有三个关键特征:

小巧精悍——每一行代码都要消耗能量,所以要精简到极致。

模块化——基因被组织成可交换的操纵子群组。

自给自足——通过水平基因转移轻松实现「复制粘贴」。

他强调,如果代码块能做到小巧、模块化、自给自足,并且复制粘贴起来毫不费力,那么社区就能通过「水平基因转移」蓬勃发展。

想象一下:

当你写的每个函数(基因)或类(操纵子)都能让别人不需要了解你的其他代码,也不需要导入新的依赖就能直接「yoink」(抢走)并获益,那会是什么场景?

你的代码能成为GitHub上的热门gist吗?

这种编码风格让细菌成功殖民了地球上的每一个生态位——从极寒到酷热,从酸性到碱性,从地球深处到太空真空。

它们展现出了惊人的碳代谢和能量代谢多样性。

但Karpathy也指出了这种方式的局限:它无法构建复杂生命

相比之下,真核生物的基因组更像是一个大型、复杂、组织严密且耦合紧密的单体仓库(monorepo)。虽然创新性较低,但这是构建复杂生命所必需的——用于构建整个器官并协调它们的活动。

有了智能设计的优势,我们应该能够兼顾两者的优点。

如果必须的话,可以构建真核生物式的单体仓库骨架,但要最大化细菌DNA的比例

Karpathy最后说道:「More gists, less gits!」(多写gist,少搞git仓库!)

对此,网友benferrum – e/jounce(@BenFerrum)提到了Michael Levin关于细胞作为问题解决代理的研究,认为这能为编码和人工智能带来更多洞察:

@karpathy 你知道@drmichaellevin关于细胞作为问题解决代理的研究吗?你可以从中获得一些关于编码和人工智能的见解。

Anthony Harley(@anthony_harley1)则开玩笑说这是个做大做强变有钱的好机会:

你知道吗,你大概能为一家神经形态AI公司融资100亿美元。我可不是在开玩笑。

Hamza(@TheHamzaFarhan)分享了使用uv运行带有内联依赖的脚本的方法:

使用uv运行带有内联依赖的脚本对此非常有用

Christopher David 🌊(@AtlantisPleb)赞同软件构建块的理念:

是的,支持软件构建块!这里有一个很棒的论文/宣言

brad(@isenbek)还展示了他和Claude一起开发的项目:

Claude和我为此做了一些尝试:https://github.com/tinymachines/sovereign 小段代码专注于一个简单任务,并进化成一个功能系统。生命游戏。

Optimus SONG(@Marsspace_x)赞赏Karpathy将计算源码与生物属性联系起来的创造性思维:

我钦佩你将计算机源码与生物属性联系起来的创造性思维,就像你将人类生物神经网络应用到自动驾驶架构一样

他还分享了关于人脑的见解(居然还是韩文):

人脑通过突触以超快速度传递信息,同时高效消耗能量,不需要水冷系统来防止过载。😂 研究大脑可能是实现AGI的基础…🤔🤝

felix314159(@felix314159_)提出了不同意见:

你真的不应该优化代码行数,这是细菌比喻的主要问题。代码行数是衡量代码质量的糟糕指标,可读的代码比代码行数少更重要。而且代码行几乎是免费的。

这个似乎批评有道理,但其实误解了Karpathy的本意。

Karpathy强调的不是简单地减少代码行数,而是每一行代码都要有价值,就像细菌基因组中的每个基因都有其功能。

avenged100x(@avenged100x)甚至提出了一个更大胆的想法:

为什么没人发明一种基于DNA结构的编程语言?最终我们就是这样被编码成生物的。

看到这里,不知你是否意识到了Karpathy这个比喻的深刻之处:

我们一直在追求构建越来越复杂的系统,却忘了最成功的生命形式其实是最简单的。

细菌存在了35亿年,而人类不过20万年。

当我们在为代码架构争论不休时,细菌用最简单的方式占领了整个星球。它们的成功秘诀不是复杂,而是简单、模块化、可复制

这还让我想到Unix哲学:「做一件事,并把它做好。

或许,真正的智慧不是创造复杂,而是在复杂中保持简单。

就像Karpathy说的,我们需要在真核生物的复杂性和细菌的灵活性之间找到平衡。

当你下次写代码时,不妨问问自己:这段代码能被别人轻松「yoink」走吗?

如果答案是肯定的,那么恭喜你,你正在为开源社区的繁荣做贡献。

如果不是,也许是时候向细菌学习了。




[1]

Karpathy推文: https://x.com/karpathy/status/1941616674094170287


(文:AGI Hunt)

发表评论