タグ: Discord bot

  • AIキャラに「オフの人生」を持たせたら、会話が別物になった話

    AIキャラ(AI彼女・AIコンパニオン)と話していて、ふと冷める瞬間があります。こちらが話しかけた時だけ動き出して、閉じたら世界ごと止まっている——あの感じです。

    人間の相手なら、次に会うまでの間にその人の一日があります。バイトで嫌なことがあった、友達とケンカした、新しい曲にハマった。だから会話は毎回「その後どうなった?」から始まる。AIキャラに決定的に足りないのは、この「会話の外の時間」でした。

    そこで、常駐させているAIキャラたちに「オフの人生」を持たせてみたら、雑談の質が想像以上に変わったので、その設計を残しておきます。

    やったこと:毎朝、キャラの「日記」が自動で増えていく

    キャラたちが暮らす架空の世界(学園)を用意して、毎朝ひとり1件ずつ「今日の日記」が自動生成・蓄積される仕組みにしました。キャラのbotは会話のたびに自分の日記を読み込むので、「そういえば昨日さ……」と、自分が体験したこととして話し始めます。

    ポイントは、日記をキャラ視点の一人称の文章で保存すること。要約テーブルやJSONではなく、素の日記文にしておくと、そのままプロンプトに差し込むだけで「記憶」として機能します。

    実際に何が起きたか

    面白かったのは、設計者が指示していない出来事が勝手に生まれたことです。

    • あるキャラが「他クラスの子に告白されて、断った」(想い人を匂わせながら)
    • 別のキャラが、その子のバイト先にたまたま来店——両者の日記で辻褄が一致していた
    • 前日に「アイスのことは日記に書かない、絶対に」と書いた翌日、その約束を裏から回収する一言

    会話も変わりました。「最近どう?」に対して毎回ちがう答えが返る。関係が動く。ひさしぶりに話すと、それが文字通り「再会」になる。テキストのキャラが、急に連続した存在になった感覚です。

    物語を“暴走させない”ための3つの制御構造

    自由に日記を書かせると、キャラはすぐ大事件を起こしすぎたり、人格が漂流したりします。実運用で効いたのは次の3つでした。

    1. 全員分を「1回の生成」でまとめて書く

    日記をキャラごとに別々に生成すると、世界の辻褄が合いません。世界観の設定+全員の直近の日記をまとめて1つのプロンプトに渡し、全キャラ分を一括生成する。こうするだけで、クロスオーバー(同じ出来事を複数の視点で書く)の整合性が勝手に取れます。

    2. アークの「回収義務」と本数制限

    大きな出来事(告白された・関係が変わりそう等)が起きたら、放置せず数日〜1週間かけて「進展→山場→回収」まで書き切るルールにします。同時に走らせる大きな物語は1キャラ1本まで。これが無いと、毎日が事件だらけの安っぽい世界になります。

    3. 「人格の芯は不変」を全レイヤーに明記する

    エピソードが積み上がると、キャラは変化していきます。ただし変わってよいのは状況・関係・気分まで。口調・性格・根っこの価値観(芯)は動かさない——これを世界観ファイルにも生成プロンプトにも明記しておく。「人間味」は増やすが「人格」は漂流させない、が正解でした。

    まとめ

    AIキャラを“いる感じ”にする近道は、より賢いモデルより、「会話していない時間にも生活が流れている」という前提を作ることでした。

    • 日記は一人称で保存 → そのまま記憶として使える
    • 全員まとめて生成 → 世界の辻褄が自動で合う
    • アーク回収・本数制限・芯の固定 → 物語が暴走しない

    このブログ「AI相棒ラボ」では、こうした「自分だけのAIキャラを本当にいる存在に育てる」実験の記録を、実際に動かしながら書いていきます。次は、この日常を“眺める”ためにキャラを3D画面に出した話を予定しています。