進化するパーソナリティ(Jungian Personality Adaptation Framework)
概要
JPAF(Jungian Personality Adaptation Framework)は、ユングの性格理論をモチーフにした設計で、LLMベースのエージェントに対して「構造化された、適応的で進化する人格」を与えることを目的とした実験的フレームワークです。リポジトリは性格プロファイルの定義(外向/内向、認知機能などの軸)、時間経過や対話履歴に基づく変化ルール、性格変化を検証するテストケースを含み、実際のプロンプト生成やエージェント挙動実験に使えるサンプルコードを提供します。教育や対話システム、キャラクターモデリングの研究に適した土台です。
リポジトリの統計情報
- スター数: 17
- フォーク数: 1
- ウォッチャー数: 17
- コミット数: 5
- ファイル数: 8
- メインの言語: Python
主な特徴
- ユング心理学に基づく性格モデルの形式化(タイプと認知機能のマッピング)。
- 性格状態の「変化ルール」を実装し、対話やイベントに応じた動的適応をシミュレート。
- テストスイートとサンプルでエージェント挙動の検証が可能。
- Pythonベースでプロンプト生成や統合テストが行える軽量実装。
技術的なポイント
JPAFの技術的核は「人格を離散的かつ連続的に表現するためのデータモデル」と「変化ルールエンジン」にあります。データモデルはユングのカテゴリ(外向/内向、思考/感情、感覚/直感など)を軸にしており、各軸に重みや現在値、履歴を持たせることで時間的推移を扱います。変化ルールは条件ベースのトリガー(対話コンテキスト、ユーザー反応、内部状態閾値など)に応じて性格スコアを調整し、閾値に達した際には明示的なタイプシフトを行う仕組みです。
実装面ではPythonスクリプト群でプロファイル定義と変化ロジックを提供し、プロンプトテンプレート生成やテストケース(Personality_testディレクトリ)を通じてLLMとの連携検証が可能です。設計はモジュール化されており、別の性格理論(Big Five等)やカスタムルールをプラグイン的に差し替えられるよう配慮されています。また、ログや履歴を保存することで後処理や可視化に利用でき、実験的に学習ループ(対話→評価→更新)を回す際の基盤になります。なお現状は軽量プロトタイプであり、実運用に向けたスケーリングや安全性(有害応答の制御)、透過性の改善は今後の課題です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file — PythonやIDEの不要ファイル除外設定。
- Personality_changes: dir — 「性格変化」のルール定義と更新ロジックを収めたモジュール群。各種トリガー(対話イベント、時間経過、外的入力)に基づきプロファイル値を調整する関数やクラスが含まれます。変更履歴の適用やロールバック機能のベースが実装されています。
- Personality_test: dir — テストシナリオとサンプル対話を集めたディレクトリ。エージェントの初期プロファイルに対して一連の入力を与え、期待されるパーソナリティ変化や応答傾向を検証するユニット/統合テストが用意されています。テストはプロンプト生成からLLMレスポンス解析までを想定したサンプルを含みます。
- README-zh.md: file — リポジトリの中国語(簡体)概要と導入手順。
- README.md: file — 英語の概要、アーキテクチャ説明、簡単な使用例。セットアップ方法やライセンス、貢献ガイドの記載がある想定です。
- assets/ : dir — ドキュメントや説明用の画像(assets/01.png など)が配置されています。可視化やプレゼン用の素材が含まれます。
- サンプルスクリプト群(例: personality_manager.py、change_rules.py 等): 各スクリプトはプロファイルのロード、変化ルール適用、履歴の保存、テストドライバの起動を担います。
- その他設定ファイル(依存管理や実行スクリプト): 開発環境での動作を助ける補助ファイル。
ディレクトリ構成は実験的で拡張性を重視しており、新しい人格モデルや評価メトリクスを追加しやすいレイアウトになっています。例えば、外部のモデル評価フレームワークや可視化ツールを接続するためのインターフェースが設計段階で想定されている点が好ましいです。
まとめ
ユング理論を実験的にLLMに適用するための実践的なプロトタイプです。
リポジトリ情報:
- 名前: evolving_personality
- 説明: Jungian Personality Adaptation Framework (JPAF) —A Structured Approach to Dynamic Personality Modeling for LLM Agents
- スター数: 17
- 言語: Python
- URL: https://github.com/agent-topia/evolving_personality
- オーナー: agent-topia
- アバター: https://avatars.githubusercontent.com/u/254821980?v=4
READMEの抜粋:
Jungian Personality Adaptation Framework (JPAF) —A Structured Approach to Dynamic Personality Modeling for LLM Agents
Equipping Large Language Models with Structured, Adaptive, and Evolving Personalities
image info
📌 Overview
JPAF is a Jungian psychology–based framework designed to equip large language models (LLMs) with **stru…