系列: 与 AI 一起学编程

AI 作为神经系统,而不是 AI 作为工厂

加装的聊天面板与置于帧循环中的 AI 之间的区别。

神经系统,而非工厂 模型活在哪里,决定了这个世界能做什么 工厂 模型 磁盘上的制品 运行时消费 单向、有界、预先写好 神经系统 感知 观察 行动 应用 每一帧
两种架构。在这一层做出的选择,约束了它之上的一切。

"AI 原生"是 2026 年引擎市场上被稀释得最厉害的一个词。这里是把一个聊天面板和一个模型在每一帧都参与循环的运行时区分开来的那条架构分界线——也是 RakuAI 所构建于其上的那条线。

2026 年,大多数自称”AI 原生”的游戏引擎和空间计算运行时,说的大致是同一件事。编辑器里某个地方有一个聊天面板。有一个按钮,可以请求一个远程模型生成一个资产。模型产出一个东西。这个东西被放进项目里。在 AI 出现之前就已经存在的运行时,负责运行这个东西。

这就是工厂模式。一个请求发出去。一个制品回来。引擎是消费者。

RakuAI 不是这样构建的。AI 不是流水线上的一个工位。它是运行时里的一个原语。在精神上更接近神经系统,而不是工厂。持续在场,在每一帧的循环中,观察、决策、反应。把它拿掉,拿掉的不是一个功能。拿掉的是让引擎其余部分说得通的那个东西。

如果你只读一篇关于”AI 原生”在架构层面究竟意味着什么的文章,我希望是这一篇。

两种模式,画出来看

这是工厂模式,压缩到它诚实的最小形态:

# Factory: AI produces artifacts. The runtime consumes them.
def author_session(prompt: str) -> Asset:
    response = remote_model.generate(prompt)
    asset = parse(response)
    save_to_project(asset)
    return asset

生命周期很直接。人类输入。模型产出。文件落到磁盘上。运行时之后加载这个文件。模型是一个内容供应商。制品交付之后,运行时再也不与它对话。如果模型下线了,你仍然有一个能工作的引擎。你只是少了一个买资产的地方。

现在是神经系统模式:

# Nervous system: AI is wired into the simulation step itself.
def step(world, agents, dt):
    for agent in agents:
        observation = agent.senses.gather(world)        # what is around me
        intent      = agent.brain.observe(observation)  # AI is in the loop
        action      = agent.policy.choose(intent, dt)   # constrained by deterministic rules
        world.apply(action)
    return world

不同的生命周期。每一帧,每一个智能体,模型都参与贡献世界的下一个状态。模型不是供应商。它是参与者。把它拿掉,仿真就不再有趣了,而这是任何资产库都无法打补丁弥补的那种程度。

这是两种完全不同的架构。你在这一层做出的选择,约束了它之上的一切。

工厂模式为你带来什么

先说实话。工厂模式是真实的、有用的,而且今天正在发布中。它为你带来四样东西。

它为你带来内容上的速度。生成一棵树、一栋建筑、一段关卡布局、一段对话。真实的生产力收益,而”磁盘上的制品”这种模式是获得这些收益最简单的方式。

它为你带来供应商独立性。因为制品活在磁盘上,你可以在不改变运行时的情况下更换是哪个模型撰写了它。这是一种值得拥有的对冲。

它为你带来确定性的回放。制品一旦写下就是固定的。同一个关卡里的两个玩家看到的是同一个关卡。

它为你带来一种干净的失败模式。如果模型不可用,引擎仍然能运行。你只是能创作的东西少了一些。

这些都是真实的收益。如果你的产品是”帮助人类制作游戏的工具”,工厂模式很可能是正确的选择。它的代价是隐藏的。只有当你试图做一些工厂模式做不到的事情时,它才会显现出来。

工厂模式做不到什么

工厂模式无法创造一个以作者未曾预见的方式对玩家做出反应的世界。从构造上讲,工厂模式引擎里的每一个制品都是在玩家到来之前就写好的。行为的空间是制品库与引擎脚本化逻辑的笛卡尔积。空间很大,但是有界的。这些边界在游玩一小时之内就会清晰可见。

工厂模式无法给你能对一个它们没有被预先脚本化过的世界进行有意义推理的 NPC。接入一个由 LLM 驱动的对话系统,你得到的是一种局部上引人入胜、但全局上毫无生气的对话风格。NPC 会说出新的话。世界不会因此而改变。对话系统和仿真是两条平行轨道上的火车。它们永不相遇。

工厂模式无法让体验根据站在某个实际物理地点的实际用户的实际 GPS 坐标来调整。最后这一点是我最在意的。如果你在构建以真实世界为锚点的 XR,体验发生在地球上的某个具体地点,你不可能预先写好每一种可能的交互。世界太大了。情境太多样了。玩家的路径太不可预测了。你要么在循环中做出反应,要么就只能发布一份旅游手册。

这就是 RakuAI 不是一个工厂的结构性原因。

“神经系统”具体为你带来什么

三样东西,按它们变得有趣的程度排序。

第一:在开口之前先观察的 NPC。 当一个智能体的大脑每一帧都在运行,看到玩家实际所处的世界,并根据看到的东西决定做什么时,结果和一个加装了 LLM 的对话树在性质上是不同的。这个智能体可以对下雨做出反应。对一天中的时间做出反应。对玩家已经在它面前站了九十秒却什么都没做这件事做出反应。这些都不在对话里。它们全都在仿真里,而模型是在直接读取这个仿真。

第二:围绕发生地点重新成形的体验。 引擎本身会查询模型。给定这样的地形、这样的天气、这样的一天中的时间、这样一组附近的兴趣点,下一个遭遇应该是什么样子。这个体验不再是一段录制好的东西。它是玩家实际情境的一个函数。在不同城市玩同一个 .raku 体验的两个玩家,会得到不同的游玩会话,而两者都是自洽的。

第三:从架构中涌现出来的行为。 这是当它开始出现时最让我惊讶的一个。当 AI 是一个原语,当引擎里的每个系统都可以调用它,并让自己的决策被它塑造时,这些系统开始以任何单一子系统作者都没有设计过的方式相互作用。一个观察地形的智能体会影响寻路系统。寻路会影响群体行为。群体行为又成为下一个智能体观察的输入。循环形成了。其中一些是有趣的。而那些有趣的循环,正是当初有人愿意折腾这套架构的原因。

提前付出的代价

这种架构是有代价的,而且不小。

你要为设备端推理付出代价。运行在仿真关键路径上的 AI 不能每一帧都做一次网络往返。这意味着模型权重必须活在设备上。这意味着量化、批处理、精细的内存预算管理,以及一个考虑到玩家硬件的部署方案。RakuAI 就是围绕这个约束构建的。小模型,在设备上,靠近热循环。这个约束是真实的、架构性的。

你要为可靠性纪律付出代价。一个在内容工厂里产生幻觉的模型,产出的是一棵奇怪的树。一个在仿真步骤里产生幻觉的模型,产出的是一个奇怪的世界。模型层和确定性层之间的契约必须被设计、验证和审计。这不是事后补充的工作。这就是那份工作本身。

你要为在传统引擎里不会免费获得的可观测性付出代价。当 AI 是每一帧的参与者时,你需要看到它在做什么、什么时候做的、用了什么输入、产出了什么输出。日志。追踪。回放。所有你会为任何分布式系统构建的东西,只不过现在它们活在仿真循环里。

这些代价正是为什么大多数引擎选择工厂模式。工厂模式构建起来确实更便宜。它也确实没那么有趣——只有当你在一个做出了另一种选择的引擎里待过一段时间之后,这一点才会显现出来。

如果你正在构建一个游戏、一个 XR 体验,或者任何其他交互式系统,并且在想 AI 的问题到底是”我该集成哪个模型”,还是某种更深层的东西,答案是:是更深层的东西。当你第一次试图让工厂模式去做一件它不是为此而构建的事情时,你就能感觉到这一点。

周日下午,这种想写下来的文章。明天回去继续搞引擎。

让你的 AI 成为原语的运行时

RakuAI 把模型接入仿真步骤本身——在每一帧观察、决策、反应。这才是"AI 原生"从一开始就该有的意思。近距离看看这个架构。

← 所有文章