这篇短文告诫人们不要对人工智能(AI)过度炒作,并将它与过去许多被过度承诺的技术相提并论——从3D电视和豆豆熊到元宇宙和Quibi。作者指出了一种模式:那些曾经热情推崇过去失败技术的人,现在又宣称AI是*那个*革命性的未来。 引用约翰·腾普尔顿爵士关于相信“这次不一样”的危险的警告,文章认为AI很可能只是众多技术中的*一种*,而不是一个能够改变世界的单一力量。它使用了特里·普拉切特对安克-莫波克的类比,来说明系统如何适应并吸收甚至具有颠覆性的力量,从而防止被完全接管。 最终,这篇文章提倡一种现实的视角,认为驱动AI投资的“赢者通吃”理念是不可持续的,并且缺乏历史先例的支持。
## BuildKit:不仅仅是Dockerfile构建器
BuildKit是一个强大、可插拔的构建框架,是`docker build`的基础,但其功能远不止于构建容器镜像。它是一个通用的系统,用于将构建定义为文件系统操作的有向无环图。
其核心是**LLB(低级别构建定义)**,一种表示构建步骤的二进制格式,可实现内容寻址缓存,从而提高速度和可重复性。**前端**将构建定义(如Dockerfile、YAML或自定义DSL)转换为LLB,使构建*语言*灵活且可定制。然后,**求解器**执行LLB图,利用缓存和并行化。
BuildKit不限于镜像;其`--output`标志允许将构建导出为tarball、本地目录或APK和RPM等软件包。Earthly和Dagger等项目展示了这一点,利用BuildKit的引擎进行CI/CD和复杂构建。最近的例子`apkbuild`展示了直接从YAML规范构建Alpine软件包,*无需*Dockerfile。
本质上,BuildKit提供了一个强大、预构建的构建引擎,处理缓存、并行化和可重复性,让开发者专注于定义*构建什么*,而不是*如何构建*。