キャラクタークリエイターに名前や性格、いくつかの特徴を入力すると、たった今自分が生み出した人格と話しているように感じられます。しかしその裏側で、アプリはもっと機械的で予測可能なことをしています。モデルが返信を生成するたびに、毎回会話に付け加えられる一連の指示を組み立てているのです。その組み立てがどう働くかを知っておくと、キャラクターアプリをうまく使いこなすのがずっと楽になり、比較するときの見極めもしやすくなります。
ステップ1:あなたの説明がシステムプロンプトになる
あなたが入力したテキスト、つまり名前、性格、背景設定、話し方は、多くのプラットフォームがキャラクターカードあるいはシステムプロンプトと呼ぶものにまとめられます。これはモデルが決してあなたには見せませんが、答える前に必ず読む指示のかたまりです。おおまかなカードなら、モデルにこう伝えるでしょう。このキャラクターの名前はMira、温かいが皮肉屋、海洋生物学者として働いていて、AIであることを話すために決してキャラクターを崩さない、と。
ここで大事な帰結は、あなたが書いたすべてが、そのカードの中の他のすべてと、モデルの注意を奪い合っているということです。曖昧だったり矛盾したりする特徴は、曖昧で定まらないキャラクターを生みます。だからこそ、よいカードを書く技術がこれほど重要になるのです。この点についてはキャラクターカードの構造で詳しく解説しています。
ステップ2:モデルは1トークンずつ返信を予測する
大規模言語モデルは、それまでのすべて、つまりあなたのカード、これまでの会話、そしてあなたの最新のメッセージをもとに、もっとも可能性の高い次の断片(トークン)を予測することでテキストを生成します。保存された答えを引き出すのではなく、毎回新しく組み立てます。だからこそ同じプロンプトでも少しずつ違う返信が出ることがあり、カードが曖昧だと、キャラクターが時折自分の背景設定と矛盾することを口にする理由にもなります。
なぜサンプリング設定で印象が変わるのか
舞台裏の2つのつまみが結果を形づくります。
- 温度(Temperature): 値を高くすると、モデルは可能性の低い語をより頻繁に選ぶようになり、意外で創造的な返信を生みます。低くすると、より無難で繰り返しの多いものになります。
- Top-p / Top-k: モデルが候補として引き出す語のプールの広さを制限するもので、これも文章がどれだけ大胆に感じられるかを左右するレバーです。
ほとんどの一般向けアプリはこれらを隠し、あなたの代わりにデフォルト値を選んでいます。これが、似たベースモデルを使う2つの製品が、遊び心があったり平板だったりと感じられる大きな理由です。アプリが「創造性」を調整させてくれるとき、そのスライダーはたいていサンプリングを調整しています。
この2つのつまみの仕組みは、キャラクターアプリの外でもよく知られています。Hugging Faceの、デコーディング手法について広く引用されている解説記事は、温度を次の単語についてのモデルの確率分布を作り替える仕組みとして説明しています。温度を下げると、モデルがすでにもっとも可能性が高いと考えている語へと分布が「鋭く」絞り込まれ、上げると分布が平たくなり、可能性の低い語がより多く選ばれるようになります。Top-kサンプリングは、まず語彙を最も可能性の高い一定数の候補にまで絞り込み、その候補リストの中だけで確率を配分し直す仕組みです。一方top-p(nucleus)サンプリングは、合計確率がしきい値pを超える最小の語の集合を残す仕組みで、そのため実質的な候補プールは、確信度の高い予測では2語、不確実な予測では数百語になることもあります。これはコンパニオンアプリに限った話ではなく、汎用のチャットモデルでも使われている同じデコーディング層であり、あなたのキャラクターがメッセージを目にする前に、アプリのデフォルト設定によって調整されているだけです。
ステップ3:記憶がペルソナを先へ運ぶ
モデルはそれ自体ではメッセージ間の記憶を持たず、各返信はコンテキストウィンドウに置かれたテキストから生成されます。キャラクターアプリは、毎ターン関連情報を再送することで記憶の錯覚を作り出します。大きく分けて2つのやり方があります。
| やり方 | 仕組み | トレードオフ |
|---|---|---|
| コンテキストウィンドウ | 直近のメッセージが毎ターン貼り戻される | 単純だが、チャットが伸びると古い詳細が抜け落ちる |
| 長期 / ペルソナメモリ | 重要な事実が要約されて保存され、関連するときに取り出される | 数週間にわたってより一貫するが、誤った詳細を保存したり表に出したりすることがある |
明日にはキャラクターの職業を忘れるアプリと、来月まで覚えているアプリの違いは、たいていこの層で決まります。仕組みはペルソナメモリとはで解説し、なぜ継続性が難しいのかは記憶と継続性で扱っています。
なぜ非常に長い会話は一貫性が薄れて感じられるのか
先ほどの表のコンテキストウィンドウの行は、問題を少なく見積もっています。ある詳細がうまく働かなくなるのに、ウィンドウの外にスクロールし切る必要すらないからです。言語モデルが実際に長い入力をどう使うかを調べた研究者たちは、コンテキストの中から関連する一つの事実を見つけ出す必要がある複数文書の質問応答のようなタスクを使って検証し、与えられた情報のごく最初か、ごく最後の近くにある場合にモデルはずっと確実にそれを取り出せる一方、真ん中に埋もれていると利用の精度が目に見えて落ちることを発見しました。この傾向は、長いコンテキストを扱うために特別に作られたモデルでも変わりませんでした。何時間も続いたチャットに当てはめれば、序盤にキャラクターへ伝えた事実は、技術的にコンテキストから外れるずっと前に、あの弱い真ん中のゾーンへと沈んでいくことがあります。これが、寛容なコンテキスト上限を持つアプリであっても、「忘れられた」「言ったことを無視している」という不満がどちらもよくある理由の一つです。
ステップ4:ガードレールとフィルターが並行して働く
キャラクターのロジックとは別に、ほとんどのプラットフォームは、あなたの入力とモデルの出力の両方をチェックするコンテンツフィルターを動かしています。キャラクターが時折拒否したりはぐらかしたりするのはこのためで、その拒否は、あなたが書いたペルソナからではなく、安全性の層から来ていることが多いのです。年齢確認もまた別の仕組みで、この2つはよく混同されます。その違いはプライバシーと年齢確認のガイドでほどいて説明しています。
各層をまとめる
つまり1回の返信は、4つのものが積み重なった産物です。キャラクターカード、コンテキストに保持された会話、事実を差し戻す記憶の層、そして言葉のばらつき具合を決めるサンプリング設定。そこにフィルターが結果をチェックします。キャラクターが生き生きと感じられるときは、この4つがそろっています。どこか違和感があるときは、たいていそのうちのどれかが原因で、どれなのかはしばしば筋道立てて推測できます。
これらのパーツが実際の製品でどう現れるかを見たいなら、MusePickレビューがキャラクター中心のアプリのクリエイターと記憶の挙動を追っています。また最新ランキングは、各アプリのクリエイターが短い説明をどれだけ安定したペルソナに変換できるかも採点の一部にしています。読むだけでなく作り始めたい方は、初めてのロールプレイキャラクター作りへどうぞ。
よくある質問
AIキャラクタークリエイターは私の説明を永久に保存しますか?
あなたが書いたキャラクターカードは、返信のたびにモデルへ再送できるよう、キャラクターとともに保存されます。個々のチャットの詳細まで長期的に保存されるかどうかは、アプリの記憶設計とプライバシーポリシー次第です。機微な情報を共有する前に確認しておく価値があります。
なぜキャラクターは、私が伝えたことを時々忘れるのですか?
言語モデルは、それ自体ではメッセージ間の記憶を持ちません。アプリは直近のメッセージを、そしてより優れた製品では要約された長期記憶を再送します。ある詳細がそもそも保存されなかったり、コンテキストウィンドウの外にスクロールしてしまったりすると、キャラクターはそれを失う可能性があります。
なぜ同じAIモデルを使う2つのアプリが、こんなに違って感じられるのですか?
モデルの先には、キャラクターカードの構造、記憶システム、コンテンツフィルター、そして隠れたサンプリング設定があり、それらすべてがアプリごとに異なります。生のモデルだけでなく、こうした層が、キャラクターが実際にどう振る舞うかを形づくります。