シリーズ: AI とともにコードを学ぶ

AIは神経系であって、工場ではない

後付けされたチャットパネルと、フレームループの中のAIとの違い。

神経系であって、工場ではない モデルがどこに住むかが、その世界に何ができるかを決める 工場 モデル ディスク上の成果物 ランタイムが消費 一方向、境界あり、事前に作成済み 神経系 感知する 観察する 行動する 適用する 毎フレーム
2つのアーキテクチャ。この層での選択が、その上のすべてを制約する。

「AIネイティブ」は2026年のエンジン市場で最も薄まった言葉だ。ここに、チャットパネルと、モデルが毎フレームのループの中にいるランタイムとを分けるアーキテクチャ上の境界線がある - RakuAIが構築されている境界線だ。

2026年に自らを「AIネイティブ」と呼ぶゲームエンジンや空間コンピューティングランタイムのほとんどは、おおよそ同じことを意味している。エディタのどこかにチャットパネルがある。リモートのモデルにアセット生成を依頼するボタンがある。モデルは何かを生み出す。その何かはプロジェクトに投げ込まれる。AIが登場する前から存在していたランタイムが、その何かを実行する。

それが工場パターンだ。リクエストが出ていく。成果物が戻ってくる。エンジンは消費者だ。

RakuAIはそういうやり方では作られていない。AIは組立ラインの一工程ではない。ランタイムの中のプリミティブだ。工場よりも神経系に精神的に近い。継続的に存在し、毎フレームのループの中にいて、観察し、決定し、反応する。それを取り除くことは、機能を一つ取り除くことではない。エンジンの残りの部分を意味あるものにしているものそのものを取り除くことになる。

アーキテクチャの層で「AIネイティブ」が実際に何を意味するかについて1本だけ読むなら、これを読んでほしい。

2つのパターンを描き出す

これが工場パターンだ。正直に最小限まで凝縮するとこうなる。

# 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

ライフサイクルが異なる。毎フレーム、すべてのエージェントについて、モデルが世界の次の状態に貢献する。モデルはベンダーではない。参加者だ。それを取り除けば、シミュレーションは、どんなアセットライブラリでも埋め合わせられないやり方で面白くなくなる。

これらは完全に異なる2つのアーキテクチャだ。この層で下す選択が、その上のすべてを制約する。

工場パターンが手に入れさせてくれるもの

まず正直に言おう。工場パターンは本物であり、有用であり、今日出荷されている。それは4つのものを手に入れさせてくれる。

コンテンツの速度を手に入れさせてくれる。木、建物、レベルレイアウト、セリフの一片を生成すること。本物の生産性の勝利であり、ディスク上の成果物というパターンは、それを手に入れる最も単純な方法だ。

プロバイダーからの独立性を手に入れさせてくれる。成果物がディスク上に存在するため、ランタイムを変えることなく、それを作成したモデルを差し替えられる。それは持つ価値のあるヘッジだ。

決定論的な再生を手に入れさせてくれる。成果物は一度書かれれば固定される。同じレベルにいる2人のプレイヤーは同じレベルを見る。

きれいな失敗モードを手に入れさせてくれる。もしモデルが利用不能になっても、エンジンはそのまま動く。作成する量が減るだけだ。

これらは本物の勝利だ。もしあなたの製品が「人間がゲームを作るのを助けるツール」なら、工場パターンはおそらく正しい選択だ。コストは隠れている。それは、工場パターンにはできない何かをやろうとしたときにしか現れない。

工場パターンにできないこと

工場パターンは、作者が予見していなかったやり方でプレイヤーに反応する世界を作れない。構造上、工場パターンのエンジンにおけるすべての成果物は、プレイヤーが到着する前に作成されている。挙動の空間は、成果物ライブラリとエンジンのスクリプト化されたロジックの直積だ。大きな空間だが、境界がある。その境界は、プレイして1時間以内に見えてくる。

工場パターンは、事前にスクリプト化されていない世界について意味のある推論をするNPCを与えられない。LLM駆動の対話システムを差し込めば、局所的には説得力があるが全体としては不活性な種類の会話が得られる。NPCは新しいことを言うだろう。だが世界はそれに応じて変わらない。対話システムとシミュレーションは、平行線を走る2本の電車だ。決して交わらない。

工場パターンは、実際の物理的な場所に立っている実際のユーザーの実際のGPS座標に体験を適応させられない。この最後の点が、私が最も気にかけているものだ。もしあなたが、体験が地球上の特定の場所で起きる、現実世界に固定されたXRを構築しているなら、あり得るすべてのインタラクションを事前に作成することはできない。世界は大きすぎる。文脈は多様すぎる。プレイヤーの経路は予測不能すぎる。ループの中で反応するか、あるいはツアーパンフレットを出荷するかのどちらかだ。

これが、RakuAIが工場ではない構造的な理由だ。

「神経系」が具体的に手に入れさせてくれるもの

3つある。面白くなっていく順に並べる。

1つ目:話す前に観察するNPC。 あるエージェントの頭脳が毎フレーム走り、プレイヤーが実際にいる世界を見て、見たものに基づいて何をするか決めるとき、その結果は、LLMを後付けした対話ツリーとは質的に異なるものになる。エージェントは雨に反応できる。一日の時間帯に反応できる。プレイヤーが何もせずその前に90秒立ち続けているという事実に反応できる。そのどれも対話の中にはない。すべてがシミュレーションの中にあり、モデルはシミュレーションを直接読んでいる。

2つ目:起きている場所を中心に再形成される体験。 エンジン自体がモデルに問い合わせる。この地形、この天候、この時間帯、この近くの興味深いポイントの集合を踏まえて、次の遭遇はどう見えるべきか。その体験はもはや録画されたものではない。プレイヤーの実際の文脈の関数だ。異なる都市にいる2人のプレイヤーが同じ .raku 体験をプレイすると、異なるプレイセッションが得られ、そのどちらも一貫している。

3つ目:アーキテクチャから創発する挙動。 これは、それが現れ始めたときに私を驚かせたものだ。AIがプリミティブであるとき、エンジン内のすべてのシステムがそれを呼び出し、その決定によって形作られるとき、単一のサブシステムの作者の誰も設計していなかったやり方でシステムが相互作用し始める。地形を観察するエージェントが、経路探索システムに影響を与える。経路探索が群衆の挙動に影響を与える。群衆の挙動が次のエージェントの観察への入力になる。ループが形成される。そのうちのいくつかは面白い。面白いものこそが、そもそも誰かがこのアーキテクチャに手を煩わせた理由だ。

前払いのコスト

このアーキテクチャには代償があり、それは小さくない。

オンデバイス推論の代償を払う。シミュレーションのクリティカルパス上で動くAIは、毎フレームネットワークへの往復をすることはできない。それは、モデルの重みがデバイス上に住むことを意味する。量子化、バッチ処理、注意深いメモリ予算、そしてプレイヤーのハードウェアを考慮したデプロイの物語を意味する。RakuAIはこの制約を中心に構築されている。小さなモデルが、デバイス上で、ホットループの近くにある。この制約は本物でありアーキテクチャ上のものだ。

信頼性の規律の代償を払う。コンテンツ工場の中で幻覚を見るモデルは、変な木を生み出す。シミュレーションステップの中で幻覚を見るモデルは、変な世界を生み出す。モデルレイヤーと決定論的レイヤーとの間の契約は、設計され、検証され、監査されなければならない。これは後回しにできるものではない。それこそが仕事だ。

従来のエンジンではタダでは手に入らない可観測性の代償を払う。AIがすべてのフレームの参加者であるとき、それが何を、いつ、どんな入力で、どんな出力を生み出しているかを見る必要がある。ロギング。トレーシング。リプレイ。どんな分散システムにとっても構築するであろうものすべてが、今度はシミュレーションループの中に住む。

これらのコストこそが、ほとんどのエンジンが工場パターンを選ぶ理由だ。工場パターンは本当に構築が安価だ。それはまた、別の選択をしたエンジンの中で時間を過ごした後にしか見えてこないやり方で、本当に面白みが少ない。

もしあなたがゲーム、XR体験、あるいは他の何らかのインタラクティブなシステムを構築していて、AIの問いが「どのモデルを統合するか」なのか、それとももっと深いものなのか考えているなら、答えはもっと深いものだということだ。工場パターンにそれが作られていなかった何かをやらせようとした最初の瞬間、それを感じ取れるはずだ。

日曜の午後、書き留めておきたかった種類の投稿だ。明日はまたエンジンに戻る。

あなたのAIがプリミティブであるランタイム

RakuAIはモデルをシミュレーションステップそのものに配線する - 毎フレーム、観察し、決定し、反応する。それが「AIネイティブ」が最初からずっと意味しているべきだったものだ。このアーキテクチャを間近で見てみよう。

← すべての記事