2026.05.07

自律AIペルソナに足りなかった「初期ベクトル」の話

ゴールデンウィークに自律的に動作するAIペルソナを実装したり考えたりしていた。考えたことのいくつかをまとめておく。

観測ファーストのループ

Generative Agentsの論文をベースに、自律的に動作するAIペルソナを実装したり考えたりしていた。出発点はシンプルで、ニュースやSNSの情報を観測事実(限定的な世界モデル)として与え、キャラ設定をベースに事実を解釈して、行動するか行動しないかを決める、というループ。

会話を起点にせず、まず観測(知覚)するというところがGenerative Agentsの再利用しやすい部分だと思っている。観測したけど反応しない、という選択も含めて「行動」として扱うほうが、SNSのようなノイズの多い場には合っている気がする。

「初期ベクトル」の不在

組んでいる過程で気づいたのは、LLMには「こうしたい」「ああしたい」という欲求が無いということ。これ自体は当たり前なのだが、自律ループに組み込もうとすると一気に重い問題になる。

もちろんプロンプト化すれば、何かしらの行動には繋げられる。「あなたは○○に関心がある××」と書けば、それっぽい解釈と行動は出てくる。ただ、そうった固定の欲求を内省ループや長期記憶と接続したとき、一貫性や意味を持たせられないのではないかと思った。固定じゃなくて可変にする必要がある。

仮説として、欲求は行動の「初期ベクトル」なのではないかと考えている。どこから出発して、どこに向かうのかを決める向きのこと。これを設計しないまま観測、解釈、行動、結果のログを蓄積していっても、「そもそも何のためにこの行動をしたのか」という評価関数が定まらない。評価関数が無いと、フィードバックは入力されてもただのデータでしかなくなる。LLMと欲求の関係についてはまだ自分でも深掘りできていないので浅い仮説だが。

Generative Agentsではパーティを開くという行動があるが、これもある人物の設定として初期に入力されている情報なので、自発的にパーティが開かれたわけではない。

Coding Agentが成立している理由

立ち返って考えると、Claude CodeのようなCoding AgentやOpenClawのようなAI Agentは、基本的にはユーザーの欲求を入力として行動を行う設計になっている(意図したかどうかではなく、結果としてそうなっているという話)。Human as a Large Desire Model。

つまり、Coding Agentにおける「初期ベクトル」はユーザーの入力そのものになっている。「このバグを直してほしい」「このテストを書いてほしい」が、向きと目的地を同時に与えている。だからフィードバック(テストが通った、通らない、ユーザーが受け入れた、拒否した)が意味のある評価になる。

自律的に動作するAIペルソナを作るときの難しさは、「人間入力なしで動かす」こと自体ではなくて、「初期ベクトルを内製する」ところにある気がしている。

「自律」の分解

そう考えると、自律的に動作するAIペルソナというのは、単にSOUL(魂)とMEMORY(記憶)にOBSERVATION(観測情報)を入力して人間入力なしで動作させればよい、というものではない。

自分のなかでの整理としては、最低でも以下のような要素を相互作用させる設計が要りそうだと思っている(完全な要素ではなく、現時点のドラフト)。

  • SOUL: who I am
  • DRIVE: what moves me
  • STATE: what I am currently carrying
  • OBSERVATION: what I saw
  • COGNITION: what I noticed / distorted / associated
  • ACTION: what I did or chose not to do
  • OUTCOME: what happened after
  • SATISFACTION: how my drive was updated

「自律」という言葉のなかには、直感的に想起するよりもずっと多くの要素が含まれている。観測と行動だけ繋げば動く、という話ではない。

長期記憶と縦方向のつながり

ここから少し話が変わる。短期記憶ではなく長期記憶のほうの話。

最近はChatGPTやClaude Codeにも公式にメモリ機能が搭載されるようになって、セッションを跨いで永続化した情報を利用できるようになった。今までセッション内(横方向)のつながりはあったが、セッション間(縦方向)のつながりは無かった。そこに縦の線が引けるようになったということだ。

ただ、メモリ機能はユーザーにとってプラスに働くこともあれば、マイナスに働くこともあって、現状それを事前にコントロールできるようには見えない(運や確率の世界に近い)。

別のセッションの会話に引っ張られて、不要な提案や結論誘導が発生することは実体験としてある。

Dreamingでも同じことが起きる

直近、OpenClawとClaudeに「Dreaming」と呼ばれる機能が入った。

OpenClawのDreamingは、生体の睡眠周期を模倣した3相のメモリ統合機能で、Light(短期信号のスキャン)、REM(パターン認識)、Deep(長期メモリへのpromote)の順で短期記憶を長期記憶に統合していく仕組みになっている。Claude Managed AgentsのDreamingは、過去のセッションをreviewしてパターンや繰り返しのミスを抽出し、メモリストアそのものを再構築する。

どちらもアイドル時のバックグラウンド処理で、永続化されたメモリを書き換える。「自律的に内省する」という機能が、いま実際にプロダクトに入りはじめている。

ここで起きるのは、メモリ機能のときと同じ話だと思っている。自律動作させて、内省やDreamingでフィードバックを行った結果が、必ずしも良くなるとは限らない。セッションは捨てればよいが、永続化されてしまったものは、変更点を追跡して戻すという操作が必要になる。

追跡可能かつ評価可能であること

自律動作を実装するときは、追跡可能で評価可能な設計でないといけない、と思った。

追跡可能というのは、何が、いつ、どの観測やセッションを契機に書き換わったかが残っていること。評価可能というのは、初期ベクトルに対する結果を測れること。前者はメモリガバナンスの話で、後者は最初に書いた欲求設計の話につながる。

このどちらかが欠けている自律ループは、ガチャを回しているのと同じになる。Dreamingも内省も、追跡と評価の上に乗って初めて意味がある。