88 lines
5.3 KiB
JSON
88 lines
5.3 KiB
JSON
{
|
||
"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環境および個人設定"
|
||
]
|
||
}
|