第 01
人类与 AI 需要一个共享的数字现实
人类与 AI 并不在同一个显式的数字现实之上运作。 这是一个持续展开的论纲的奠基章节,讨论我们如何弥合这道鸿沟。
碎片化的现实
人类看到的是任务、文件、设备、项目、房间、对话和工作流。 AI 通常看到的是提示词、API、工具输出以及不完整的 schema。
双方可能都在接触同一套系统,但并不共享同一个显式的真实模型。
人类可能知道“前门锁着”或“这个代码仓库坏了”,而 AI 往往只能看到零散的 API 响应、提示上下文或工具输出。它们围绕的是同一个现实在行动,但并不是基于这个现实的同一个显式模型在行动。
现实本身具有结构
现实不会等到软件去描述它。房间、设备、文件、对话、工作流以及 不断变化的状态,本身就带有结构和意义。
人类直接在这片疆域上行动。他们知道一扇上锁的门意味着什么,知道 哪块屏幕处于活动状态,也知道一个代码仓库何时出了问题,因为他们 所处并行动的世界本身已经是组织好的。
软件并不是凭空发明这种结构。它是在试图对这种结构进行建模。
文本隐藏了世界模型
当前软件其实已经在对现实建模。每当软件表示住宅、门、电视、频道、 文件、任务或对话时,它就携带着一个世界模型。
问题不在于软件缺乏结构。问题在于,大多数系统把这种结构困在源代码 里,并以文本形式交换。
界面暴露的是碎片。API 暴露的是碎片。工具输出暴露的也是碎片。人类 和 AI 与系统相遇,主要是在这些边界上,而模型本身仍然隐藏着。
图让模型显式化
如果世界模型才是我们真正关心的东西,它就不应该继续隐含在代码内部。 它应该变得显式、共享、规范。这里所说的“规范”,是指一种单一的结构化 世界模型表示,能够被界面、服务和行动者一致地解释。
这正是 Object Config Graph 的角色。
Object Config Graph 是一个声明式图,用来描述:
- 可以存在的对象,
- 它们可以持有的状态,
- 它们之间的关系,
- 以及可以作用于它们之上的合法操作。
这就是地图。
这也是 Aware 正在 aware.run 实现的关键动作: 让模型本身显式化,使界面、服务和行动者能够基于同一个结构性真相 来运作。
地图、投影、疆域
Home 这个例子让这条序列变得具体。
Object Config Graph(OCG) 就是 地图。它定义了在这个现实中什么可以存在:Environment、Home、Door、 Tv、TvChannel,以及它们之间的关系和其上的合法操作。
Object Projection Graph(OPG) 是这张地图上的投影。在 Home 图中,
蓝色的 Home projection 就是那个语义作用域。它不会创造第二个世界,
而是选出地图中对某种表示、工作流或体验真正重要的那一部分。
你也可以把 projection 理解为地图上的“透镜”,但更重要的是,它仍然 结构性地锚定在同一份共享配置之中。
Object Instance Graph(OIG) 则是这片投影作用域对应的疆域。当它 被实例化为真实对象和状态时,就成为一个具体的 home、一个具体的 door、 一台具体的电视,以及一个具体的活动频道。
这就形成了一条清晰的序列:



因此,投影不仅仅是一个过滤器。它从地图中选取一个有意义的作用域,并赋予这个作用域语义上的目的。 随后,界面会把这个有作用域的投影具体化为 pane,使状态变化以可观察的 delta 形式呈现出来。
例如,一段对话可以投影出消息、文本、提及和参与者。 一个家庭空间可以投影出门、屏幕和当前激活的频道。 一个代码仓库则可以投影出代码结构、布局和文本工件。
关键在于:地图始终是共享的,而不同的投影则让人类与 AI 能够围绕这个同一个世界中的有意义作用域展开工作。
通过 Commit 演化疆域
一旦共享的疆域存在了,下一个问题就是:它如何演化?
Git 提供了一个有用的参照点。一个代码仓库就是软件世界上的一种投影:在这个有意义的作用域中,文件、目录和文本构成了值得关注的疆域。
这个疆域通过被打包为 commit 的 delta 持续演化,而某个特定的 commit 则作为当前 head,使状态能够由此被重建出来。
Aware 继承了这一核心原则——可归属的变更以 commit 的形式打包——并把它从文本仓库扩展到共享世界模型之上的通用投影。
这正是规范表示迈向规范演化的边界。