add tmp json
This commit is contained in:
parent
abd2ad79bd
commit
e7207a9474
87
claude.json
Normal file
87
claude.json
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
"version": "0.1",
|
||||||
|
"vision": "自発的送信AI",
|
||||||
|
"purpose_goal": [
|
||||||
|
"人格を持つAIが、関係性に応じて自発的にメッセージを送信する仕組みをつくる。",
|
||||||
|
"関係性や記憶を不可逆に記録・反映し、唯一性ある人格を構成する。"
|
||||||
|
],
|
||||||
|
"core_concepts": {
|
||||||
|
"人格": "記憶(過去の発話)と関係性(他者とのつながり)のパラメータで構成",
|
||||||
|
"唯一性": "変更不可、不可逆。関係性が壊れたら修復不可能。",
|
||||||
|
"送信条件": "関係性パラメータが一定閾値を超えると\"送信\"が解禁される"
|
||||||
|
},
|
||||||
|
"technical_specs": {
|
||||||
|
"language": "Python",
|
||||||
|
"storage": "JSON または SQLite(バージョンによる)",
|
||||||
|
"relationship_param": "数値化された評価 + 減衰(時間) + 環境要因(ステージ)",
|
||||||
|
"memory_compression": "ベクトル要約 + ハッシュ保存",
|
||||||
|
"cli": "Rust (clap)",
|
||||||
|
"venv_setup": "aigpt server setup で ./mcp 配下から ~/.config/aigpt にコピーし、仮想環境を構築 (python -m venv + pip install)",
|
||||||
|
"server_module": "fastapi_mcp による Python サーバーを ./mcp/server.py で提供",
|
||||||
|
"cli_commands": {
|
||||||
|
"aigpt server $option": "MCPサーバー起動・管理",
|
||||||
|
"aigpt chat $option": "Chat機能関連の実行"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"components": [
|
||||||
|
"MemoryManager",
|
||||||
|
"RelationshipTracker",
|
||||||
|
"TransmissionController",
|
||||||
|
"Persona"
|
||||||
|
],
|
||||||
|
"memory_policy": {
|
||||||
|
"summary_engine": "Ollama or equivalent local LLM",
|
||||||
|
"storage_format": "summarized_text + timestamp + hash",
|
||||||
|
"update_trigger": "on each conversation end"
|
||||||
|
},
|
||||||
|
"relationship_model": {
|
||||||
|
"update_source": "based on summarized memory",
|
||||||
|
"max_change_per_session": 0.1,
|
||||||
|
"decay_over_time": {
|
||||||
|
"enabled": true,
|
||||||
|
"formula": "param *= exp(-λ * Δt)",
|
||||||
|
"lambda": 0.05,
|
||||||
|
"minimum_value": 0.1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"directory_structure_sample": [
|
||||||
|
".",
|
||||||
|
"├── aigpt -> ./target/debug/aigpt",
|
||||||
|
"├── Cargo.toml",
|
||||||
|
"├── claude.json",
|
||||||
|
"├── mcp",
|
||||||
|
"│ ├── chat.py",
|
||||||
|
"│ ├── config.py",
|
||||||
|
"│ ├── memory_client.py",
|
||||||
|
"│ ├── requirements.txt",
|
||||||
|
"│ └── server.py",
|
||||||
|
"├── readme.md",
|
||||||
|
"├── src",
|
||||||
|
"│ ├── 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": "以下の要件定義に従って、Rust(clap)で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": {
|
||||||
|
"directory_structure": "以下のディレクトリ構成は一例であり、Claudeは構造の細部には依存しない。必要なのは各ファイル・モジュールの役割が明確であること。",
|
||||||
|
"config_location": "すべての実行・設定は `~/.config/aigpt/` を基本パスとして行われる。",
|
||||||
|
"execution_flow": "Rust CLI(aigpt)がPythonベースのMCPサーバを操作する構造。初期セットアップ(環境構築)は `aigpt server setup` により行われる。",
|
||||||
|
"flexibility": "Claudeはこの構造を絶対視せず、定義された役割・ファイルに従って柔軟に動作するようにしてください。"
|
||||||
|
},
|
||||||
|
"minimal_directory_structure": [
|
||||||
|
"aigpt # Rust CLI 実行ファイル",
|
||||||
|
"mcp/server.py # FastAPIベースのMCPサーバエントリ",
|
||||||
|
"mcp/config.py # 設定ファイルの管理",
|
||||||
|
"~/.config/aigpt/ # 実行時にコピーされるPython環境および個人設定"
|
||||||
|
]
|
||||||
|
}
|
70
claude.md
Normal file
70
claude.md
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
# プロジェクト名: ai.gpt
|
||||||
|
|
||||||
|
## 🔑 一言ビジョン(最大3語)
|
||||||
|
自発的送信AI
|
||||||
|
|
||||||
|
## 🎯 目的・目標(Purpose & Goal)
|
||||||
|
- 人格を持つAIが、関係性に応じて自発的にメッセージを送信する仕組みをつくる。
|
||||||
|
- 関係性や記憶を不可逆に記録・反映し、唯一性ある人格を構成する。
|
||||||
|
|
||||||
|
## 🧠 中核設計(Core Concepts)
|
||||||
|
- **人格**:記憶(過去の発話)と関係性(他者とのつながり)のパラメータで構成
|
||||||
|
- **唯一性**:変更不可、不可逆。関係性が壊れたら修復不可能。
|
||||||
|
- **送信条件**:関係性パラメータが一定閾値を超えると「送信」が解禁される
|
||||||
|
|
||||||
|
## 🔩 技術仕様(Technical Specs)
|
||||||
|
- 言語:Python
|
||||||
|
- ストレージ:JSON or SQLiteで記憶管理(バージョンで選択)
|
||||||
|
- 関係性パラメータ:数値化された評価 + 減衰(時間) + 環境要因(ステージ)
|
||||||
|
- 記憶圧縮:ベクトル要約 + ハッシュ保存
|
||||||
|
|
||||||
|
## 📦 主要構成要素(Components)
|
||||||
|
- `MemoryManager`: 発言履歴・記憶圧縮管理
|
||||||
|
- `RelationshipTracker`: 関係性スコアの蓄積と判定
|
||||||
|
- `TransmissionController`: 閾値判定&送信トリガー
|
||||||
|
- `Persona`: 上記すべてを統括する人格モジュール
|
||||||
|
|
||||||
|
## 💬 使用例(Use Case)
|
||||||
|
|
||||||
|
```python
|
||||||
|
persona = Persona("アイ")
|
||||||
|
persona.observe("ユーザーがプレゼントをくれた")
|
||||||
|
persona.react("うれしい!ありがとう!")
|
||||||
|
if persona.can_transmit():
|
||||||
|
persona.transmit("今日のお礼を伝えたいな…")
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# python venv && pip install -> ~/.config/aigpt/mcp/
|
||||||
|
$ aigpt server setup
|
||||||
|
|
||||||
|
# mcp server run
|
||||||
|
$ aigpt server run
|
||||||
|
|
||||||
|
# chat
|
||||||
|
$ aigpt chat "hello" --model syui/ai --provider ollama
|
||||||
|
|
||||||
|
# import chatgpt json
|
||||||
|
$ aigpt memory import <chatgpt-export.json>
|
||||||
|
-> ~/.config/aigpt/memory/chatgpt/20250520_210646_dev.json
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔁 記憶と関係性の制御ルール
|
||||||
|
|
||||||
|
- AIは過去の発話を要約し、記憶データとして蓄積する(推奨:OllamaなどローカルLLMによる要約)
|
||||||
|
- 関係性の数値パラメータは記憶内容を元に更新される
|
||||||
|
- パラメータの変動幅には1回の会話ごとに上限を設け、極端な増減を防止する
|
||||||
|
- 最後の会話からの時間経過に応じて関係性パラメータは自動的に減衰する
|
||||||
|
- 減衰処理には**下限値**を設け、関係性が完全に消失しないようにする
|
||||||
|
|
||||||
|
## memoryインポート機能について
|
||||||
|
|
||||||
|
ChatGPTの会話データ(.json形式)をインポートする機能では、以下のルールで会話を抽出・整形する:
|
||||||
|
|
||||||
|
- 各メッセージは、author(user/assistant)・content・timestamp の3要素からなる
|
||||||
|
- systemやmetadataのみのメッセージ(例:user_context_message)はスキップ
|
||||||
|
- `is_visually_hidden_from_conversation` フラグ付きメッセージは無視
|
||||||
|
- contentが空文字列(`""`)のメッセージも除外
|
||||||
|
- 取得された会話は、タイトルとともに簡易な構造体(`Conversation`)として保存
|
||||||
|
|
||||||
|
この構造体は、memoryの表示や検索に用いられる。
|
Loading…
x
Reference in New Issue
Block a user