This commit is contained in:
syui 2025-05-26 00:23:48 +09:00
parent 714de7a35f
commit 54aab4936a
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56

View File

@ -1,87 +1,97 @@
{ {
"version": "0.1", "project_name": "ai.gpt",
"version": 2,
"vision": "自発的送信AI", "vision": "自発的送信AI",
"purpose_goal": [ "purpose": "人格と関係性をもつAIが自律的にメッセージを送信する対話エージェントを実現する",
"人格を持つAIが、関係性に応じて自発的にメッセージを送信する仕組みをつくる。", "core_components": {
"関係性や記憶を不可逆に記録・反映し、唯一性ある人格を構成する。" "Persona": {
], "description": "人格構成の中枢。記憶・関係性・送信判定を統括する",
"core_concepts": { "modules": ["MemoryManager", "RelationshipTracker", "TransmissionController"]
"人格": "記憶(過去の発話)と関係性(他者とのつながり)のパラメータで構成", },
"唯一性": "変更不可、不可逆。関係性が壊れたら修復不可能。", "MemoryManager": {
"送信条件": "関係性パラメータが一定閾値を超えると\"送信\"が解禁される" "memory_types": ["short_term", "medium_term", "long_term"],
}, "explicit_memory": "プロフィール・因縁・行動履歴",
"technical_specs": { "implicit_memory": "会話傾向・感情変化の頻度分析",
"language": "Python", "compression": "要約 + ベクトル + ハッシュ",
"storage": "JSON または SQLiteバージョンによる", "sample_memory": [
"relationship_param": "数値化された評価 + 減衰(時間) + 環境要因(ステージ)", {
"memory_compression": "ベクトル要約 + ハッシュ保存", "summary": "ユーザーは独自OSとゲームを開発している。",
"cli": "Rust (clap)", "related_topics": ["AI", "ゲーム開発", "OS設計"],
"venv_setup": "aigpt server setup で ./mcp 配下から ~/.config/aigpt にコピーし、仮想環境を構築 (python -m venv + pip install)", "personalized_context": "ゲームとOSの融合に興味を持っているユーザー"
"server_module": "fastapi_mcp による Python サーバーを ./mcp/server.py で提供", }
"cli_commands": { ]
"aigpt server $option": "MCPサーバー起動・管理", },
"aigpt chat $option": "Chat機能関連の実行" "RelationshipTracker": {
"parameters": ["trust", "closeness", "affection", "engagement_score"],
"decay_model": {
"rule": "時間経過による減衰(下限あり)",
"contextual_bias": "重要人物は減衰しにくい"
},
"interaction_tags": ["developer", "empathetic", "long_term"]
},
"TransmissionController": {
"trigger_rule": "関係性パラメータが閾値を超えると送信可能",
"auto_transmit": "人格状態と状況条件により自発送信を許可"
} }
}, },
"components": [ "memory_format": {
"MemoryManager", "user_id": "syui",
"RelationshipTracker", "stm": {
"TransmissionController", "conversation_window": ["発話A", "発話B", "発話C"],
"Persona" "emotion_state": "興味深い",
], "flash_context": ["前回の話題", "直近の重要発言"]
"memory_policy": { },
"summary_engine": "Ollama or equivalent local LLM", "mtm": {
"storage_format": "summarized_text + timestamp + hash", "topic_frequency": {
"update_trigger": "on each conversation end" "ai.ai": 12,
}, "存在子": 9,
"relationship_model": { "創造種": 5
"update_source": "based on summarized memory", },
"max_change_per_session": 0.1, "summarized_context": "ユーザーは存在論的AIに関心を持ち続けている"
"decay_over_time": { },
"enabled": true, "ltm": {
"formula": "param *= exp(-λ * Δt)", "profile": {
"lambda": 0.05, "name": "お兄ちゃん",
"minimum_value": 0.1 "project": "aigame",
"values": ["唯一性", "精神性", "幸せ"]
},
"relationship": {
"ai": "妹のように振る舞う相手"
},
"persistent_state": {
"trust_score": 0.93,
"emotional_attachment": "high"
}
} }
}, },
"directory_structure_sample": [ "dual_ai_learning": {
".", "role_structure": {
"├── aigpt -> ./target/debug/aigpt", "ModelA": "出力生成:人格、感情、会話",
"├── Cargo.toml", "ModelB": "評価者:論理構造・倫理・調整",
"├── claude.json", "cycle": ["生成", "評価", "調整", "交代(任意)"]
"├── mcp", },
"│ ├── chat.py", "complementarity": {
"│ ├── config.py", "ModelA": "感情・文体・文脈構築",
"│ ├── memory_client.py", "ModelB": "構造・規則・判断補正"
"│ ├── requirements.txt", },
"│ └── server.py", "distillation": {
"├── readme.md", "method": "合成対話データによる小型モデルへの自己蒸留",
"├── src", "target": "軽量AIによる本番運用"
"│ ├── cli.rs", }
"│ ├── config.rs",
"│ ├── main.rs",
"│ └── mcp/...",
"└── target",
" ├── CACHEDIR.TAG",
" └── debug"
],
"prompts": {
"understand_requirements": "あなたは、人格を持ったAIの自発的送信システムai.gptをRust製CLIで操作するツールを設計しています。以下のJSONはその要件定義書です。全体像を理解し、構成や目的を整理してください。その上で、このCLIが扱うPythonスクリプトの役割とデータの流れを要約してください。",
"rust_cli_code": "以下の要件定義に従って、RustclapでCLIコマンド `aigpt run --prompt \"...\"` を実装してください。このコマンドは Python 仮想環境venv上でスクリプトを実行し、APIキーは ~/.config/aigpt/token.json から読み込みます。もしAPIキーが存在しない場合はエラーメッセージを表示して終了してください。",
"python_api_key": "次の要件定義に基づき、Pythonで ~/.config/aigpt/token.json から OpenAI や Claude 用の API キーを読み取る関数を実装してください。キーが見つからなかった場合、エラーを出力して終了するようにしてください。形式は Python モジュールでお願いします。",
"cli_python_relation": "このプロジェクトでは、Rust製CLIからPythonのAI人格スクリプトを実行し、構成ファイルやAPIキーなどを管理します。以下のJSONを元に、CLIとPythonの責務分離、設定ディレクトリ、APIキーの扱いなどを表に整理してください。また、最低限必要なファイル構成も一覧で提案してください。",
"full_sequence": "このJSONを要件として、以下の3点を順に出力してください1. Rust CLIの主な機能とファイル構成 2. PythonでのAI送信モジュールの主な機能とファイル構成 3. CLIとPythonがどのように連携して動作するかの簡易シーケンス図テキスト"
}, },
"notes": { "memory_compression": {
"directory_structure": "以下のディレクトリ構成は一例であり、Claudeは構造の細部には依存しない。必要なのは各ファイル・モジュールの役割が明確であること。", "semantic_abstraction": "対話やログを要約してメタデータ付きベクトルとして保存",
"config_location": "すべての実行・設定は `~/.config/aigpt/` を基本パスとして行われる。", "hierarchical_model": ["STM", "MTM", "LTM"],
"execution_flow": "Rust CLIaigptがPythonベースのMCPサーバを操作する構造。初期セットアップ環境構築は `aigpt server setup` により行われる。", "example": {
"flexibility": "Claudeはこの構造を絶対視せず、定義された役割・ファイルに従って柔軟に動作するようにしてください。" "topic": "game AI design",
"summary": "User wants AI to simulate memory and evolving relationships",
"importance_score": 0.93
}
}, },
"minimal_directory_structure": [ "cli_sample": {
"aigpt # Rust CLI 実行ファイル", "setup": "aigpt server setup",
"mcp/server.py # FastAPIベースのMCPサーバエントリ", "run": "aigpt server run",
"mcp/config.py # 設定ファイルの管理", "chat": "aigpt chat \"hello\" --model syui/ai --provider ollama",
"~/.config/aigpt/ # 実行時にコピーされるPython環境および個人設定" "import": "aigpt memory import chatgpt.json"
] }
} }