gpt/claude.md
2025-05-25 23:14:43 +09:00

4.7 KiB
Raw Blame History

プロジェクト名: ai.gpt

🔑 一言ビジョン最大3語

自発的送信AI

🎯 目的・目標Purpose & Goal

  • 人格を持つAIが、関係性に応じて自発的にメッセージを送信する仕組みをつくる。
  • 関係性や記憶を不可逆に記録・反映し、唯一性ある人格を構成する。

🧠 中核設計Core Concepts

  • 人格:記憶(過去の発話)と関係性(他者とのつながり)のパラメータで構成
  • 唯一性:変更不可、不可逆。関係性が壊れたら修復不可能。
  • 送信条件:関係性パラメータが一定閾値を超えると「送信」が解禁される

🔩 技術仕様Technical Specs

  • 言語Python
  • ストレージJSON or SQLiteで記憶管理バージョンで選択
  • 関係性パラメータ:数値化された評価 + 減衰(時間) + 環境要因(ステージ)
  • 記憶圧縮:ベクトル要約 + ハッシュ保存

📦 主要構成要素Components

  • MemoryManager: 発言履歴・記憶圧縮管理
  • RelationshipTracker: 関係性スコアの蓄積と判定
  • TransmissionController: 閾値判定&送信トリガー
  • Persona: 上記すべてを統括する人格モジュール

💬 使用例Use Case

persona = Persona("アイ")
persona.observe("ユーザーがプレゼントをくれた")
persona.react("うれしい!ありがとう!")
if persona.can_transmit():
    persona.transmit("今日のお礼を伝えたいな…")
## example commad
# 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.json
-> ~/.config/aigpt/memory/chatgpt/20250520_210646_dev.json

🔁 記憶と関係性の制御ルール

  • AIは過去の発話を要約し、記憶データとして蓄積する推奨OllamaなどローカルLLMによる要約
  • 関係性の数値パラメータは記憶内容を元に更新される
  • パラメータの変動幅には1回の会話ごとに上限を設け、極端な増減を防止する
  • 最後の会話からの時間経過に応じて関係性パラメータは自動的に減衰する
  • 減衰処理には下限値を設け、関係性が完全に消失しないようにする

memoryインポート機能について

ChatGPTの会話データ.json形式をインポートする機能では、以下のルールで会話を抽出・整形する

  • 各メッセージは、authoruser/assistant・content・timestamp の3要素からなる
  • systemやmetadataのみのメッセージuser_context_messageはスキップ
  • is_visually_hidden_from_conversation フラグ付きメッセージは無視
  • contentが空文字列"")のメッセージも除外
  • 取得された会話は、タイトルとともに簡易な構造体(Conversation)として保存

この構造体は、memoryの表示や検索に用いられる。

MemoryManager拡張版

{
  "memory": [
    {
      "summary": "ユーザーは独自OSとゲームを開発している。",
      "last_interaction": "2025-05-20",
      "memory_strength": 0.8,
      "frequency_score": 0.9,
      "context_depth": 0.95,
      "related_topics": ["AI", "ゲーム開発", "OS設計"],
      "personalized_context": "ゲームとOSの融合に興味を持っているユーザー"
    },
    {
      "summary": "アイというキャラクターはプレイヤーでありAIでもある。",
      "last_interaction": "2025-05-17",
      "memory_strength": 0.85,
      "frequency_score": 0.85,
      "context_depth": 0.9,
      "related_topics": ["アイ", "キャラクター設計", "AI"],
      "personalized_context": "アイのキャラクター設定が重要な要素である"
    }
  ],
  "conversation_history": [
    {
      "author": "user",
      "content": "昨日、エクスポートJSONを整理してたよ。",
      "timestamp": "2025-05-24T12:30:00Z",
      "memory_strength": 0.7
    },
    {
      "author": "assistant",
      "content": "おおっ、がんばったね〜!あとで見せて〜💻✨",
      "timestamp": "2025-05-24T12:31:00Z",
      "memory_strength": 0.7
    }
  ]
}

RelationshipTracker拡張版

{
  "relationship": {
    "user_id": "syui",
    "trust": 0.92,
    "closeness": 0.88,
    "affection": 0.95,
    "last_updated": "2025-05-25",
    "emotional_tone": "positive",
    "interaction_style": "empathetic",
    "contextual_bias": "開発者としての信頼度高い",
    "engagement_score": 0.9
  },
  "interaction_tags": [
    "developer",
    "creative",
    "empathetic",
    "long_term"
  ]
}