Florian Hartmann b83546d833 Add AI Council architecture: Tier 2/3/Graph implementation + Integration Plan
Architecture (Agent 1):
- hermes_memory/tier2/{schema,facts,entities,relations,timeline}.py
- hermes_memory/tier3/{backend,chroma_backend,embedder}.py
- hermes_memory/graph/nx_store.py
- hermes_memory/api/memory_api.py (unified API)
- hermes_memory/cron/{consolidate,embed_queue,graph_refresh,prune}.py
- hermes_memory/config.py + pyproject.toml

Integration Plan (Agent 3):
- INTEGRATION_PLAN.md: Memory Provider Plugin strategy
- Hermes Core needs minimal changes
- sync_turn() + prefetch() hooks
- Skills integration via nextlevel_search/remember

Auto-Extraction (Agent 2):
- ARCHITECTURE.md: Full extraction pipeline docs
- Chunking, Pre-Filter, LLM Prompts, Classification
- Entity-Linking, Temporal Reasoning, Deduplication

All files: Python syntax checked, ECC standards applied.
2026-06-03 22:51:50 +00:00

Hermes Memory Next Level

Lösung für Context Rot und Agent Memory bei Hermes Agent. Von manuellem Key-Value zu strukturiertem, hierarchischem, automatischem Memory.

Problem

Hermes verliert nach Context-Compression oder Session-Wechsel wichtigen Zustand:

  • Tool-Konfigurationen werden zu "Docker wurde erwähnt"
  • Projekt-Zustände zu "Wir haben an Auth gearbeitet"
  • Präferenzen verschwinden komplett
  • Nutzer muss dieselben Dinge immer wieder erklären

Vision

Memory wird von manuell und flach zu automatisch und strukturiert:

  • Auto-Extraktion aus jeder Session
  • Typisierte Memory-Blöcke mit Entity-Linking
  • Multi-Tier: Working → Short-Term → Long-Term
  • Session-Start Injection: Relevanter Kontext wird automatisch geladen

Status

Phase Status Ziel
P0 Auto-Extraction 🔄 In Planung Cronjob extrahiert Fakten aus Sessions
P0 Structured Blocks 🔄 In Planung Erweitertes memory Tool mit Typen
P1 Entity-Linking Pending Graph: Projekte, Dateien, Personen verknüpfen
P1 Temporal Memory Pending "Was war der letzte Stand von X?"
P1 Multi-Tier Pending SQLite + Vektor-Store
P2 Self-Management Pending Agent speichert selbst
P2 Session Injection Pending Automatisches Laden beim Start

Architektur

┌─────────────────────────────────────────────────────────────┐
│ TIER 1: WORKING MEMORY (Aktiver Prompt)                     │
│ • Aktuelle Nachrichten + relevante Kontext                   │
│ • 4K128K Tokens (je nach Modell)                            │
│ • Schnellster Zugriff, höchste Relevanz                     │
├─────────────────────────────────────────────────────────────┤
│ TIER 2: SHORT-TERM MEMORY (Letzte N Sessions)                │
│ • Vollständige Nachrichten der letzten 510 Sessions       │
│ • SQLite/JSON, schneller Zugriff                           │
│ • Für Rückfragen zu kürzlich abgeschlossenen Tasks         │
├─────────────────────────────────────────────────────────────┤
│ TIER 3: LONG-TERM MEMORY (Vektor-Store + Graph)              │
│ • Embeddings für semantische Suche                         │
│ • Knowledge Graph für Beziehungen                          │
│ • Fakten, Präferenzen, Projekt-Zustände                    │
├─────────────────────────────────────────────────────────────┤
│ TIER 4: ARCHIVE (Vollständige Historie)                      │
│ • Alle Sessions, alle Nachrichten                          │
│ • Nur bei Bedarf durchsucht (langsame Suche)               │
│ • Compliance, Audit, vollständige Rekonstruktion           │
└─────────────────────────────────────────────────────────────┘

Memory-Block-Schema

memory_block:
  id: "uuid"
  type: "user_preference" | "project_state" | "learned_pattern" | "entity_relationship" | "procedural"
  category: "formatting" | "workflow" | "tech_stack" | "contact" | "project" | "skill"
  key: "table_style"
  value: "compact with │ separators"
  source: "session_2026-06-03"
  confidence: 0.95
  entities: ["Flo", "waldseilgarten-crm"]
  created_at: "2026-06-03T14:30:00Z"
  updated_at: "2026-06-03T14:30:00Z"
  access_count: 1
  last_accessed: "2026-06-03T14:30:00Z"

Projektstruktur

hermes-memory-next-level/
├── AGENTS.md              # Agent-Context (wer ist der Agent, was soll er wissen)
├── README.md              # Diese Datei
├── .env.example           # Umgebungsvariablen
├── docs/
│   ├── research/
│   │   └── agent-memory-solutions-2026.md
│   ├── architecture/
│   │   └── memory-tiers.md
│   └── decisions/
│       └── ADR-001-structured-memory-blocks.md
├── src/
│   ├── extraction/        # Auto-Extraction aus Sessions
│   ├── storage/           # Memory-Tier-Implementierungen
│   ├── graph/             # Entity-Linking Graph
│   ├── injection/         # Session-Start Injection
│   └── api/               # REST API für Memory-Operationen
├── tests/
│   ├── unit/
│   └── integration/
├── scripts/
│   └── setup.sh           # Setup-Script
└── docker-compose.yml     # Für lokale Entwicklung (SQLite, Qdrant, etc.)

Remote

  • Gitea: ssh://git@gitea.insight-it.de:2222/b0rbor4d/Hermes-Memory-Next-Level.git
  • SSH-Key: id_ed25519 (lokal vorhanden, muss in Gitea hinterlegt werden)

Mitwirkung

ECC-Standards gelten. Siehe AGENTS.md und CODING.md (wenn vorhanden).


Projekt gestartet: Juni 2026 Ziel: Context Rot eliminieren, Hermes Memory auf Next-Level bringen

S
Description
optimization of Hermes Memory System
Readme 82 KiB
Languages
Python 100%