--- type: types/concept.md concept_type: workflow tags: [automation, events, triggers, workflow] created: 2026-07-26 modified: 2026-08-29 related: [Event-Driven Automation, LLM Wiki Pattern] sources: [Source - LLM Wiki v2] confidence: 0.85 confidence_base: 0.85 provenance: sourced summary: Mechanismus von Event-Listenern, der bei Wiki-Lebenszyklusereignissen wie Quellen-Ingest, Seitenänderung und Sitzungsende automatisch Aktionen auslöst. --- # Hooks **Typ:** Workflow (Event-Listener-Mechanismus) ## Definition Hooks sind **Event-Listener**, die automatische Aktionen als Reaktion auf bestimmte Ereignisse im Lebenszyklus des Wiki auslösen. Sie sind der Implementierungsmechanismus für [[Event-Driven Automation]] und ermöglichen dem Wiki, automatisch auf Änderungen zu reagieren, ohne menschliche Eingriffe. ## Kernpunkte ### Der Mechanismus Ein Hook besteht aus: 1. **Ereignis:** Die Auslöserbedingung (z.B. Datei erstellt, Sitzung beendet) 2. **Listener:** Code oder Logik, die das Ereignis erkennt 3. **Aktion:** Die automatische Reaktion auf das Ereignis ### Hook-Typen | Hook-Typ | Auslöser | Typische Aktionen | |-----------|---------|----------------| | **Pre-Ingest** | Vor Quellenverarbeitung | Quelle validieren, auf Duplikate prüfen | | **Post-Ingest** | Nach Quellenverarbeitung | Index aktualisieren, Operation protokollieren, Entitäten extrahieren | | **Pre-Write** | Vor dem Schreiben ins Wiki | Inhalte validieren, auf Widersprüche prüfen | | **Post-Write** | Nach dem Schreiben ins Wiki | Querverweise aktualisieren, Vertrauen neu berechnen | | **Pre-Delete** | Vor dem Löschen aus Wiki | Inhalte archivieren, keine Abhängigkeiten überprüfen | | **Post-Delete** | Nach dem Löschen aus Wiki | Index aktualisieren, Operation protokollieren, Referenzen bereinigen | | **Pre-Query** | Vor Abfrageverarbeitung | Kontext laden, relevante Seiten identifizieren | | **Post-Query** | Nach Abfrageverarbeitung | Antwort erfassen, falls wertvoll, Zugriffszeitstempel aktualisieren | | **Session Start** | Benutzer/Agent startet Sitzung | Aktuellen Kontext laden, relevante Seiten anzeigen | | **Session End** | Benutzer/Agent beendet Sitzung | Sitzung verdichten, Erkenntnisse erfassen, Kristallisierung auslösen | | **Geplant** | Timer (täglich/wöchentlich/monatlich) | Lint ausführen, Vertrauen verfallen lassen, Tiers konsolidieren | ### Implementierungsansätze **1. Dateisystem-Watcher** - `raw/`-Verzeichnis auf neue Dateien überwachen - Ingest auslösen, wenn neue Datei erkannt - Vorteile: Einfach, funktioniert mit jedem Dateisystem - Nachteile: Auf dateibasierte Ereignisse beschränkt **2. API/Webhook-basiert** - Wiki als Service mit Webhook-Endpunkten verfügbar machen - Externe Systeme posten Ereignisse an Webhooks - Vorteile: Flexibel, funktioniert mit externen Systemen - Nachteile: Erfordert Service-Infrastruktur **3. In-Process-Hooks** - Hooks in LLM-Agent-Code integriert - Auslösen bei internen Ereignissen (Speicherschreibvorgang, Sitzungsende, etc.) - Vorteile: Vollständiger Zugriff auf internen Status, effizient - Nachteile: Eng mit Agent-Implementierung gekoppelt **4. Plugin-System** - Ladbare Hook-Module - Hooks hinzufügen/entfernen, ohne Core-Code zu ändern - Vorteile: Erweiterbar, modular - Nachteile: Komplexer zu implementieren ### Hook-Konfiguration Beispielkonfiguration in `AGENTS.md`: ```yaml hooks: - event: on_new_source action: auto_ingest enabled: true priority: high - event: on_session_end action: compress_and_file enabled: true priority: medium threshold: 0.7 # Qualitätsschwelle für automatisches Erfassen - event: on_schedule action: run_lint enabled: true schedule: "0 2 * * *" # Täglich um 2 Uhr - event: on_memory_write action: check_contradictions enabled: true priority: high ``` ### Fehlerbehandlung Hooks sollten **robust** sein: - Fehler sollten **protokolliert**, aber nicht die Hauptoperation blockieren - Wiederholungslogik für vorübergehende Fehler - Circuit Breaker für wiederholt fehlgeschlagene Hooks - Manuelle Außerkraftsetzungsmöglichkeit ## Vorteile - **Automatisierung:** Reduziert manuelle Wartungslast - **Konsistenz:** Stellt sicher, dass Aktionen immer ausgeführt werden - **Erweiterbarkeit:** Einfaches Hinzufügen neuer Verhaltensweisen - **Entkopplung:** Trennt Auslöser von Aktionen - **Nachverfolgbarkeit:** Hook-Ausführungen können protokolliert werden ## Wann zu verwenden - Jedes Wiki mit [[Event-Driven Automation]] - Wikis, in denen Wartungslast ein Anliegen ist - Multi-Benutzer- oder Multi-Agent-Setups - Produktions-Wikis ## Wann NICHT zu verwenden - Kleine, einfache Wikis, wo manuell ausreicht - Situationen, in denen Hook-Komplexität nicht gerechtfertigt ist - Vollständig statische Wikis ## Verwandte Concepts - [[Event-Driven Automation]] - Das Gesamtautomatisierungs-Framework - [[LLM Wiki Pattern]] - Das übergeordnete Muster - [[Memory Lifecycle]] - Was Hooks helfen zu verwalten - [[Quality and Self-Correction]] - Qualitätsbezogene Hooks ## Siehe auch - [[Supersession]] (ausgelöst durch Hooks) - [[Consolidation Tiers]] (hochgestuft durch Hooks) - [[Forgetting]] (angewandt durch Hooks) - [[Confidence Scoring]] (aktualisiert durch Hooks)