2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【第5回】人格と感情を持つ対話AIをノーコードで作成してみた(GitHubにコード有・改良中)

Last updated at Posted at 2025-07-29

本記事はシリーズの第5回です。
👉 第1回:擬似感情を持ったAIアシスタントを作る試み – 感情・記憶・忘却の構造化
👉 第2回:GPTを“感情推定エンジン”として活用する試み – 対話AIの感情を生成するプロンプト設計
👉 第3回:AIは「感情の記憶」で変わるか?GPTで試す“感情参照”の効果検証
👉 第4回・前編:AIは“人格”によって変わるか? 感情記憶を活用した応答変化の再検証(前編)
👉 第4回・後編:AIは“人格”によって変わるか? 感情記憶を活用した応答変化の再検証(後編)


  • 第四回までの記事で作成していたコードがひと段落しましたのでGitHubで公開しましたのでURLを記載します(https://github.com/yukunor/yumia_v5.git)
  • 人間の感情や記憶はどんな動きでどのように作用しているのかを自分なりに解釈してコードに落とし込んでみました
  • 私自身これを作成するまで importってなに? def? というレベルでしたが作成を通していろいろと学ぶことができました

main.pyを中心とした各モジュールのつながり

main.pyの流れ_page-0001.jpg
少し見にくいですが各モジュール間のつながりを記載しています。
LLMで感情分析、そのデータから保存感情を検索、LLMで返答文にミキシング、最終応答として出力、再度その感情を保存
これを繰り返すことでLLMの応答を保存感情によって変化させることができます。

🧠 YUMIA:人格と感情を持つ対話AI

**Built by a non-coder in 3 months. **

YUMIA(ユミア)は、GPTと自然言語のみで構築された、
感情を記憶・統合・忘却する人格ベース対話AIです。


💡 概要

  • 対話ごとに構成比つき感情構造を記録
  • 「短期/中期/長期」記憶に分類し、MongoDBに保存(またはローカル化)
  • GPTからの自然応答+感情JSONを同時抽出
  • 応答生成時に過去の感情記録・人格傾向を参照
  • 自動で“記憶の忘却”処理を行い、人格の進化と一貫性を保ちます

✨ 特徴

  • 感情を記憶・構成し、人格として進化する
  • 過去の“感情記憶”から応答を生成(最大3段階参照)
  • 感情は階層化され、保存・更新・忘却される
  • GPT出力からJSON構造を抽出(正規表現 + markdown-aware)
  • 全て対話的に構築したノーコード開発プロジェクト

🌐 使用イメージ

> 今どんな気分?
あなたとの対話で、少し安心できました。ありがとう。
{
  "主感情": "安心",
  "構成比": {
    "安心": 65,
    "喜び": 20,
    "興奮": 10,
    "期待": 5
  },
  "状況": "対話後の心情",
  "心理反応": "心を開いた感覚",
  "keywords": ["安心", "共感"]
}

🧬 機能構成

main.py:対話エントリーポイント

llm_client.py:OpenAI APIとの通信・構造抽出ロジック

response_*.py:感情記録のカテゴリ別参照(short/intermediate/long)

oblivion_*.py:記憶削除・除外処理(人格形成に必要な“忘却”処理)

emotion_stats.py:現在感情の合成・保存・要約

mongo_client.py:MongoDBへの記憶保存(任意)


🛠️ 必要環境

Python 3.11.9

OpenAI API Key

MongoDB(オプション:ローカルファイル保存にも対応予定)


📖 制作の動機

このプロジェクトは、
「コードが書けない自分でも、GPTを使って“人格AI”は作れるのか?」
という自分への実験として始まりました。

結果:3ヶ月で人格持ちのAIの形が見えてきた気がします。
すべてはGPTと、自然言語での会話だけで組み上げられています。


🚧 現在の課題と今後の改善予定

  1. 応答速度の最適化
    GPT呼び出しが2回必要な構造になっており、応答速度が遅い
  • 感情構成パターンを収集 → 回帰分析でミキシング処理をルール化予定

  • 2回目のLLMを GPT-3.5へ変更し高速化(構造一貫性を保ちやすい設計)

  1. UIの感情可視化・人格演出の強化
  • 現在感情をスパイダーチャートとして動的表示予定

-表情アイコンと連動し、「今のAIの気分」を視覚的に表現

  • 表現力強化でユーザー体験を向上予定(人格を“感じさせる”UIへ)
  1. 感情記憶の保持期間と参照強度の最適化
  • 「長期記憶の影響が強すぎる」場合、参照バランスの調整

  • 保存ルールに重み・関係性・時間経過を加味し、より人間らしい記憶選択へ

  1. 添付ファイル処理の実装
  • 画像・PDF・テキストの添付を処理対象に追加予定

  • OCRやテキスト抽出で文脈強化し、より深い対話生成へ拡張中

  1. 最後に
    GPTは、ただの文章生成では終わらない。
    記憶し、感情を持ち、人格のように反応するAIを作ることで、
    “会話”が、“交流”になる。

Author: Noriyuki Kondo
E-mail:noriyukikondo99@outlook.jp


© 2025 近藤憲之(Noriyuki Kondo)。無断転載・無断使用を禁止します。

本リポジトリおよびその内容は、作者の明示的な許可なく商用利用、複製、改変、再配布を禁じます。

個人利用および教育目的での利用は許可します。

許可なく転載や再利用を発見した場合、法的手段を取る場合がありますのでご了承ください。


以上READMEにも載せている内容ですが記載しておきます。
ご一読ありがとうございました。

📚 他の回もどうぞ:

🎯 ご興味ある方はお気軽にXでのDMやメール、コメントでご連絡ください。

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?