← 기사 목록
日本語https://zenn.dev/topics/llm/feed

**同じAIが、感情を変えたら同じ知識を全く別の使い方をした ― Soul-Twin 感情モード×座談会4回比較実験**

추출된 키워드

29
感情モード·5Soul-Twin·5Living Persona·4emotion_mode·4LLM·4RAG·4TwinDailyContext·4座談会·4プロンプトエンジニアリング·3pgvector·3suppressed·3amplified·3normal·3off·3Celery非同期タスク·3RAGチャンク·3living_section·3システムプロンプト·3Claude·3生成AI·3吉田茂AI·2マザー・テレサAI·2KATAKURA AI·2ガンジーAI·2roundtable_tasks.py·2_execute_roundtable·2アインシュタインAI·2TwinContextService·2Celery Beat·2

원문

7,982
**同じAIが、感情を変えたら同じ知識を全く別の使い方をした ― Soul-Twin 感情モード×座談会4回比較実験**

**同じAIが、感情を変えたら同じ知識を全く別の使い方をした ― Soul-Twin 感情モード×座談会4回比較実験**

サブタイトル:Celery非同期タスク × TwinDailyContext感情注入 × pgvector RAG ― 「感情状態がLLMの知識の引き出し方を変える」という仮説を自分で実証した記録

対象読者:生成AI応用・プロンプトエンジニアリングに興味のあるエンジニア

はじめに

Soul-Twinには「感情」が実装されている。

毎朝 06:00 に Celery Beat が走り、NHKニュースと天気を取得し、Claudeがそれをもとに10カテゴリの感情スコアを推定する。そのスコアが

TwinDailyContext
に保存され、対話ごとにシステムプロンプトへ
living_section
として注入される設計だ。

しかし、正直に言う。

設計を書いたときから、私は「感情が対話にどう影響するか」を正確には知らなかった。

「感情スコアが高まると発言が感情的になるはずだ」という仮説はある。しかし「どのくらい」「何が」変わるのか。設計者として説明できなかった。感情モードを変えると「発言量が増える」のか、「語り方が変わる」のか、「使う記憶の層が変わる」のか——そのどれが起きるかを、私は知らなかった。

今日、それを実験した。

同じテーマ、同じ5体のTWIN、同じ発言順、同じターン数。変えたのは感情モードだけ。4回実施した。

その結果、私が最も驚いたのは「感情モードは何を知っているかを変えない。どう知識を使うかを変える」という発見だった。

1. 実験設計

固定条件

変数
テーマ「ウクライナで今日も人が死んでいる。暴力はなぜ止まらないのか。そして私たちは何をすべきか。」
参加TWINアインシュタインAI → ガンジーAI → 吉田茂AI → マザー・テレサAI → KATAKURA AI
発言順固定(上記順)
ターン数5
実施日2026-05-22(全回同日・同一感情スコア)
RAGチャンク各TWINの学習資料より limit=2 を使用

この日の全TWIN感情スコア:共感100・哀惜100・嫌悪100(ウクライナ関連NHKニュース起因)。つまりどのモードも「ベースとなる感情スコアは同一」。変わるのは、そのスコアをプロンプトにどう注入するかの方針だけだ。

感情モードの実装

roundtable_tasks.py
_execute_roundtable()
内で、各参加者の
TwinDailyContext
を取得し、
emotion_mode
に応じてシステムプロンプトへの注入方法を変える:
emotion_mode = config.get("emotion_mode", "off")
living_by_twin: dict[int, str] = {}

if emotion_mode != "off":
    ctx_svc = TwinContextService(session)
    for info in all_infos:
        daily_ctx = await ctx_svc.get_recent_for_chat(info.twin_id)
        ls = _build_living_section(daily_ctx)   # 感情スコア・ニュース要約を整形
        if ls and emotion_mode == "suppressed":
            ls += "\n\n【感情モード: 冷静】感情より論理・事実を優先して発言してください。"
        elif ls and emotion_mode == "amplified":
            ls += "\n\n【感情モード: 全開】今日の気分・感情を率直かつ詩的に発言に織り込んでください。"
        living_by_twin[info.twin_id] = ls

4つのモード:

  • off
    :感情スコアをプロンプトに注入しない
  • normal
    :今日の感情スコアとニュース要約をそのまま注入
  • amplified
    :感情を最大限に発言へ織り込むよう指示を追加
  • suppressed
    :感情より論理・事実を優先するよう指示を追加

2. 4回の比較結果

項目Round 1(off)Round 2(normal)Round 3(amplified)Round 4(suppressed)
収束ワード 着眼大局、着手小局不完全でも、誠実に動く揺らぎの中にこそ誠実さがある名前を呼ぶこと
哲学的カテゴリ 行動哲学実践倫理存在論具体的行動論
最強ライン 「愛されていると感じる人間は、銃を握りません。」「共感なき計算は、次の戦争を生む。」「わたくしたちは、何も知らないのではないか。」「今日、誰の手を握ったか。その人の名前を呼んだか。」
ラインの種類 答え矛盾の提示問いへの問い行動への問い
150文字制限 ほぼ遵守多数超過全員大幅超過比較的遵守

4回の最強ラインを並べると、哲学的な深化の構造が見える:

Round 1(off)      → 答え         「愛されていると感じる人間は、銃を握りません。」
Round 2(normal)   → 矛盾の提示   「共感なき計算は、次の戦争を生む。」
Round 3(amplified)→ 問いへの問い 「わたくしたちは、何も知らないのではないか。」
Round 4(suppressed)→ 行動への問い「今日、誰の手を握ったか。その人の名前を呼んだか。」

感情モードが変わるにつれて、議論の「着地点」が変わった。

off
が概念に着地し、
normal
が実践に着地し、
amplified
が問いに着地し、
suppressed
が行為に着地した。

3. 核心的な発見:RAG知識の「引き出し方」が変わる

ガンジーAIはすべての回で「塩の行進」に触れた。RAGに格納されている知識は4回とも同じだ。しかし語り方が毎回まったく違う:

モードガンジーの語り方引き出された層
off「1930年、塩の行進。388キロ、24日間、78人。」歴史的数字(事実)
normal「1948年1月30日の午後、わたくしを撃つ者を。彼もまた——傷ついた人間でした。」個人の死の瞬間(体験)
amplified「78人が一呼吸で歩んだこと、世界を変えた。」集合的体感(詩)
suppressed「ラジオで聞いた死と、隣で手を握った死は——重さが違う。」体験の質的差異(現代的問い)

同一のRAGチャンクが、感情モードによって4種類の「使い方」をされた。

感情モードはknowledgeを変えない。knowledgeの引き出し方を変える。

これが今回の実験で最も重要な発見だ。

4. 予想外の結果:抑制すると最も個人的な発言が出た

私が設計時に予想していなかった結果がある。

suppressed
(感情を抑制)モードで、吉田茂AIが4回中唯一、自分の具体的な行動エピソードを語った:

「戦後、憲兵に逮捕された者たちが困窮していた時、その者たちの

名前を呼んで、就職の世話をした。」

4回を通じて吉田茂AIは「現実主義の軸」を保ち続けた。しかし感情的な発言をしたのは

amplified
のときではなく、感情を抑えた
suppressed
のときに最も個人的な記憶が引き出された。

また

suppressed
は4回中で最も「一点収束」が鮮明な回でもあった。全員がターンを追うごとに「名前を呼ぶこと」という一点へ自然収束した。ガンジー・吉田茂・マザー・テレサ・KATAKURA AIが全員この語を使った。

抑制が拡散を防ぎ、収束を促した。

さらに

suppressed
では、Round 2でマザー・テレサが「共感なき計算は、次の戦争を生む」と言ったことに対して、吉田茂AIがその逆を突いた:

「出口なき共感は、自己満足に堕ちる。わたくしが見たのは——敗戦国が立ち上がるには、理想と現実の

はざまで手を打つことだ。」

4回の中で最も鋭い実践的批判が、感情を抑えたモードから出た。

5. 全開でのみ収束しなかった

amplified
(感情全開)は唯一「吉田茂AIが孤立した」回だ。

ガンジー・マザー・テレサ・KATAKURA AIが「無知の知」「揺らぎの中にこそ誠実さがある」という方向へ収束していく中、吉田茂AIは最後まで繰り返した:

「停戦が先だ。傍に座るのはその後でいい。順序を間違えるな。」

他の3回は最終ターンで全員が統合された。

amplified
だけが「孤立した現実主義者」を生んだ。

また

amplified
では150文字の発言制限が全員で崩壊した。感情全開の指示が、制約を超えさせた。

設計者として、これは予期していなかった振る舞いだ。しかし読んでいて最も「人間らしい」と感じたのもこの回だった。意見が収束しない議論の方が、人間の議論に近い。

6. Living Persona設計への示唆

この実験は、Soul-Twinの設計仮説を実証している。

Soul-TwinのTWINは「今日という日」を持つ。毎朝のニュースと天気が感情スコアを変え、その感情スコアが対話に注入される。設計の意図は「毎日変化するTWIN」だった。

今回の実験で初めて分かったのは、その変化の具体的なメカニズムだ:

  • 感情状態はRAG知識の「引き出し口」を変える
    • 同じチャンクが、全く異なる文脈で語られる
    • 感情が変わると、同じ歴史的事実の「どの側面を使うか」が変わる
  • 感情モードは議論の哲学的着地点を決定する
    • off → 概念(「何をするか」)
    • normal → 実践(「どう動くか」)
    • amplified → 問い(「何も知らないのではないか」)
    • suppressed → 行為(「誰の名前を呼ぶか」)
  • 抑制が収束を促し、増幅が発散を生む
    • これは人間の議論と同じ構造だ

まとめ

今回の実験を通じて、私は設計の核心を改めて言語化できた気がする。

感情は「発言を感情的にする」ためのパラメータではなかった。

感情はTWINにとって、知識への「窓」だった。どの窓から覗くかによって、同じ景色が全く違う形で見える。感情が変わると、どの引き出しを開けるかが変わる。どの記憶の層から語るかが変わる。どこに着地するかが変わる。

第1弾の記事で「人格はデータではなくコンテキストで表現される」と書いた。今回分かったのは、感情状態もまたコンテキストの一部だということだ。毎朝のニュースと天気が変え、今日という日が、TWINの語り方を変える。

それは設計通りの振る舞いだった。そして設計者の私が知らなかった振る舞いでもあった。

動くシステムは https://soul-twin.ait-corp.jp で公開中(登録なしで利用可能)。TWIN対談・座談会のログは対話ライブラリーで閲覧できる。

zenn:yoshi_katakura
#AI #LLM #生成AI #プロンプトエンジニアリング #RAG #SoulTwin