# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17
# リソース: [CONSOL_REPORT_20260130、hub/consolidation.py、hub/memory.py、bach_api.py]

記憶システム (認知モデル)
--------------------------------

日付: 2026-01-30

定義: BACH は人間に似た認知記憶システムを使用します
記憶に基づいてモデル化されています。単に保管するだけではなく、
アクティブな重み付け、減衰 (忘れる)、ブースト (思い出す) を統合します。

5 つの認知タイプ:
-----------------------

1。ワーキングメモリ (memory_working)
   - 「短期記憶」
   - フォーカス: 現在のセッション、一時的。
   - コマンド: `bach mem write "..."`

2.エピソードメモリ (memory_sessions)
   - 「冒険日記」
   - 完了したセッションを保存します (360+)。
   - コマンド: `bach --memory session "..."`

3.セマンティックメモリ (memory_facts、docs/help/、wiki/)
   - 「世界の知識」
   - 事実、定義、アーキテクチャ (230 以上の事実)。
   - コマンド: `bach --memory fat "..."`

4.手続き記憶 (memory_lessons、tools/、skills/)
   - 「スキル」/「ベストプラクティス」
   - 物事がどのように行われるか (ワークフロー、ツール)。
   - コマンド: `バッハ レッスン追加 "..."`

5.連想メモリ (memory_context、context_triggers)
   - 「橋」
   - トリガーを介して知識を現在の状況に結び付けます。
   - コマンド: `bach --memory search "..."`
   - 統合: context_triggers はコネクタのルーティング中にも起動します

ダイナミック ラーニング システム (新しい v1.1.80)
------------------------------------
従来のシステムとは対照的に、BACH のインジェクターはダイナミックになりました。
- TRIGGER-DB: レッスン、ワークフロー、ツールからの 900 以上のトリガーが自動的に生成されます。
- COGNITIVE LOAD: 関連するコンテキストのみがセッションにロードされます。
- フィードバック: 完了したタスクと学習した教訓は、システムの動作を直ちに変更します。

コネクタ統合 (新規 v2.0 - 2026-02-08)
---------------------------------------------
context_triggers はコネクタ ルーティングでも使用されるようになりました。
- 受信した Telegram/Discord/HomeAssistant メッセージは context_triggers を通過します
- 検出されたトリガーはメタデータとしてmessages.metadataに追加されます
- LLM は関連するコンテキストを自動的に取得します (例: 「税金」→ 税務事実)
- 参照: --help コネクタ (コンテキスト統合セクション)

データベース テーブル:
  Memory_working 一時メモ (is_active フラグ)
  Memory_facts グローバル ファクト (カテゴリ: ユーザー、プロジェクト、システム、ドメイン)
  Memory_lessons の洞察 (重大度: 情報、警告、クリティカル)
  Memory_sessions セッション履歴 (概要とコンテキスト付き)
  Memory_consolidation 追跡メタデータ (重み、last_accessed)
  トリガーを含むmemory_contextソースパス(レガシー)
  context_triggers 900 以上の動的トリガー (レッスン/ワークフロー/ツール)
                       → インジェクターで点火 + コネクターのルーティング

信頼性システム:
-----------------

メモリ システムは信頼値を使用して事実の品質を評価します。

信頼性スケール (0.0 - 1.0):
  1.0 絶対に安全 (検証済み、複数回確認済み)
  0.8-0.9 非常に安全 (信頼できる情報源から)
  0.5-0.7 中程度 (仮定または観察)
  0.3-0.4 不確実 (推測)
  0.0-0.2 非常に不確実 (要確認)

視覚的表現:
  信頼度はバーで表示されます: [*****] = 1.0、[*** ] = 0.6、[* ] = 0.2

ソース追跡:
  各ファクトにはソース (--source) を含めることができます。 "user"、"system"、"observation"

コマンド (完全):
-----------------------

基本コマンド:
  bach mem write "..."              ワーキングメモリを埋める
  bach --memory facts               セマンティック知識を取得
  bach --memory fact "key:value"    新しいファクトを保存
  bach --memory session "..."       セッションレポートを保存
  bach --memory search "..."        連想検索
  bach --memory status              詳細なメモリステータス
  bach --memory provenance          出典、証拠タイプ、個人情報およびプライバシー情報
  bach --status                     ヘッダーのメモリステータスを参照

ライブラリ API (bach_api.py):
  bach_api インポートメモリから
  Memory.write("Note") ワーキングメモリ
  Memory.facts() すべての事実
  Memory.fact("key:value") ファクトを保存
  Memory.search("query") 連想検索
  Memory.status() ステータス
  Memory.session("summary") セッションの終了

CONFIDENCE コマンド:
  bach --memory certain             特定の事実のみを表示 (>=0.8)
  bach --memory uncertain           チェック対象として不確実な事実 (<0.5)
  bach --memory confidence KEY 0.9  事実の信頼度を更新

セッション コマンド:
  bach --memory sessions            すべてのセッションを表示
  bach --memory sessions N          最後の N セッションを表示

PROVENANCE VIEWS:
  bach --memory provenance              すべてのメモリ領域からの最後のエントリ
  bach --memory provenance facts 10     ソース、証拠、およびプライバシーのある事実のみ注意
  bach --memory provenance sessions 5   パートナー/プライバシーの観点からのセッションの概要

事実を自信を持って保存してください:
  bach --memory fact "key:value" --conf=0.8 --source="user"

  パラメータ:
    --conf=X 信頼値 (0.0 ～ 1.0)、デフォルト: 0.5
    --source=X 事実のソース (例: "ユーザー"、"システム"、"観察")

統合:
  bach consolidate run              学習プロセスの開始 (減衰/ブースト)

HEADLESS API (GUI サーバー):
  GET /api/memory/facts?limit=50 すべてのファクト (JSON)
  POST /api/memory/facts 新しいファクトを作成します
  DEL /api/memory/facts/<id> ファクトを削除します
  GET /api/memory/lessons?limit=50 すべてのレッスン
  POST /api/memory/lessons 新しいレッスンを作成する
  DEL /api/memory/lessons/<id> レッスンを無効にする

関連項目:
  --help injectors インジェクター システム
  --help 統合 統合エンジン
  --help コネクタ コネクタの統合 (context_triggers)
  docs/help/lessons.txt レッスンの処理
  bach_api.py ライブラリ API (メモリ モジュール)
  SKILL.md システムの初期化

シャットダウン ワークフロー:
------------------

正しい (新規):
  1. bach --shutdown ディレクトリスキャン + メモ
  2. bach --memory session "..." セッションレポートを DB に保存します

  またはオールインワン:
  bach --memory session "THEMA: Was gemacht wurde. NAECHSTE: Was noch kommt."

間違っています (古い):
  - メモリ/アーカイブ/にマークダウン ファイルを作成します。
  - セッション レポートを .md ファイルとして保存します

セッション レポートの形式:
-----------------------

要約テキストの推奨形式:

  "トピック: 簡単な説明。

 完了:
   - Task 1
   - Task 2

   CREATED: X new tasks

   NEXT STEPS:
   1. Priority 1
   2. 優先度 2"

代わりにコンパクト:
  "ATI アーキテクチャ、9 個のタスクが作成されました。次: ati.py ハンドラー"

ベスト プラクティス:
---------------

1。 Session start:
   - Run bach --startup
   - 最後のセッションをmemory_sessions

2から読み取ります。 During session:
   - バッハは「重要な洞察」を書きます
   - bach --memory ファクト "project.name:BACH"

3. Session end:
   -bach --shutdown
   - bach --memory session "概要"

4. Lessons learned:
   - バッハレッスン「タイトル: ソリューション」を追加
   - --memory ではなく独自のハンドラー!

データベース スキーマ:
-----------------

memory_sessions:
  - session_id 固有のID (session_YYYYMMDD_HHMMSS)
  - started_at start time
  -ended_at 終了時刻 (アクティブな場合は NULL)
  - summary session report
  -tasks_created 作成されたタスクの数
  -tasks_completed 完了したタスクの数
  - continue_context 次のセッション用

アーキテクチャ図
--------------------

人間 <-> BACH メモリの視覚的比較:
  docs/ARCHITECTURE_DIAGRAMS.md -> 図 4: 記憶システム

人間の同等の 5 つの認知タイプすべてを示します
活動的なプロセス（忘れる、思い出す、学習する、注意を払う、
睡眠の定着、メタ認知)。

認知モデル: 記憶回路としての学習
-----------------------------------------------

論文: 「学習は記憶の一形態である。」
(開発: ユーザー + クロード + ジェミニ、2026 年 1 月)

回路としての学習プロセス:

「」
┌───────────────────────────────┐
│ 記憶・経験の宝物（長期保存） │
│ ┌───────────────────────────────┐ │
│ │ 教訓 - 何がうまくいきましたか?そうでないのですか？               │ │
│ │ ワークフロー - どのように機能しますか? (手続き記憶) │ │
│ │ セッション - 私の目標は何でしたか? （未来への志向） │ │
│ │ 事実 - docs/help/ + wiki/ + 事実 (世界の知識) │ │
│ │ ベストプラクティス。  - ルールに関する体験談 │ │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━┘ │
│ │ │
│ │ リコール ──> 自動: インジェクター │
│ │ ──> 意識：思考 │
│v│
│ ┌───────────────────────────────┐ │
│ │ 現在のレベル │ │
│ │ (1) エネルギーを節約: ルールを取得し、自動的に動作します │ │
│ │ (2) 考える: インジェクターを挑発し、シナリオを再生する │ │
│ │ -> アクション -> 結果 (= 新しいイベント) │ │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━┘ │
│ │ │
│ v イベント │
│ ┌───────────────────────────────┐ │
│ │ 保存 -> レッスン、事実、セッション │ │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━┘ │
│ │ │
│v│
│ ┌───────────────────────────────┐ │
│ │ 統合（＝睡眠） │ │
│ │ 圧縮し、ベストプラクティスを形成し、教訓を導き出す │ │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━┘ │
│ │ │
│v│
│ ┌───────────────────────────────┐ │
│ │ BACKFLOW -> インジェクターの更新 │ │
│ │ システムの動作が異なる = 本当の学習 │ │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━┘ │
│ │ │
│ └──────> MEMORY（新しい状態）に戻る │
━━━━━━━━━━━━━━━━━━━━━━━━━┘
```

課題: 人間の記憶 <-> バッハ
--------------------------------------------

|人間 | BACH相当 |機能 |
|----------------------|--------------------------------|-----------------------------|
|中央エグゼクティブ |インジェクター |注意力のコントロール |
|ワーキングメモリ |メモリワーキング |現在のセッション |
|手続き記憶 |ワークフロー、ツール/、スキル/ |何かをする方法 |
|エピソード記憶 |記憶レッスン、記憶セッション|何が起こったのか |
|意味記憶 | docs/help/、wiki/、memory_facts |世界の知識 (ほとんど空*) |
|ルール知識 |ベストプラクティス、SKILL.md |実証済みの経験

|*) BACH では世界の知識があるため、意味記憶はほとんど空です
   LLM トレーニング データにはすでに含まれています。

「思考」としてのインジェクター
-------------------------

インジェクターは人間の思考における思考に対応します。
- 自動: キーワード一致で起動 (無意識の連想など)
- 意識的: 質問による的を絞った挑発 (思考など)

2 つの処理モード:
  (1) 省エネ - 高速、ルールベース、自動
      -> インジェクターの点火、直接動作
  (2) 考える - ゆっくり、連想的、意識的
      -> インジェクターについて振り返り、シナリオをプレイしてみる
  (3) 統合 - オフライン、圧縮中 (= スリープ)
      -> bach 統合 (デーモン ジョブ)

現在のステータスと目標
----------------------

実際の状態 (v1.1.80 以降、部分的に動的):
  ナレッジ -> メモリ (DB) -> トリガー DB (900+ 動的トリガー)
  インジェクターは部分的に動的です (トリガー DB + Python dicts)

TARGET 状態 (進行中):
  ナレッジ -> メモリ (DB) -> インジェクター -> 動作の変更
                       -> ワークフロー -> 自動化
                       -> パターン -> 委任

インジェクターへの統合された知識の「逆流」
本当の学習には欠けている部分です。

以下も参照してください。
  --help インジェクター (インジェクター システム)
  --help 統合 (統合エンジン)
  docs/archive/ANALYSE_Lernsysteme_BACH_vs_recludOS.md (完全な分析)

---
バージョン: 1.3.0 |更新日: 2026-02-08
(コネクタの統合が文書化され、ライブラリ API + ヘッドレス API が追加されました)
