最近在 GitHub 上看到一个叫 whenwords (https://github.com/dbreunig/whenwords) 的仓库,没有源码、没有实现,只有一份接口规范和一组测试用例。最初的反应是:what??? 又是哪个行为艺术么这是?
但可惜、好在,并不是。
它用一种反常识的方式,顺应了一个新趋势——
代码,正在从软件的主体退化为一种「日抛型」产物。
这个仓库的做法有些极端,同时也非常干净。虽然其目的是提供时间格式化的工具,但作者没有提供任何语言的实现,只给出清晰的行为规范(SPEC)和一份与语言无关的测试用例。
README 里甚至直接告诉你:把这些内容丢给大模型,告诉它你想要的编程语言,它会帮你生成一个完整可用的库。
作者管这种形态叫「幽灵库」(Ghost Library)。这名字起得贴切,它没有肉身,只有魂魄。
这种无欲无求却又包罗万象的调性,我索性称之为「空代码」。
No Kidding。
长期以来,我们对「无代码/低代码」的理解,基本都停留在平台层面:可视化拖拽、流程编排、表单配置。
表面上不写代码,背后依然是厚重的平台、私有 DSL、封闭生态,以及大量你无法控制、也无法迁移的隐性代码。
所以我是「无代码/低代码」万年黑。
所以我是「无代码/低代码」万年黑。
所以我是「无代码/低代码」万年黑。
whenwords 展示的却是另一种意义上的 Codeless。
这里的空代码,不是你不被允许写代码,而是——根本不需要提前存在代码。
代码不再是资产,而是一次性的生成结果;不再被维护和共享,而是被随时推导和重建。
真正被长期维护、被认真打磨的,只有三样东西:
行为契约;
边界条件;
可验证的测试。(众所周知 Verifiable 很重要)
这就是所谓的「代码日抛」。随用随生、用完即弃。
这件事之所以成立,在于它精准踩中了 LLM 擅长的从清晰规范到完整实现的映射能力。
当规范足够明确、测试足够严格时,生成代码反而变成了一件工程性很强、但创造性要求很低的事情。
一个工具库、一套 SDK、一个内部服务适配层,它们的价值并不在于实现技巧,而在于行为是否稳定、一致、可预测。只要规范存在,它们实现随时可以用最新模型、最新风格、最新语言重生成一遍。
你甚至可以想象这样一种未来:
升级依赖,不再是拉新版本代码;而是用新的模型,重新「编译」一遍规范。
也许未来不会所有软件库都变成这样。复杂系统、性能敏感组件、基础设施层,依然需要精心打磨的人类代码。但至少有一大类软件,会逐渐从「源码仓库」演化成「规范仓库」。
代码库是空的,但正因为空,才装得下无穷的可能。
技术绕了一大圈,最后发现最重要的能力,竟然还是把一件事说清楚。
所以语文很重要。语文老师很重要。