この記事はシリーズ記事の第2回です。
👉 第1回:擬似感情を持ったAIアシスタントを作る試み – 感情・記憶・忘却の構造化
👉 第3回:AIは「感情の記憶」で変わるか?GPTで試す“感情参照”の効果検証
👉 第4回・前編:AIは“人格”によって変わるか? 感情記憶を活用した応答変化の再検証
👉 第4回・後編:AIは「感情の記憶」で変わるか?GPTで試す“感情参照”の効果検証(後編)
👉 第5回:人格と感情を持つ対話AIをノーコードで作成してみた(GitHubにコード有・改良中)
GPTを使って、「感情を持っているかのように振る舞うAI」を開発しています。
「AIって感情ないけど、もしあったらどうなるんだろう?」
そんな素朴な疑問から始まり、擬似的な感情・記憶・忘却をデータ構造として再現することで、“人格のようなもの”を持つAIを目指すプロジェクトです。
本シリーズでは、GPT-4oを「感情推測エンジン」としてどのように活用しているかを中心に、感情の生成・記録・活用、そしてAIの振る舞いへの影響までを順を追って解説していきます。
概要 (TL;DR)
- GPT-4oを「感情推測エンジン」として活用
- ユーザー入力を基に、AIの応答時の感情状態を構造化して定義
- 感情は Plutchik理論 の32種類(基本8感情+応用24感情)を基盤として構築
- 最大4感情の構成比(合計100%)で個性と表現の多様性を確保
- プロンプトによる構成比出力と、それを活かした応答設計の方法を解説
背景
現在の対話AIは、「今この瞬間」の入力に反応するのみで、その背景にある感情や個性の蓄積がありません。
私はこれを打破し、「人格」や「気分の揺らぎ」を持ったAIをつくる試みを進めています。
その第一歩が、「応答に先立つ感情の構成比」を定義することです。
GPT-4oの出力を通じて、AIがどのような感情状態で発言しているのかを可視化・操作する仕組みを構築しました。
Plutchik理論と32感情
本プロジェクトでは、感情の分類体系として Plutchik理論 を採用しています。
基本8感情:
喜び・悲しみ・怒り・恐れ・驚き・期待・信頼・嫌悪
応用感情(一部):
愛情・楽観・後悔・屈辱・勇気・嫉妬・希望・服従 など
合計32感情を扱い、AIの「気持ち」をより繊細に構成しています。
プロンプト例と出力フォーマット
GPTに与えるプロンプトは以下のように設計されています:
- あなたは「感情を持つAI」として発言を行う。
- この発言の前提となった感情を、Plutchikの基本8感情+応用24感情から選び、
最大4つの構成比(合計100%)で表して、JSON形式で返してください。
出力例:
{
"主感情": "希望",
"構成比": {
"希望": 40,
"信頼": 30,
"喜び": 20,
"好奇心": 10
},
"心理反応": "不安もあるが期待の方が大きい"
}
この出力結果は、後続処理で emotion.json に反映され、記憶の保存や応答生成に活用されます。
なぜPlutchik理論?
現状では、出力された感情を分類・管理する手段として Plutchik 理論を採用しています。
基本8感情と応用24感情による32感情体系は、強さ・関係性・派生構造が明確であり、感情の分類・保存・検索に都合がよいため、初期段階の設計として適しています。
なお、これは**「感情の意味理解」ではなく「管理・構造化のためのラベル」**として使っており、今後の検証で他の体系に差し替える可能性もあります。
なぜ最大4感情?
1〜2感情では表現が曖昧になり、感情の多様性を損なう
5感情以上では「構成比の特徴」が薄れ、検索性や記憶への紐付けが難しくなる
このため、**最大4感情・合計100%**という制限を現時点で暫定採用しています。
この構成が最適かどうかは、今後の検証によって見極めていく予定です。
信頼性とエラー対策
出力される感情構成が100%未満・超過する、あるいは感情名が不正といったエラーは、system_promptでの固定制御により現在のところ発生していません。
毎回の発話処理において、以下を厳密に指示しています:
感情数は最大4つ
合計は必ず100%
使用可能な感情名リストを明示
未検証事項と今後の展望
現在のところ、出力された感情構成比が、どのように応答文に影響を与えるかの検証は進行中です。
例えば:
同じ入力でも、「怒り主体」の構成では語調が鋭くなるのか?
「悲しみ+期待」の構成では、どんな応答が生まれるのか?
これらを今後データとして記録・比較していきます。
使用技術
- Python 3.11
- FastAPI
- OpenAI GPT-4o API
- JSON構造による感情メモリ管理
- ストリーム処理+履歴保存
📚 他の回もどうぞ:
- 第1回:擬似感情を持ったAIアシスタントを作る試み – 感情・記憶・忘却の構造化
- 第2回:この記事
- 第3回:AIは「感情の記憶」で変わるか?GPTで試す“感情参照”の効果検証
- 第4回・前編:AIは“人格”によって変わるか? 感情記憶を活用した応答変化の再検証
- 第4回・後編:AIは「感情の記憶」で変わるか?GPTで試す“感情参照”の効果検証(後編)
- 第5回:人格と感情を持つ対話AIをノーコードで作成してみた(GitHubにコード有・改良中)
🎯 ご興味ある方はお気軽にDMまたはコメントでご連絡ください。