I was thinking about how there isn’t really an “executable” version of knowledge.

In software, we have declarative data (data notation like JSON and Edn, wire formats like Protobuf) and executable code (functions, expressions, procedures that operate on data). Both data “code” and executable “code” are first-class that we work with to describe software systems.

In the realm of less structured, more general knowledge work, though, it’s not obvious that there is such a thing as “executable knowledge”. Knowledge feels static and declarative — a collection of statements of facts about the world.

          | Declarative | Executable
------------------------------------
Software  | Data        | Programs
Knowledge | Facts       | ???

我在思考为什么知识实际上不存在“可执行”版本。

在软件中,我们有声明性数据(database、JSON 等数据符号)和可执行代码(对数据进行操作的函数、表达式、过程)。

然而,在结构性较差、知识更一般的领域,似乎并不存在“可执行知识”这样的东西。知识给人的感觉是静态的、陈述性的——是关于世界的事实陈述的集合。

填补这一空白的一种方法是注意到程序是对数据的转换:程序接收一些信息并对其进行转换以对其进行修改或输出新信息。按照这种逻辑,我们可以说,无论“可执行知识”空白中的内容是什么,都应该能够对知识进行转换:接收一些关于世界的知识,并产生一些关于世界的新陈述。另一种说法可能是推理;我们从一些知识基础开始,_推断出_我们以前可能不知道的东西。帮助我们拓展知识的边界。 思维流


对于知识性的内容,尤其是隐形知识,是碎片化、非系统化、连接、甚至意象的存在,承载最好的载体是md,然后通过各种transformer,生成各种可解释的、可视化的内容,形成被感知的东西。最初的目的也在此。