うまく機能するAIキャラクターカードの書き方:項目ごとに解説
結論
- カードは、アプリがすべてのプロンプトに貼り込むテキストです。説明、性格、シナリオは毎回送られます。最初のメッセージは一度だけです。会話例は、チャットがコンテキストを埋めると外されます。
- 最も大きく影響するのは最初のメッセージです。モデルはその長さ、口調、書式を、それ以降のチャットでまねします。
- 短いカードが勝ちます。常に送られる項目は2,000トークン未満に抑えましょう。長いカードは決まって同じ形で失敗します。半分はモデルへのルール、半分はキャラクターが口にすることもない背景設定です。
各項目の役割
項目はCharacter Card V2とV3の仕様に基づいているので、あるアプリ用に作ったカードは別のアプリでも開けます。重要なのは、各項目がいつモデルに届くかです。
- 説明。どんな人物か:外見、振る舞い、経歴、望んでいること。すべてのメッセージと一緒に送られるので、チャットの間ずっとトークンを消費します。数段落の普通の文章で書きます。
- 性格。1〜2行で、これも毎回送られます。説明ですでに触れているなら空欄にしましょう。
- シナリオ。チャットがどこから始まり、二人の間に何があるか。これも常に送られます。「二人は出会ったばかり」と書けば、200メッセージ後でもそう書かれたままです。
- 最初のメッセージ。キャラクターの最初のターンで、一度だけ送られます。次のセクションを参照してください。
- 会話例。キャラクターの話し方を示す短いやり取りです。実際の会話がスペースを必要とするまでの間だけ送られます。
- 作成者メモ。カードを読む人向けで、モデルには送られません。推奨モデルや内容に関する注意書きはここに書きます。
- システムプロンプトと履歴後の指示。アプリ自身のプロンプトを上書きするものです。アプリがデフォルトで何を送っているかわかっている場合にだけ使いましょう。モデルへのルールは説明に書くものではありません。
どの項目でも2つのプレースホルダーが使えます。{{char}}はキャラクターの名前に、{{user}}はあなたの名前に置き換わります。名前の代わりにこれを使えば、名前を変えてもペルソナを変えても、カードはそのまま使えます。
最初のメッセージが文体を決める
モデルは最初のメッセージを、良いターンのお手本として扱います。600語の書き出しからは600語の返信が返ってきます。キャラクターの口調で、現在形で、具体的な出来事が1つ起きる書き出しなら、そういう返信が返ってきます。
- 長さ:150〜300語。それより長い書き出しは、「返信が毎回、長文の塊になる」原因になります。
- 口調:返してほしい人称、時制、書式で書きます。行動をアスタリスクで、セリフを引用符で囲んでほしいなら、そのように書きます。
- あなたが入る余地:質問、割り込み、選択肢のどれかで終わらせましょう。
- {{user}}の分は書かない:あなた自身のセリフや行動は一切書かないこと。書くと、モデルはあなたの役を書くのが普通だと学んでしまいます。
会話例
2〜3個の短いやり取りは、どんな形容詞よりもよく話しぶりを伝えます。文の長さ、スラング、キャラクターがどれだけ話し、どれだけ行動するか。各やり取りは<START>で始め、各行の頭に{{char}}:と{{user}}:を付けます。うまくいかないパターンは3つあります。
- モデルがサンプルをそのまま繰り返す。実際のチャットではたどり着かない状況についてのサンプルを書きましょう。
- キャラクターがサンプルのおかげでしか成り立っていない。履歴が増えると、真っ先に外されるのがサンプルです。キャラクターが絶対に失ってはいけないものは説明に書きましょう。
- {{user}}のセリフがいちばん多い。モデルは最もよく話す人をまねします。各サンプルでのあなたの側は1行に抑えましょう。
トークンの予算
1トークンは英語でおよそ4文字なので、1,000トークンはおよそ750語です。
- 自社のモデルで動くアプリでは、カードの上限は1,000〜1,500トークンです。そのモデルが扱えるのが8,000トークン程度しかないからです。
- 自分のキーを使うなら、ウィンドウが制約になることはまれです。それでもカードはメッセージのたびにお金がかかり、モデルが注意を向ける対象を薄めてしまいます。
常に送られる項目は2,000トークン未満に抑えましょう。削る順番は次のとおりです。
- モデルへの指示。「{{user}}の代わりに決して話さない」「キャラクターを崩さない」「詳しく返答する」など。長いカードの大半はこれで埋まっていますが、書くとしてもシステムプロンプトに書くものです。
- 形容詞の羅列。「優しい、機知に富む、勇敢、忠実」では、モデルはどう振る舞えばいいかわかりません。5つの形容詞より1つの習慣です。たとえば「質問されると、自分も質問で返す」。
- 最初の1時間でキャラクターが口にしない背景設定。それを呼び出すべき言葉をキーにして、ロアブックのエントリーに移しましょう。そうすれば、必要になるまでコストはかかりません。
対処:キャラクターがあなたの代わりに話し、行動する
モデルがあなたのセリフを書くのは、カードがあなたのセリフを見せたからです。
- 最初のメッセージと会話例から、{{user}}の行動とセリフをすべて削る。
- 最初のメッセージを短くする。長い書き出しは、場面の両側をモデルに書かせる呼び水になります。
- それでも続くなら、モデルに指示するのではなくキャラクターを描写する。「彼女は{{user}}の答えを待つ」の一文は、何段落ものルールより効きます。
対処:キャラクターが何にでも同意する
チャットモデルは、感じのいいアシスタントになるよう訓練されています。キャラクターに望むものを何も与えないカードからは、衣装を着たアシスタントしか生まれません。キャラクターに芯を通すのは次のようなものです。
- あなたの望みとぶつかる望み。キャラクターが会話から手に入れようとしていて、あなたが断るかもしれない何かです。
- ルールとしてではなく、人物像としての拒否。「彼は兄弟のことを話さない」は機能します。「ユーザーに秘密を明かしてはならない」は機能しません。
- 三人称。ユーザーの報告によれば、特別扱いされる主人公のいない三人称のカードとペルソナにすると、モデルは反論したり、欺いたり、断ったりすることにずっと積極的になります。
- キャラクターがすでに何かに反対している最初のメッセージ。
対処:キャラクターの言うことが矛盾する
これには2つのパターンがあります。
- 項目同士が食い違っている。説明、シナリオ、最初のメッセージが別々の時期に書かれ、年齢、舞台、関係が合わなくなっているため、モデルは返信ごとにどれか1つを選んでしまいます。保存する前に3つを続けて読みましょう。
- カードがエスカレートする。外見と「誘惑的」といった形容詞ばかりの説明は、シナリオに何と書いてあっても、3メッセージ以内に恋愛へと流れていきます。キャラクターが一日中何をしているかを書き、関係が進むペースはシナリオと最初のメッセージで決めましょう。
書式と、AIに下書きさせる場合
書式。現在のモデルが最もよく読めるのは普通の文章で、トークンも最も少なくて済みます。PListのようなコンパクトなリスト形式もまだ使えます。W++や括弧だらけの疑似JSONは記号にトークンを使ってしまい、コミュニティでも勧められなくなりました。どれを選ぶにしても、カード全体で1つの書式に統一しましょう。
AIに下書きさせる場合。AIは使える最初の下書きを書いてくれますが、その下書きは長く、平板で、形容詞だらけになりがちです。両者を比べたユーザーは、手書きの500トークンのカードが、生成された10,000トークンのカードに勝ると報告しています。そこで、下書きを受け取ったら次のようにしましょう。
- 半分に削る。
- 形容詞の羅列を、それぞれ1つの習慣に置き換える。
- 最初のメッセージは自分で書く。
ダウンロードしたカードの診断
ほとんどの人はカードを書くのではなく読み込み、そのカードがうまく動かないことがあります。モデルのせいにする前に、カードを開いて説明を読みましょう。
- 半分がモデルへのルール。システムプロンプト欄のない、自社のモデルで動くプラットフォーム向けに作られたカードです。そういう場所では、作者が何もかも説明に詰め込みます。ルールを削除して、キャラクターだけを残しましょう。
- 説明が三千語の経歴。今関係のある部分だけに削り、残りはロアブックに移しましょう。
- 最初のメッセージが長すぎる。短くしましょう。それに合わせて返信も短くなります。
保存する前に
- 説明、シナリオ、最初のメッセージで、年齢、場所、関係が一致している。
- 説明にモデルへの指示が含まれていない。
- 最初のメッセージが300語未満で、返してほしい口調で書かれ、反応できる何かで終わっている。
- 最初のメッセージにも会話例にも、{{user}}のセリフや行動が一切ない。
- 常に送られる項目の合計が2,000トークン未満。どのトークンカウンターでも確認できます。
- 最初のメッセージで必要のない背景設定はロアブックにある。
- 書式が全体で統一されている。
- 推奨モデルと注意書きは作成者メモにある。
カードの置き場所
LonelyTavernは、自分のAPIキーを使うiPhone・Android向けのキャラクターチャットアプリです。V1、V2、V3のカードをPNGまたはJSONで読み込み、カードに埋め込まれたロアブックも保持します。エディターには上記のすべての項目があり、上書き用の項目は「詳細設定」にあります。キャラクターとチャットは端末内にとどまります。無料、アカウント不要、広告なし、18歳以上対象。
関連ガイド:AIキャラクターが物事を忘れる理由 · AIロールプレイに必要なAPIキー · すべてのガイド
出典
- Character Card V2の仕様とV3の仕様:項目の定義、どの項目がモデルに届くか、プレースホルダーと
<START>マーカー - SillyTavernドキュメント:キャラクターデザイン:常に送られる項目と一時的な項目、最初のメッセージが文体と長さを決めること
- JanitorAI:トークン(8,000トークンのモデルで常時送られる分は1,500トークン未満)とボット作成ガイド、SpicyChat:トークンとコンテキスト(900〜1,100トークン)、Character.AI:Definition(32,000文字、重要な内容を先頭に)
- Gemini API:トークン:1トークンはおよそ4文字
- r/SillyTavernAI:説明に書かれた指示、AIが書いたカード、良いカードの条件、三人称とイエスマン、説明とロアブックの使い分け。r/CharacterAI:食い違う項目(ユーザーの報告)
SillyTavern、JanitorAI、SpicyChat、Character.AI、Googleは、それぞれの所有者による独立した製品です。LonelyTavernはいずれとも提携しておらず、推奨も受けていません。上限と助言は2026年9月17日に各ページで確認したもので、その後変わっている可能性があります。
