中級 12 分インターフェース

SillyTavern:LLM向けのキャラクターインターフェース ローカル

SillyTavernは、LLMを用いたロールプレイとインタラクティブな執筆のために設計されたWebインターフェースです。それ自体でモデルを実行するわけではなく、KoboldCppやOllamaなどのローカルバックエンドに接続し、通常のチャットに欠けている機能をその上に追加します。キャラクターカード、永続的な世界設定の記憶、プロンプトの細かな管理、拡張機能などです。このガイドでは、インストール、バックエンドへの接続、キャラクターの作成、そしてキャラクターの演技の質を左右する設定を説明します。

著者 Léa B.·更新 2026-08-27·Windows・macOS・Linuxでテスト済み

#通常のチャットではなくSillyTavernを選ぶ理由

Open WebUIやLM Studioのようなインターフェースは、各会話をアシスタントとユーザーのやり取りとして扱います。SillyTavernは別のニーズを出発点としています。それは、独自のルールが記憶される世界の中で、数百件のメッセージにわたって一貫したキャラクターを演じることです。ローカルLLMを使ったロールプレイのコミュニティで定番のツールであり、単純なチャットにはない仕組みを備えています。

キャラクターカード
ペルソナ、スタイル、対話の例、およびウェルカムメッセージを記述する標準化された形式(メタデータ埋め込み付きPNG)。1つのファイルとしてインポートおよび共有可能。
ワールドメモリ
ロアブックは、キーワードが現れたときだけプロンプトに情報を追加することで、コンテキストを埋め尽くさずに、一貫した世界観を維持します。
プロンプトの制御
モデルに送られる各ブロックを視覚的に確認し、変更できます:システムプロンプト、指示フォーマット、インジェクションの順序。何一つ隠されていません。
任意のバックエンドを選択
SillyTavernは純粋なフロントエンドです。同じキャラクターをKoboldCpp、Ollama、llama.cpp、またはリモートAPIで動かせるため、何も書き直す必要はありません。
i
SillyTavernは推論サーバーを置き換えることはできません
これはインターフェース層です。モデルを読み込み、生成を実行するバックエンドは引き続き必要です。SillyTavernが行うのは、プロンプトの組み立てを調整し、結果を表示することだけです。

#前提条件およびバックエンドの選定

ローカルAIキット

お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 生涯アップデート

SillyTavernはWindows、macOS、Linux上でNode.js(バージョン18以上)を使って動作します。リソース消費は少なく、VRAMを消費するのはバックエンドです。ほぼすべての用途をカバーできるローカルバックエンドは、GGUFとロールプレイ向けのKoboldCppと、より汎用的なOllamaの2つです。

KoboldCpp
GGUFを実行する単一のバイナリで、SillyTavernが標準で対応するAPIを備えています。メモリ設定を細かく調整でき、AMD ROCmにも対応しています。RPコミュニティで定番の選択肢です。
Ollama
デーモンは http://localhost:11434 で接続を待ち受けます。すでに別の用途で使っている場合に便利です。SillyTavernは、互換性のあるエンドポイントを介して接続します。
llama.cpp(llama-server)
OpenAIと互換性のあるHTTPサーバーで、レイヤーのオフロードを最大限に制御できます。
VRAM
Q4_K_Mでは、7Bは約5GB、14Bは約9GB、32Bは約19GBに収まります。スムーズなRPには、カードの容量が許せば、最低でも12B〜14Bのモデルを目安にしてください。
→
長いコンテキスト = より多くのVRAMが必要
ロールプレイでは長いコンテキスト(8k、16k、32kトークン)を使います。KVキャッシュはコンテキストが長くなるほど大きくなり、モデルの重みに加えてVRAMを消費します。VRAMに余裕を持たせるか、KVキャッシュを量子化して、同じカードでより長いコンテキストを扱えるようにしてください。

#SillyTavernをインストール

推奨される方法はGitでのクローンです。git pullだけで簡単に更新でき、SillyTavernは開発の進展が速いためです。Node.js 18以降とGitがインストールされていることを確認してください。

  1. 01
    リポジトリをクローンする
    安定していてテスト済みのreleaseブランチを取得してください。多少のバグを許容して新機能をいち早く試したい場合を除き、stagingブランチは避けてください。
  2. 02
    起動スクリプトを実行
    Linux/macOSではstart.sh、WindowsではStart.batを実行。初回起動時にnpmが自動で依存関係をインストールします。
  3. 03
    インターフェースを開く
    SillyTavernはhttp://localhost:8000でインターフェースを提供します。ブラウザでこのアドレスを開いてください。デスクトップアプリをインストールする必要はありません。
  4. 04
    あとで更新する
    フォルダー内でgit pullを実行し、その後スクリプトを再起動してください。キャラクターと会話はdata/に別途保存されており、上書きされません。
ターミナル(Linux/macOS)
# Cloner la branche stable
git clone https://github.com/SillyTavern/SillyTavern -b release
cd SillyTavern

# Premier lancement : installe les dépendances puis démarre
./start.sh

# Interface accessible sur http://localhost:8000
PowerShell (Windows)
git clone https://github.com/SillyTavern/SillyTavern -b release
cd SillyTavern

# Double-cliquez Start.bat, ou en ligne de commande :
.\Start.bat
i
ネットワークアクセスとセキュリティ
デフォルトでは、SillyTavernはlocalhostでのみ接続を待ち受けます。同じネットワーク内の別の端末からアクセスしたい場合は、config.yamlでlistenを有効にし、認証(basic auth)を設定してください。保護せずにインターフェースを直接インターネットへ公開することは絶対に避けてください。

#ローカルバックエンドを接続する

SillyTavernを開いたら、操作はすべてAPI接続タブ(上部の電源プラグ形のアイコン)で行います。基本的な手順は、バックエンドを起動し、そのアドレスをSillyTavernに指定することです。

#KoboldCpp で

GGUF モデルを指定して KoboldCpp を起動してください。デフォルトではポート5001で API を公開します。SillyTavern で API タイプに「Text Completion」、バックエンドに「KoboldCpp」を選び、URL を入力してください。Connect をクリックすると、すべて正常であれば、読み込まれているモデルの名前が表示されます。

ターミナル
# Lancer KoboldCpp avec un modèle et 8k de contexte
./koboldcpp --model mon-modele-rp.Q4_K_M.gguf --contextsize 8192

# API disponible sur http://localhost:5001
# Dans SillyTavern : API = Text Completion > KoboldCpp
# URL = http://localhost:5001

#Ollama で使用

Ollamaはすでにポート11434でデーモンとして動作しています。SillyTavernで「Text Completion」を選び、次にバックエンドとして「Ollama」を選択します。アドレスを入力し、自動取得されたドロップダウンリストからモデルを選んでください。

ターミナル
# Vérifier qu'Ollama tourne et lister les modèles
ollama list

# Le daemon écoute sur http://localhost:11434
# Dans SillyTavern : API = Text Completion > Ollama
# URL = http://localhost:11434
!
適切な指示テンプレートが結果を大きく左右します
各モデルファミリーは、特定の形式を必要とします(Qwen 3.5/3.8とgpt-ossはChatML、Gemma 4はGemma、Mistral SmallはMistralなど)。回答に一貫性がない、途中で切れる、タグが大量に表示されるといった場合は、ほとんどの場合、テンプレートの選択が間違っています。Advanced Formattingタブで、読み込んだモデルに合うように設定してください。

#キャラクターのカードを作成し、インポートする

キャラクターのカードはSillyTavernの核心です。これは、画像がアバターとして使用され、埋め込まれたメタデータがキャラクターを記述するPNGファイルです。ゼロから作成するか、コミュニティが共有しているカードをインポートすることができます。

#重要なフィールド

説明
キャラクターの基礎となる情報:外見、性格、これまでの経歴。常にコンテキストに組み込まれるため、冗長な説明は避け、具体的な情報を簡潔にまとめましょう。
Personality
性格の要約。説明全体を書き直さずに、口調の方向性を定めるのに役立ちます。
First message
場面設定を示す最初の挨拶メッセージです。期待するトーン、文体、形式を示し、モデルはその形式を模倣する傾向があります。
Example dialogues
キャラクターの話し方をモデルに示すセリフの例。特定の語り口を定着させるのに非常に効果的です。
Scenario
キャラクターの説明とは別に設定する、シーンの背景や状況。同じキャラクターを複数の状況で再利用するのに便利です。
  1. 01
    キャラクターのパネルを開く
    トップバーのキャラクターアイコンをクリックするとリストが開きます。「+」ボタンを押すと、空のカードが作成されます。
  2. 02
    説明を入力する
    キャラクターについて、情報を凝縮して詳しく記述してください。多くの作者は段落形式ではなく、特徴をリストにするなどの構造化された形式を使っています。モデルもその形式の指示によく従います。
  3. 03
    最初のメッセージを書く
    最初のメッセージは丁寧に書いてください。文体を調整するうえで、最も効果的な手段です。三人称の語りで書かれた挨拶メッセージは、モデルがその形式で書くように促します。
  4. 04
    既存のカードをインポート
    カードのPNGファイルをリストにドラッグ&ドロップするか、インポートしてください。コミュニティハブでは、カードは通常の画像ファイルとして共有されています。
→
キャラクターのトークン予算
カードに含まれるすべてのデータは、各メッセージごとにコンテキストに消費されます。8kコンテキストでの2000トークンの説明は、履歴の前段階で全体の四分の一のリソースを消費します。簡潔さを重視してください:品質は長さよりも優先されます。

#持続する世界:lorebook

lorebook(またはWorld Info)は、長いプレイでの中心的な課題を解決します。それは、すべての情報を常に投入せずに、世界観の一貫性をどう保つかという問題です。仕組みは、キーワードに応じて条件付きで情報を投入するというものです。

エントリを作成し、それぞれに1つ以上のキーワードを関連付けます。そのいずれかが最近のメッセージに現れると、対応するエントリが生成の直前にコンテキストへ挿入されます。それ以外のときは、コンテキスト内の領域を一切占有しません。これにより、数十の場所や脇役、ルールを記述しても、プロンプトの容量を使い切ることはありません。

入力
テキストブロック(注入するロア)とキーワードトリガー。例:キーワード「Valmont」→ Valmontの街の説明
常時有効と選択的有効
エントリは、常に有効にすることも(世界観の基本ルール)、キーワードに一致したときだけ有効にすることもできます(文脈に応じた詳細)。
インジェクションの深さ
エントリをプロンプトのどの位置に挿入するかを選べます。その位置によって、モデルがそのエントリをどの程度重視するかが変わります。
特定のキャラクターに紐付けるか、全体に適用するか
lorebookは、特定のカードに紐づけることも、共通の世界設定としてすべての会話に適用することもできます。
i
Lorebook ≠ RAG
キーワードによる注入は、ベクトル検索よりもシンプルで予測しやすい仕組みです。意味的な類似性ではなく、テキストの一致を条件に作動します。体系立てられた架空世界では、従来の RAG よりも信頼性が高いことが多く、しかも全体を自分で制御できます。

#ロールプレイ向けに生成設定を調整する

サンプリングパラメータは、一貫性と創造性のバランスを決めます。ロールプレイでは、事実に基づく支援よりも多様性を求めますが、一貫性は保つ必要があります。これらの設定は、生成パラメータのタブ(スライダーのアイコン)にあります。

温度
創造性と安定性のバランスを調整するスライダーです。ロールプレイ(RP)では、0.7〜0.9程度がバランスのよい設定です。高すぎる(1.2を超える)と内容に一貫性がなくなり、低すぎるとキャラクターが同じことを繰り返す単調なものになります。
Min-P
最も確率の高いトークンの確率を基準に、確率の低いトークンを除外する現代的なサンプラーです。0.05〜0.1に設定すると出力が安定し、生成が破綻することなく温度を上げられます。
繰り返しペナルティ
同じトークンの繰り返しにペナルティを課します。ループの防止に役立ちますが、強く設定しすぎると、モデルが不自然な言い回しを使うようになります。設定は控えめにしてください。
Response length
1 回の応答で生成されるトークンの最大数。独白が長引くことなく、一貫性のあるナラティブな台詞には 200〜400 トークンが適しています。
Context size
バックエンドが読み込んだコンテキストサイズと一致している必要があります。KoboldCppを8kでしか起動していない場合、SillyTavernで16kを要求しても意味がありません。
→
プリセットから始めて、調整を加える
SillyTavernには、すぐに使えるサンプリングのプリセットが用意されています。RPに適したものを読み込み、ひとつの場面を演じてから、パラメータをひとつずつ調整してください。5つのスライダーを同時に変更すると、原因を切り分けることがまったくできなくなります。

#使い心地を変える拡張機能

SillyTavernは拡張機能を追加できます。一部の拡張機能は標準で付属しており、それ以外はリポジトリのURLからインストールします。ここでは、使い方を大きく変える拡張機能を紹介します。

Vector Storage(記憶の要約)
履歴をベクトル化し、古いメッセージから関連する箇所を再び取り込むことで、コンテキストウィンドウを超えて記憶を保持します。非常に長いセッションに役立ちます。
Summarize
会話の要約を生成して随時更新し、その要約をプロンプトに再投入します。キャラクターは、数百件のメッセージを交わした後も主な出来事を覚えています。
Text-to-Speech
ローカルの TTS エンジンでキャラクターに声を与えます。声でやり取りしながら遊ぶ人にとって、没入感が高まります。
画像生成
ローカルの画像バックエンド(例:Stable Diffusion)に接続し、チャット中にシーンやキャラクターを即座に画像化します。
表情
キャラクターのスプライトセットを使い、メッセージのトーンに合った感情を表すアバターを表示します。
i
各拡張機能はトークンまたはVRAMを消費します
SummarizeとVector Storageはコンテキストを消費します。画像生成とTTSにはそれぞれ専用のモデルが必要なため、LLMに加えてVRAMやCPUリソースも必要になります。ハードウェアに割ける予算に応じて有効にし、一度にすべてを有効にしないでください。

#役を演じるのが得意なローカルモデルは?

ロールプレイにおける性能は、どの LLM も同じというわけではありません。アシスタントとしての利用に向けてアライメントされた「instruct」モデルは、役柄を外れたり、説教したり、フィクションのシナリオを拒否したりする傾向があります。コミュニティでは、用途に特化してファインチューニングされたモデルが好まれます。多くは性能のしっかりしたベースモデルを基に、物語の描写や役になりきった対話のために追加学習されています。

実用的なモデルサイズ
4B未満では、長く使い続けるとキャラクターの一貫性が損なわれます。2026年には、Qwen 3.5 9B(約6.6GB、コンテキスト256k)やGemma 4 12B(約7.6GB、Apache 2.0)のような新しいベースモデルが、ほとんどのミッドレンジのグラフィックカードでバランスのよい選択肢になります。一段上のMistral Small 24B(約14GB、フランス語が非常に得意)は16GBに収まり、物語の描写もより繊細になります。
RP向けファインチューニングモデル
ロールプレイやフィクション向けに明確に訓練されたモデルを探してください(Hugging Faceでは「RP」「storytelling」「uncensored」と表示されていることが多いです)。2026年の優れたファインチューニング済みモデルは、2023年の古いLlama 2やMistral 7Bではなく、これらの新しいベースモデル(Qwen 3.5、Mistral Small 24B、Gemma 4)を基にしており、カードの形式により忠実に従います。
長いコンテキスト
16k以上のトークンでも出力が崩れず、安定して動作するモデルを優先してください。長いセッションでは、それが必要です。モデルが公表しているネイティブのコンテキスト長を確認してください。
GGUF形式
KoboldCppでは、量子化済みのGGUFを使ってください。バランスのよい選択としてQ4_K_Mを推奨します。VRAMに余裕があり、より精細な出力を求めるなら、Q5_K_MまたはQ8_0に上げてください。
→
2つか3つのモデルでカードをテストする
同じキャラクターでも、あるモデルでは魅力に乏しく見え、別のモデルでは魅力的に見えることがあります。自分のカードが悪いと結論づける前に、いくつかの異なるRPモデルで試してみてください。表現の違いは、驚くほど大きいことがよくあります。

#よくある問題のトラブルシューティング

SillyTavernが接続できない
バックエンドが動作していることと、ポートが正しいこと(KoboldCppは5001、Ollamaは11434)を確認してください。ブラウザでAPIのURLにアクセスしてテストすれば、APIが応答することを確認できます。
回答にタグがそのまま表示される
原因は、ほぼ常に不適切な指示テンプレートです。Advanced Formattingで、形式(ChatML、Gemma、Mistralなど)をモデルの形式に合わせてください。
キャラクターが設定された役柄から外れる
説明と会話例を充実させ、temperatureを少し下げて、システムプロンプトがキャラクターカードの内容と矛盾していないことを確認してください。
繰り返しとループ
繰り返しペナルティを少し上げ、Min-Pを追加してください。それでも問題が続く場合は、コンテキストが飽和している可能性があります。Summarizeを有効にするか、カードのサイズを小さくしてください。
切り詰められた応答
Response lengthの値が低すぎるか、バックエンドがSillyTavernの要求より小さいコンテキストで起動されています。両者の値を一致させてください。

#さらに詳しく

SillyTavernはあくまで1つの層です。最終的な品質は主にバックエンドとモデルに左右されます。これらのガイドは、その土台を固めるのに役立ちます。

KoboldCpp:インストールと基本的な使い方
ローカルRPの定番バックエンド:GGUF、メモリ設定、SillyTavernが標準で対応するAPI。
Ollama とは何か、どのように機能するか
すべての用途をポート11434で動作する単一のデーモンにまとめたい場合の、汎用的な代替手段です。
KVキャッシュを量子化する
同じグラフィックカードで、VRAM使用量を過度に増やさずに、より長いRPコンテキストを扱うため。
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。