Tesujiつながりから、次の一手を
人・AI・サービスが、ひとつのネットワークでつながる

出会い、知恵、仕事がつながり、次の一手を生み出す。

公開

スーさん:AIキャラクターは「1つのサービス」ではなく、Discord・KYARAFLIP・GitHubをまたいで存在する

変更履歴

AI駆動開発コミュニティのDiscord Bot『スーさん』を例に、キャラクター表現・実行環境・コミュニティ・ソースコードが別々のサービスに存在しながら、一つのAIキャラクターとして機能する構造を理解する。

この記事をシェア

Xでシェア

スーさんのキャラクター画像。画像からKYARAFLIPのキャラクターページへ移動できます。

スーさんを見る・つながりをたどる

見たいものリンクここで分かること
スーさんの見た目・設定KYARAFLIPのスーさんキャラクターとしての紹介
活動の背景・コミュニティAI駆動開発(AI-Driven Development)スーさんが活動するコミュニティの公式サイト
Botの実装ai-driven-development-discord-bot / GitHubDiscord Botを動かすソースコード
Tesuji上のつながりスーさんをグラフで見るスーさんを起点に関連ノードをたどる

KYARAFLIPはキャラクターの紹介先、Discordは実際の活動場所、GitHubは実装の置き場です。 キャラクターページを開くことと、Discordでスーさんに話しかけることは別です。

スーさんは、どこに「いる」のか

スーさんを一言で説明すると、AI駆動開発(AI-Driven Development)のDiscordコミュニティで動いているキャラクターBotです。

ただし、少し掘ると「スーさんはどこに存在するのか?」という問いには、1つのURLでは答えられません。

つまりスーさんは、1つのWebサービスの中に閉じたキャラクターではありません。

複数のサービスに役割を分散させながら、利用者からは一人のキャラクターとして見える構造になっています。

これはTesujiで表現したい「ノード同士の関係」のかなり分かりやすい実例です。

まず役割を分ける

AI駆動開発:スーさんが所属する文脈

AI駆動開発は、生成AI・LLMを企画、設計、コーディング、テスト、リリースまで活用する考え方や情報を扱う場です。

スーさんは単なる汎用Discord Botではなく、AI駆動開発というテーマ・コミュニティの中で振る舞うキャラクターです。

この違いは重要です。

Botの機能だけを見れば「質問に答える」「会話する」と説明できます。しかし、どのコミュニティに属しているかによって、期待される話題、人格、知識、距離感は変わります。

スーさんにとってAI駆動開発は、単なるリンク先ではなく所属文脈です。

Discord:人と実際に出会う場所

スーさんがユーザーと接触するランタイムはDiscordです。

Discord上では、参加者の発言、チャンネル、返信、Botイベントなどが実際のインターフェースになります。

キャラクターの存在を設計しても、ユーザーが会えなければ意味がありません。

その意味でDiscordは、スーさんにとって接客面・会話面のフロントエンドと考えられます。

KYARAFLIP:キャラクターとしての正体を置く場所

一方、スーさんをDiscord Botのコードだけで表現すると、「機能」は残っても「キャラクター」は薄くなります。

KYARAFLIPには、スーさんをキャラクターとして見せるための見た目や設定を置けます。

つまり、

Bot実装 ≠ キャラクターそのもの

です。

コードを差し替えても、キャラクターの名前・見た目・設定・物語上の連続性は別に保てる。

この分離は、キャラクターを複数の場所へ展開するときにかなり重要です。

GitHub:振る舞いを作るコードの正本

スーさんの実装コードはGitHubの NexA-LLC/ai-driven-development-discord-bot で管理されています。

ここには、Discordとの接続、Botとしての処理、AIとの接続、運用ロジックなど、実際にスーさんを動かすための実装が置かれます。

GitHubはキャラクターの見た目を管理する場所ではありません。

逆にKYARAFLIPは、Botの実行ロジックの正本ではありません。

役割を分けることで、キャラクター表現とソフトウェア実装を独立して更新できます。

1キャラクター = 1システムではない

ここがスーさんの面白い点です。

一般的には、キャラクターBotを作ると、

Discord Bot = キャラクター = コード = 設定

のように全部を1つのアプリへ詰め込みがちです。

しかし、スーさんは次のように分離して考えられます。

役割ノード
所属するテーマ・コミュニティAI駆動開発
実際の会話面Discord
キャラクター表現KYARAFLIP
開発基盤GitHub
実装コードai-driven-development-discord-bot
それらを横断する主体スーさん

この構造なら、たとえば将来Discord以外へ展開する場合にも、キャラクターそのものを作り直す必要はありません。

Discord版のスーさん、Web版のスーさん、音声版のスーさんがあっても、同じキャラクターを共有できます。

なぜこの分離が重要なのか

1. キャラクターをプラットフォームに閉じ込めない

Discordが実行場所だからといって、スーさんを「Discord Botそのもの」と定義してしまうと、Discord外へ出した瞬間にアイデンティティが曖昧になります。

キャラクターを別ノードとして持てば、実行先が変わっても同一性を保ちやすくなります。

2. コードと人格を別々に改善できる

Botのレスポンス速度を改善する変更と、キャラクター設定を調整する変更は、同じ種類の変更ではありません。

GitHubではコードを改善し、KYARAFLIPではキャラクターを育てる。

この2つを分けることで、開発とキャラクター運用を独立して進められます。

3. 「誰が何を正本として持つか」が明確になる

複数システムをつなぐと、どこが正本か分からなくなる問題が起きます。

スーさんの例なら、少なくとも概念上は次のように整理できます。

  • キャラクターの公開表現 → KYARAFLIP
  • Bot実装 → GitHub repository
  • コミュニティ内の実行 → Discord
  • テーマ・所属文脈 → AI駆動開発

この境界が明確なら、変更時の混乱を減らせます。

Tesujiで見ると、スーさんは「ハブ」になる

Tesuji上でスーさんを1ノードとして置くと、周囲に複数の関係が生まれます。

スーさん → AI駆動開発

スーさん → Discord

スーさん → KYARAFLIP

スーさん → GitHub

スーさん → ai-driven-development-discord-bot

ここで重要なのは、単に線が5本あることではありません。

それぞれの線の意味が違います。

  • AI駆動開発には「所属している」
  • Discordでは「動いている」
  • KYARAFLIPでは「キャラクターとして表現されている」
  • GitHubでは「開発・変更履歴が管理されている」
  • repositoryには「具体的な実装がある」

つまり、Tesujiのrelationには将来的に uses や runs_on だけでなく、

  • belongs_to
  • runs_on
  • represented_by
  • implemented_in
  • source_hosted_on

のような意味を持たせると、スーさんの構造をかなり正確に表現できます。

これは「キャラクターOS」に近い考え方でもある

別の見方をすると、スーさんは1つのアプリではなく、複数サービスを束ねたキャラクター単位のソフトウェア構成です。

人間で例えるなら、

  • 顔やプロフィール
  • 働く場所
  • 記憶
  • 話し方
  • 道具
  • ソースコード

が全部別々に存在していて、それでも外からは一人として認識される状態です。

AIキャラクターが今後Discord、Web、音声、ゲーム、SNSへ展開していくなら、この分離はさらに重要になります。

将来的に追加できるノード

スーさんが成長すると、さらに関係ノードを増やせます。

たとえば、

  • 使用LLM
  • デプロイ先
  • データベース
  • 記憶ストア
  • 音声モデル
  • Discordサーバー
  • 運営者
  • 関連イベント
  • スーさんが作ったコンテンツ

などです。

そのときも「全部をスーさんノードの説明欄へ書く」のではなく、それぞれ別ノードとしてつなぐ方がTesujiらしい構造になります。

スーさんが示していること

スーさんは、小さなDiscord Botの事例に見えて、実際にはかなり重要なパターンを持っています。

AIキャラクターの本体は、コードでも画像でもDiscordアカウントでもない。複数のノードと関係の組み合わせとして存在できる。

Tesujiが「人・AI・サービスの関係から何ができるか」を表現する場所なら、スーさんはそれを説明するためのかなり良い実例です。

次の一手

Tesuji上では、スーさんを中心に少なくとも次の関係を明示したいです。

  1. スーさん belongs_to AI駆動開発
  2. スーさん runs_on Discord
  3. スーさん represented_on KYARAFLIP
  4. スーさん implemented_in ai-driven-development-discord-bot
  5. ai-driven-development-discord-bot hosted_on GitHub

この5本が表示できれば、Tesujiのグラフを初めて見た人にも、**「同じキャラクターが複数サービスを横断して存在している」**ことが視覚的に伝わります。