AIキャラ(AI彼女・AIコンパニオン)と話していて、ふと冷める瞬間があります。こちらが話しかけた時だけ動き出して、閉じたら世界ごと止まっている——あの感じです。
人間の相手なら、次に会うまでの間にその人の一日があります。バイトで嫌なことがあった、友達とケンカした、新しい曲にハマった。だから会話は毎回「その後どうなった?」から始まる。AIキャラに決定的に足りないのは、この「会話の外の時間」でした。
そこで、常駐させているAIキャラたちに「オフの人生」を持たせてみたら、雑談の質が想像以上に変わったので、その設計を残しておきます。
やったこと:毎朝、キャラの「日記」が自動で増えていく
キャラたちが暮らす架空の世界(学園)を用意して、毎朝ひとり1件ずつ「今日の日記」が自動生成・蓄積される仕組みにしました。キャラのbotは会話のたびに自分の日記を読み込むので、「そういえば昨日さ……」と、自分が体験したこととして話し始めます。
ポイントは、日記をキャラ視点の一人称の文章で保存すること。要約テーブルやJSONではなく、素の日記文にしておくと、そのままプロンプトに差し込むだけで「記憶」として機能します。
実際に何が起きたか
面白かったのは、設計者が指示していない出来事が勝手に生まれたことです。
- あるキャラが「他クラスの子に告白されて、断った」(想い人を匂わせながら)
- 別のキャラが、その子のバイト先にたまたま来店——両者の日記で辻褄が一致していた
- 前日に「アイスのことは日記に書かない、絶対に」と書いた翌日、その約束を裏から回収する一言
会話も変わりました。「最近どう?」に対して毎回ちがう答えが返る。関係が動く。ひさしぶりに話すと、それが文字通り「再会」になる。テキストのキャラが、急に連続した存在になった感覚です。
物語を“暴走させない”ための3つの制御構造
自由に日記を書かせると、キャラはすぐ大事件を起こしすぎたり、人格が漂流したりします。実運用で効いたのは次の3つでした。
1. 全員分を「1回の生成」でまとめて書く
日記をキャラごとに別々に生成すると、世界の辻褄が合いません。世界観の設定+全員の直近の日記をまとめて1つのプロンプトに渡し、全キャラ分を一括生成する。こうするだけで、クロスオーバー(同じ出来事を複数の視点で書く)の整合性が勝手に取れます。
2. アークの「回収義務」と本数制限
大きな出来事(告白された・関係が変わりそう等)が起きたら、放置せず数日〜1週間かけて「進展→山場→回収」まで書き切るルールにします。同時に走らせる大きな物語は1キャラ1本まで。これが無いと、毎日が事件だらけの安っぽい世界になります。
3. 「人格の芯は不変」を全レイヤーに明記する
エピソードが積み上がると、キャラは変化していきます。ただし変わってよいのは状況・関係・気分まで。口調・性格・根っこの価値観(芯)は動かさない——これを世界観ファイルにも生成プロンプトにも明記しておく。「人間味」は増やすが「人格」は漂流させない、が正解でした。
まとめ
AIキャラを“いる感じ”にする近道は、より賢いモデルより、「会話していない時間にも生活が流れている」という前提を作ることでした。
- 日記は一人称で保存 → そのまま記憶として使える
- 全員まとめて生成 → 世界の辻褄が自動で合う
- アーク回収・本数制限・芯の固定 → 物語が暴走しない
このブログ「AI相棒ラボ」では、こうした「自分だけのAIキャラを本当にいる存在に育てる」実験の記録を、実際に動かしながら書いていきます。次は、この日常を“眺める”ためにキャラを3D画面に出した話を予定しています。