DiscordのAIロールプレイボット:コード不要の設定ガイド

Jakub Swistak
公開日 更新日 読了時間:約9分
AIとのロールプレイ会話を表示したDiscordのチャット画面

AIロールプレイボットは、Discordで特に活発に使われている用途の1つです。共同での物語作り、テーブルトークRPGのキャンペーン、キャラクター中心の会話を楽しむサーバーでは、一貫した人格を維持し、過去のやり取りを覚え、長いスレッドでもキャラクターに沿った応答を生成するボットがよく使われています。

この記事では、こうしたボットの仕組みを技術的に解説し、選ぶときや作るときの検討事項を整理します。さらに、Quickchat AIでロールプレイ対応のAIボットをDiscordサーバーに設定する手順を紹介します。

AIロールプレイボットの仕組み

基本的には、ロールプレイボットは、キャラクターを定義するシステムプロンプトとともにユーザーのメッセージを大規模言語モデル(LLM)へ送信するDiscordボットです。キャラクターの性格、背景、話し方、行動ルールは、このシステムプロンプトに記述します。

ロールプレイ用キャラクターの典型的なシステムプロンプトは、次のようなものです。

You are Elara, a wandering herbalist in a medieval fantasy world.
You speak in a calm, measured tone. You refer to modern technology
as "strange contraptions." You never break character. You have
extensive knowledge of fictional plants and potions. When asked
about your past, you hint at a tragedy but never reveal details
directly.

LLMはこのプロンプトと最近の会話履歴を受け取り、キャラクターに合う応答を生成します。ロールプレイの品質は、次の3点に左右されます。

  1. システムプロンプトの品質:キャラクターの定義がどれだけ詳しく、一貫しているか
  2. コンテキストウィンドウの管理:モデルがどれだけの会話履歴を見るか
  3. モデルの能力:基盤となるLLMが、創造的でキャラクターに一貫した文章をどれだけうまく生成できるか

コンテキストウィンドウと会話の記憶

ロールプレイボットで最もよく問題になる技術的な制約は、コンテキストウィンドウの大きさです。会話が数百件のメッセージに及ぶと、モデルはすべてを一度に見ることができません。ボットは、どのメッセージを含めるか選ぶ必要があります。

主に次のような方法があります。

方法仕組みトレードオフ
スライディングウィンドウ直近のN件のメッセージを含める単純だが、キャラクターが以前の出来事を「忘れる」
要約古いメッセージを定期的に要約し、その要約を含める長期的な文脈を保持できるが、細かなニュアンスが失われる
RAG(検索)全メッセージをベクトルデータベースに保存し、関連するものを取得する想起に優れるが、遅延と複雑さが増す
ハイブリッドスライディングウィンドウ、定期的な要約、重要な出来事の固定を組み合わせる最も堅牢だが、実装も最も複雑

Discordでは、スレッド単位の会話によって文脈の範囲を自然に区切れます。ボットがスレッド内で返信すれば、会話が1か所にまとまり、複数のチャンネルを横断して追跡するより文脈を管理しやすくなります。この性質はロールプレイ以外にも役立ちます。サポートチケットボットは問題ごとに非公開スレッドを作成し、それぞれの文脈を分けて保持します。

ロールプレイに使うモデルの選び方

すべてのLLMが同じようにロールプレイに向いているわけではありません。主な判断材料は次のとおりです。

創作の品質:小説や対話でファインチューニングされたモデルは、自然なキャラクターの語り口を作りやすい傾向があります。一般的な指示追従モデルは親切なアシスタントの口調に戻りやすく、没入感を損なうことがあります。

コンテキストウィンドウの大きさ:大きいほど、要約などの工夫をしなくても多くの会話を記憶できます。2026年初頭時点では、最先端モデルの多くが少なくとも128Kトークンに対応していますが、その文脈をどれだけ効果的に使えるかはモデルによって異なります。

指示への忠実さ:モデルはシステムプロンプトに一貫して従う必要があります。数ターンでキャラクターを崩すと、ロールプレイは成立しません。指示追従能力が高いモデル(GPT-4o、Claude 3.5 Sonnet、Llama 3.1 70B以上)は、この点で良い結果を出す傾向があります。

コンテンツポリシー:ホスト型APIにはコンテンツフィルターがあり、過激な暴力、ホラー、その他の暗い題材の創作を拒否する場合があります。コミュニティでこうしたテーマを扱うなら、自前でホストするモデルや、より許容範囲の広いコンテンツポリシーを持つAPIプロバイダーを検討してください。

モデルコンテキストウィンドウロールプレイへの適性利用方法
GPT-4o128Kトークン創作に強く、指示に忠実OpenAI API
Claude 3.5 Sonnet200Kトークンキャラクターの語り口を維持する能力に優れるAnthropic API
Llama 3.1 70B128Kトークンファインチューニングで良い結果が得られ、無検閲の派生版もある自前ホストまたはAPIプロバイダー
Mixtral 8x22B64Kトークン創作能力は良好で、費用効率が高い自前ホストまたはAPIプロバイダー
Command R+128Kトークン安定した性能で、検索を使う場合はRAG向けの最適化が役立つCohere API

Quickchat AIでロールプレイボットを設定する

Quickchat AIでは、独自の人格を持つAIエージェントを作成し、コードを書かずにDiscordで公開できます。ロールプレイ対応ボットの設定方法を見ていきましょう。

事前に必要なもの

  • Quickchat AIアカウント(Trialプランでは50メッセージ分を試せます)
  • Manage Server権限を持つDiscordサーバー
  • 必要に応じて、自分のDiscordアプリケーションとボットトークン。独自のボット名とアバターを使いたい場合にのみ必要です(Discordボット設定ガイドを参照)

手順1:AIエージェントを作成する

  1. Quickchat AIダッシュボードにログインします。
  2. 新しいAIエージェントを作成するか、既存のものを選択します。

手順2:キャラクターを定義する

サイドバーのIdentityに進み、Profileタブを開きます。

  1. AI Agent Nameにキャラクターの名前を設定します(例:「薬草師エララ」)。

  2. AI Main Promptを記述します。これは、キャラクターが何者で、どのような話をするかの短い説明です。例:「エララは中世ファンタジー世界を旅する薬草師です。落ち着いた慎重な口調で話し、架空の植物や薬について豊富な知識を持っています。」

  3. 具体的な行動ルールをAI Guidelinesに追加します。各ガイドラインは、AIが従う短い指示です。ロールプレイでは、次のような指示が役立ちます。

    • 「どのような状況でもキャラクターを崩さない。」
    • 「常にエララとして一人称で応答する。」
    • 「現代の技術を『奇妙な仕掛け』と呼ぶ。」
    • 「過去について尋ねられたら、悲劇をほのめかすが、詳細を直接明かさない。」
  4. Conversation Styleタブで、次の項目を設定します。

    • AI Personality:キャラクターに合う口調を選びます。選択肢はClassic、Sassy、Intelligent、Empathetic、Bold、Excited、Mysterious、Inspiring、Adventurous、Elegantです。ロールプレイでは、既定の「Classic」より「Mysterious」や「Adventurous」の方が合う場合があります。
    • AI Profession:Helpful Assistant、Support Agent、Shopping Assistant、Field Expert、Interviewerから選べます。他の選択肢は特定の業務用途向けなので、ロールプレイには「Helpful Assistant」が最も柔軟です。
    • AI Creativity:ロールプレイには「High」を設定します。「High」では情報が足りないときに拒否する代わりに、ナレッジベースをもとに即興で答えようとするため、キャラクターとしての応答に向いています。「Low」では情報が足りないことを明示するので、没入感を損ないます。
    • Reply Length:詳細で描写の多い応答が必要なら「Longer」にします。気軽な会話のやり取りには「Normal」が適しています。

人格そのものをさらに作り込む方法、第四の壁を破らないための具体的なプロンプトのルール、設定資料として構成するナレッジベースについては、キャラクターを維持するロールプレイAIチャットボットの作り方をご覧ください。

手順3:キャラクターのナレッジベースを作る

キャラクターに詳しい世界設定がある場合(テーブルトークRPGのキャンペーン、共有の架空世界、ゲームの舞台など)は、関連する設定をKnowledge Baseに追加します。

  1. サイドバーのKnowledge Baseに進みます。
  2. 世界の設定、キャラクターの背景、勢力の説明、場所の詳細、アイテム一覧を含む記事や文書を追加します。
  3. AIエージェントは検索拡張生成を使い、質問に答える際に関連知識を文脈へ取り込みます。すべてをシステムプロンプトに詰め込まなくても、キャラクターが設定を正確に参照できます。

これは特に、ゲームマスターがキャンペーンの世界、NPC、ルールをボットに把握させたいテーブルトークRPGで役立ちます。

手順4:Discordに接続する

  1. サイドバーのExternal Appsに進み、Discordを選択します。
  2. Connectの下にあるAdd to your Discord serverをクリックし、共有のQuickchat AIアプリを認証してサーバーを選択します。そのサーバーのManage Server権限が必要です。

ボットがDiscordサーバーでオンラインになります。既定では、@メンションに対してチャンネル内で返信します。Reply inでThreadを選ぶと、ロールプレイの会話をスレッドにまとめ、流れを追いやすくできます。

独自のボット名とアバターを使う場合は、Use your own Discord appを選択し、自分のDiscordアプリケーションをボットトークンで接続してください。手順は、事前に必要なものの項目にある設定ガイドで説明しています。

手順5:テストして調整する

Discordサーバーを開き、ボットにメンションしてロールプレイの会話を始めます。次の点を確認してください。

  • 数回やり取りした後もキャラクターを維持しているか
  • システムプロンプトで定義した口調に合っているか
  • ナレッジベースの参照は正確か
  • 応答の長さが会話スタイルに適しているか

結果を見ながら、システムプロンプト、創造性の設定、ナレッジベースの内容を調整します。キャラクターのプロンプト作りは繰り返し改善する作業です。わずかな言い回しの変更でも、モデルのキャラクター解釈が大きく変わることがあります。

1つのサーバーで複数のキャラクターを動かす

サーバーに複数のロールプレイ用キャラクターが必要な場合(たとえばキャンペーンに登場する複数のNPC)、2つの方法があります。

  1. 複数のQuickchat AIエージェント:キャラクターごとに個別のAIエージェントを作成し、それぞれにDiscordボットトークンとアプリケーションを用意します。各ボットはDiscordで別のユーザーとして表示されます。
  2. キャラクターを切り替える単一エージェント:複数のキャラクターをシステムプロンプトに定義し、文脈やコマンドに応じて切り替えるよう指示します。管理は簡単ですが、人格が多くなると一貫性が下がる場合があります。

多くのロールプレイサーバーでは、それぞれのキャラクターが専用の文脈とナレッジベースを持てるため、1番目の方法の方が良い結果につながります。

よくある問題と解決方法

数メッセージでキャラクターが崩れる:システムプロンプトが曖昧すぎる可能性があります。具体的な行動ルールと会話例を追加してください。「どのような状況でも絶対にキャラクターを崩してはいけない」という明示的な指示は、多くのモデルで役立ちます。

応答が短すぎる、または長すぎる:システムプロンプトで希望する応答の長さを指定します。例:「普段の会話では2~4文、劇的な場面では1~2段落で応答してください。」

無視してほしいメッセージに応答する:DiscordのQuickchat AIボットは@メンションされたときに応答します。スレッド内では、再びメンションせずに会話を続けられます。特定のチャンネルでのみ応答させたい場合は、Discordのチャンネル権限でボットがメッセージを読める場所を制限してください。

ナレッジベースの回答でキャラクターの口調が失われる:設定について質問するとFAQシステムのような口調になる場合は、すべての情報をキャラクターとして伝えるようシステムプロンプトで強調します。例:「世界についての知識を話すときは、客観的な資料としてではなく、自分の経験として語ってください。」

プライバシーとコンテンツの注意点

ロールプレイの会話には、機微な内容や個人的な創作が含まれる場合があります。次の点を考慮してください。

  • AIに送信したメッセージは、基盤となるLLMプロバイダーによって処理されます。プロバイダーのデータ保持ポリシーを確認してください。
  • Quickchat AIは会話データをモデルの学習に使用しません。詳細はプライバシーポリシーをご確認ください。
  • 許可するロールプレイの内容について、明確なサーバールールを設けてください。AIはユーザーの指示にかかわらずコンテンツポリシーに従うため、特定の内容は拒否される場合があります。
  • データの扱いを完全に管理する必要がある場合は、マネージドサービスの代わりにモデルを自前でホストすることを検討してください。

関連記事