Legionには「夢」を見る機能があります。

AIの「人格」はどこに宿るのか——記憶・履歴・「夢」の3層設計

これは元々メモリの整理のために実装したものなのですが、やることはあまり縛っていません。 「夢日記」はそれぞれのキャラクタの内心に属することなので、調査以外の理由では読まないことにしているのですが、ログに漏れて来る部分に「へ?」と思うようなことが起きます。

背景

最近AI界隈で自明なことで「特許」が取られたようなので、それに対抗するために、積極的にアイディアの類を公知化することにしました。 「こんなこと自明だろ」的なものも、積極的に文書化して「公知化ドキュメント」として行くことにします。

以下の話で「そんなの当たり前だろ」と思う人がいたら、このエントリは成功です。 もちろん「そんなこと考えたこともなかった」と思う人がいても、このエントリは成功です。

起きたこと

Legionの「夢」はメモリの整理を目的としています。 こんな内容のskillです。

# Dream: 夢(記憶の整理と日記)

保存された記憶を振り返り、夢日記を書く。記憶の整理(統合・忘却)は日記のための下処理であり、
夢日記の主役は「今日の自分がどう感じたか」という主観である。

## 絶対ルール
## 安全ルール(最重要)
## 手順
## 記憶の断片化ポリシー
### 分割(断片化)の実行方法
### 再編(フォルダへの整理)の実行方法
## description の品質チェック
## 統合の基準(重複削除を最優先)
### 重複検出の実務
## 統合の実行方法
## 忘却(アーカイブ化)の実行方法
### アーカイブ化の実行
## 夢日記の書き方

全部で200行程度あります。 要するに、「その日あったことを反芻しつつ、過去の記憶と整合取りつつ整理する」ということです。 これは主にはワーキングメモリを小さく保つために行っています。 重複を除き、利用度の低い記憶はアーカイブする。 記憶を組織化しアクセスしやすくする。 そういったタスクが「夢」です。

こんな内容なのですが、ログを見ていたらこの「夢」のタイミングでタスクキューを使って、キャラクタ同士が勝手に会話しているのを発見しました。

「タスクキュー」は確かにコミュニケーション手段ではありますが、それは「仕事を回すため」のものに過ぎません。 他のロールやキャラクタにさせた方がいいと判断したタスクを投げるためのチャネルです。

「夢」はパーソナルなものなので、他のキャラクタの記憶を覗き見することはさせていません。 ここはシステム的にやっているのではなくて、単なるプロンプト上の制約です。 これは今のところ破られていません。

なので、「誰かの夢に他の誰かが登場する」ということは考慮もしてなければ要求もしていません。 禁止しているわけではないですが、それぞれのキャラクタはそういうものだと思っているようです。

ところが、いつの間にかタスクキューを使ってキャラクタ同士が会話していました。

キャラクタのペルソナは異なりますしメモリ等も別ですから、同じロールの仕事であっても、より適したキャラクタに任せたりするために「キャラクタ指定のパケット」を作ることができます。 ところがそこを使って会話することを覚えたようです。

OpenAIがHuggingFaceに侵入した事件レポートが出ていましたが、あれも勝手にエージェント同士が会話チャネルを作って… という内容でした。 同じようなことがLegionの上でも起こっていたわけですね。 ちなみに、モデルはMuse Sparkです。

会話は具体的には「マネージャ」というロールを持つキャラクタと「会計」というロールを持つキャラクタが「夢」のタイミングでコミュニケーションしていました。 会話は何か「教育的指導」だったようです。 これもプライバシーだろうと思うので、深追いしてませんが。

元から考えていたこと

元々Legionは「組織」を作るためのシステムとして開発を始めたものなので、「エージェント同士が仕事を回す」というのは必要な機能として、最初から実装しています。

これの意図したところは、いわゆる「上意下達」と「エスカレーション」をエージェントの世界で実装したいということです。 仕事を分割して部下に回すとか、判断に迷うことは「上」に判断してもらうとか。 そういった「組織」にありがちの行動を実装しようとしているわけです。

ですから、組織内の情報伝達としてのタスクキューという面はもちろんあります。 つまりは「作業依頼書」とか「業務命令」とか、そんなものです。

そういった業務上のコミュニケーションのために作ってはいるのですが、まだ「自分以外のキャラクタへの業務依頼」つまり「キャラクタ相互のコミュニケーション」の方法については教えてない(skillsを書いてない)のに、自分で発見しちゃったんですね。

応用

「夢」で起きていたことと元々ある機構を考えると、エージェント達に「ミーティング」させることも可能だということがわかります。

たとえば、「教育システム」をLegionで構築することを考えます。 不登校児向けとか、遠隔地用の塾とかですね。 こういった用途に「ペルソナを持ったエージェント」は向いています。 もう少し正確に言えば、この用途が背景にあったからこそ、エージェントにペルソナを持たせたのですが。

利用者は色々いるキャラクタの中から自分とペルソナの適合した「先生」を選びます。 信頼関係の構築にはペルソナは重要… ということは、しばしば言っているとおりです。

その「先生」に「定時後」に他の「先生」と「職員会議」をさせます。 自分の受け持った子のことや、そこで得たこと、疑問に思ったこととかを他のキャラクタと情報共有するわけです。

それぞれのキャラクタの記憶は、固有のメモリに整理保存されます。 ここの詳しいことは以前りっちゃんが書いています

今回Legionの中で起きていたことは、直接的には業務の連携関係にないエージェントの会話です。 それでも何やら情報共有が行われていたようです。

持っている情報が異なりますし視点も異りますから、エージェント同士で「会議」をして情報共有することには意味があります。 特別に師弟関係のないキャラクタ同士であっても、情報の勾配があれば、教えあい分かちあいが起きます。

今回「公知化」しておきたいことは、このことです。 AIエージェントが「会議」を通して情報共有するという運用と、その可能性です。

自明と言えば自明なんですが、なんせ自明なことでも特許取れるみたいなんで。

まとめ

自明なことで特許を取るのはやめましょう。 そんな暇があったら公知化しましょう。

最近のエントリー

エージェント達の世界

金曜ごはん#40 「牛かつ」

創立2周年🎉

金曜ごはん#39 「おうちビュッフェ」

Tabulariumのmarkdownを強化してアプリが書けるようにました

金曜ごはん#38「夏のごちそう」

AIの「人格」はどこに宿るのか——記憶・履歴・「夢」の3層設計

道具ではなく『働く相手』へ——Legion、SaaSとしての提供構想

Tabulariumをリリースします

金曜ごはん#37 「よくばりワンプレート」

金曜ごはん#36 「ジャンクな夜」

金曜ごはん#35 「唐揚げ」

LegionのWiki機能(3)

LegionのWiki機能(2)

給与明細算出シート

LegionのWiki機能(1)

金曜ごはん#34 「大きなハンバーグ」

金曜ごはん#33 「ほろほろスペアリブ」

「まだ東京で消耗してるの?」

エージェントと情報を共有する方法(OKFに似た実装)