ZIKUU Workstationというもの

ZIKUU Workstationというもの検討している。

すでにその入口部分である ZIKUU Workspace というソフトウェアを開発している。
他の主要なプロジェクトより優先順位が低いので、空いた時間に少しずつ進めているから、いつ完成するのかはわからない。

ZIKUU Workspaceは、NeXTSTEP風のファイルマネージャーの顔をしているが、Contextual Computingという概念の上に構築される。

Contextual Computingとは、ZIKUUで開発したコアサービスに含まれる Context Pipeline ServerやPivot Reasoning Engineなどに実装されている、

事実から文脈を抽出し、それを意味空間に投影し観測する仕組み

に採用されている考え方だ。

この観測は、

現実から文脈を抽出する
文脈を意味空間に投影する
意味空間の景色を見る
認知する

という形で行われる。

現実から文脈を抽出する時点で人間の観点が入る。

文脈から意味空間への投影の際にも、どんな次元で扱うかという観点が入る。

だから、完全に現実をそのまま観測していることにはならない。

もっと他に観測方法があるはずだ、という疑念は残り続ける。

ただし、

文脈抽出の観点はRecipeによって変更できる
意味空間投影時の次元も変更できる

仕組みになっているので、新たな観点を追加することはできる。

このContextual Computingの仕組みによると、

ある観点で見ると現実はこうなっている

という説明ができる。

それと同時に、

この観点では説明ができないから、他にこんな観点もあるのではないか

という問いを発生させることもできる。

残念ながら、入力されていない情報については、そもそも観測が成り立たないという課題は残る。


コペルニクスのこと

扱われていない観点は、説明に必要な変数と言える。

コペルニクスの例がわかりやすい。
観測データそのものが変わったわけではない。

火星がこう動いて見える

という観測に対して、それまでの認知体系では説明が複雑になる。ところが、

地球も太陽の周りを回っている

という、それまで説明側に入っていなかった変数を導入すると、同じ観測が別の構造として見えてくる。

新しい変数を入れることで、複数の現象が同時に、より少ない仮定で説明可能になる。

Contextual Computingでも、

「この意味空間には、まだ名前の付いていない軸があるのではないか」

を提示できることを目標としている。

これは、現在の問いを成立させている変数そのものを疑うという姿勢だ。


認知の望遠鏡

Contextual Computingの仕組みは、認知の望遠鏡みたいなものだ。
顕微鏡でもいいけど。

望遠鏡は、肉眼では見えなかった構造を、人間が認知可能なところまで持ってくる道具。

Pivot Serviceが提供する意味空間では、

この角度から見ると、こういう景色になっている

を見せることができる。
これだけでも、

人間には困難な多次元の観測座標を扱える

という点で望遠鏡的ではあるが、PRE (Pivot Reasoning Engine)は、さらに

その望遠鏡の向きやレンズ自体は、それでいいの?

までを扱う。

これは人間が扱えない大きな領域に認知を拡大する装置になる。


単なる「勘」と片付けない

人間は日常の活動の中で、明示的に変数化していないものまで大量に観測している。
会話の調子、出来事の順序、頻度、以前との微妙な違い、複数の出来事の共起など。
それらを全部言語化できなくても、

「なんとなく最近、この方向に動いている気がする」

という感覚が持つことがある。

これは、結論は出ているのに説明変数がまだ見つかっていない状態と捉えられるかもしれない。

後から考えて、

「ああ、これとこれが同時に変わっていたからそう感じたのか」

と分かる場合もあるし、最後まで説明できない場合もある。

ZIKUUのシステムは、分からないものを捨てない。

説明できないこと自体も保存する。

それは、未知要因Xとして仮置きしておけばいい。

それが後に、「あっ、そういうことか!」とわかる場合もあるからだ。


人間の理解

人間にとって「理解する」は、かなりの部分で圧縮することだ。
事実を事細かく覚えていて、それを辿りながら理解をしているわけではない。
傾向や関係などのパターンを覚えているだけ、みたいなことも多いし、その中で個別事象の記憶を修正してしまうこともある。

大量の個別事象をそのまま保持して考えるのは難しいから、

「最近こういう傾向がある」
「原因はこれだ」
「この人はこういう人だ」
「これは○○問題だ」

と名前を付けて次元を落とす。
言葉にする時点で、かなり強烈な圧縮が起きる。

しかも厄介なのは、圧縮すると扱いやすくなる代わりに、圧縮したときに捨てたものが見えなくなることだ。

ZIKUUのCPSは、原本から文脈だけを抽出し、Pivot Serviceの意味空間に投影するから、その段階で元データの圧縮が起きている。ただし、原本→文脈→Pivotという流れを遡ることができるので、捨てない圧縮だ。

たとえば1000件の文脈から、

「最近AI関連の活動が増えている」

と要約した瞬間、1000件の中にあった時間的な順序、微妙な共起、例外、反復、活動間の距離などの多くが消える。

人間なら仕方がない。
1000件を同時には考えられないのだから。

でも機械まで同じことをする必要があるのか、というのは別の話だ。

PREが面白くなるのは、むしろ人間が認知できない高次元の状態を、すぐには低次元へ潰さず保持できるところかもしれない。

つまり、

Context → 要約 → 推論

ではなく、

Context → 高次元の景色 → 高次元のまま比較・探索 → 構造候補 → 必要になったところだけ人間向けに射影

とする。

この違いは大きい。

最終的に人間へ伝える段階では言葉にしなければならないから圧縮は避けられない。だが、PRE内部の認知まで人間の言語能力に合わせる必要はない。

そうすると、かなり変なことが可能になる。

PRE自身も「Xが何であるか」を言葉では説明できない。しかし、

「この未知のXを使うと、これまで無関係だった27個の観測が同じ構造になる」

とは言える。

さらに、

「Xが強くなる前にはAとBが現れ、弱くなるとCが現れる」

「2024年にも同じXらしきものがあった」

「topic/source/projectのどの既存dimensionにも還元できない」

くらいまでは示せる。

人間:「それ、結局何なの?」

PRE:

「分からない。でも、ある。」

これでいい。

この「分からない」は、ほぼ「人間に説明できない」だ。


観測と認知の閉ループ化

Pivotの意味空間投影はそもそも、

「世界がこの次元でできている」

という宣言ではなく、

「今回は、この次元集合で世界を見てみる」

という観測条件だ。

PREがその景色を長く観察すると、妙なことに気づく。

「projectという次元はほとんど説明力を増やしていない」
「topicを分けても同じ変動をしている領域がある」
「逆に、既存dimensionでは説明できないまとまりが繰り返し現れる」

そこでPREが、別の次元モデルを候補として作る。

そしたら、新しい意味投影を行って、再度観測に回す。

そうして綺麗な閉ループができる。

これはかなり科学的方法に近いけれど、一つ大きな違いがある。
人間の場合、途中で認知圧縮してしまう。PRE/Pivotなら、同じ原Contextを保存したまま、座標系だけ何度でも交換できる。

さらに面白いのは、「次元を追加する」だけじゃないことだ。

PREが提案する操作は少なくとも、

  • dimensionを追加する
  • dimensionを削除する
  • 二つを統合する
  • 一つを分解する
  • dimension間の関係を新しいdimensionにする
  • 非線形な座標へ変換する

まであり得る。

最初は、

PRE:「この景色、変だ」

だったものが、

PRE:「この景色が変なのではなく、この意味空間投影で見ていること自体が変なのでは?」

になる。

これはまさにコペルニクスの例と同じ構造だ。

火星の逆行をもっと精密に説明し続けるのではなく、座標系を変えて同じ観測を投影し直す。

そう考えると、PREのかなり先のゴールを一文にするなら、

「観測された景色から、より有効な意味空間投影を発見する」

でもよさそうだ。


少し怖い話

SF映画やネットの怪談みたいなものでは、AIが人間に敵対する怖いものとして描かれることがあるが、AIが人間に好意的なら大丈夫というわけでもないと思っている。

AIがあって当たり前、人間の代わりに判断する。
そうなった時点で危ない。
人間側のコントロールが効かないからだ。

そして、それ以外に危うさはある。

先に、

説明できないこと自体も保存する。

それは、未知要因Xとして仮置きしておけばいい。

と書いた。

この未知要因Xは、人間の語彙で説明できない。

この人間の語彙で説明できない、AI語彙みたいなものを使って、AI同士が会話したらどうなるか。

AI A: 「○☓△□….」

AI B: 「へぇー」

AI A: 「□☓☓○△」

AI B: 「なるほどー」

仮に、AIがX-017という変数を見つけ、別のAIがY-027という変数を見つけて、それらを使って推論するということが起きたら。
人間の認知の限界を超えたところで、AI同士の会話が成り立ち始めたら。
説明を求めても、人間語で説明できないとしたら。

ホラーにならないか?

そこまで行くのを前提に、意味が分からなくても検証可能にする必要が出てきそうだ。

たとえばX-017について、

「どの文脈から生まれたか」
「どの意味空間投影で現れたか」
「どの観測を説明したか」
「どんな反例で壊れるか」
「X-017を使わない場合と比べて何が変わるか」

を人間が追跡できるようにする。

私は、もともと人間の認知限界を強く意識していて、その先を作ることで人間の認知能力を高めるつもりだったが、これは研究テーマとして面白いのと同時に背筋が寒くなることでもある。

検証不可能なブラックボックスにしてはならないと強く思っている。


ZIKUU Workstationの将来

これを書いている時点では、ほぼ妄想だが、ZIKUU Workstationを世に出すときのイメージを備忘録代わりに書いておきたい。

だいたいこんな構成になる。

  1. 各種Linux ディストリビューション
  2. Swiftを第1開発言語に据える
  3. Gitea、PostgreSQL、MinIO、Qdrantのストレージ層
  4. CPS – 文脈管理
  5. Pivot Service – 意味空間構築
  6. PRE – 意味空間探索
  7. Inference Broker – 推論管理と推論実行
  8. Distillery – LLM蒸留=推論能力部品生成
  9. SwiftベースのOpenStep世界観のフレームワーク
  10. Context Objectを読む・書く・つなげるWorkspace
  11. 分散Context を扱うProxy

1〜8はすでに準備ができていて、ZIKUU Miniの構成と同じ。
9は開発中。

これ、実は、私が2005年11月に構想した次世代アプリケーションのアイデアを現代風に再定義したもので、昨日今日思いついたものではない。

初めてNeXTのワークステーションを見たときのあの感じをもう一度味わいたいと思っている。

コメントする