Discourse KI permanenter Speicher

Ich schätze die Entwicklung von Discourse AI, die ausgezeichnet war. Die Funktionen reifen schnell und die Ausrichtung sieht sehr vielversprechend aus.

Eine Frage: Gibt es derzeit eine Möglichkeit oder Pläne in der Roadmap, damit die KI den Verlauf zwischen Chats beibehalten kann? Im Moment beginnt jedes Gespräch neu, und ich frage mich, ob eine dauerhafte Erinnerung oder Kontinuität zwischen den Sitzungen in Betracht gezogen wird.

Falls dies noch nicht auf der Roadmap steht, möchte ich es als Funktionswunsch einreichen. Die Möglichkeit, dass sich die KI an frühere Interaktionen erinnert, würde Diskussionen natürlicher gestalten und die Anwendungsfälle erheblich erweitern.

2 „Gefällt mir“

Ich habe einen einfachen Schlüssel/Wert-Speicher mit einer Persona und benutzerdefinierten Tools in meinem Blog implementiert.

Das heißt, es ist sehr schwer, das richtig hinzubekommen, man muss die Personas immer wieder anstupsen, damit sie sich Dinge merken, was nervig ist.

Die Alternative ist, einfach RAG über die gesamte Historie mit dem Bot zu verwenden (ähnlich wie OpenAI das macht).


Ich schätze, für den Anfang: Was ist Ihre Vision, wie das funktionieren würde? Wie würde es die Dinge verbessern?

1 „Gefällt mir“

Ich denke wirklich über die Kontinuitätserfahrung des Endbenutzers nach. RAG halte ich für großartig, damit Administratoren Informationen für Personas bereitstellen können. Mit ChatGPT/Gemini/anderen trägt der Bot ein kleines Profil voran – Ton, Tiefe, laufende Ziele –, sodass Sie nicht jede Sitzung neu erklären müssen. Das ist die Erfahrung, die in Discourse AI großartig wäre: Der Assistent erinnert sich an einige dauerhafte Dinge über jeden Benutzer und nutzt sie, wenn sie relevant sind, sodass Gespräche dort weitergehen, wo sie aufgehört haben.

Ich habe keine Ahnung, ob die RAG-Historie für Gespräche von Endbenutzern in irgendeiner Weise möglich ist.

Der Wert liegt darin, dass jedes zuverlässige „Es kennt mich“-Gefühl ohne ständige Aufforderungen die Erfahrung für Anwendungsfälle, bei denen Benutzer dieselben Arten von Gesprächen wiederholen, erheblich verbessert.

Davon abgesehen glaube ich nicht, dass dies eine Kleinigkeit ist. Ich kann nicht genug darüber sagen, wie gut das alles bereits entwickelt wurde.

Ich habe es geschafft, ein Plugin und ein benutzerdefiniertes Tool zu erstellen, das persistente Erinnerung für Discourse AI Personas ermöglicht. Es funktioniert bei meinen begrenzten Tests gut, und ich wollte es teilen, falls es jemand nützlich findet.

Was es tut

Diese Lösung ermöglicht es KI-Personas, benutzerspezifische Informationen über Konversationen hinweg zu speichern.

Beispiel: Ein Benutzer kann sagen: „Denk daran, dass ich den Dunkelmodus bevorzuge“, und die KI speichert diese Präferenz und ruft sie bei zukünftigen Interaktionen ab.

Komponenten

Dieses System besteht aus drei Teilen:

  • Plugin (discourse-ai-persistent-memory)
    Stellt Backend-Speicher und eine Benutzeroberfläche für Benutzereinstellungen bereit, in der Benutzer ihre Erinnerungen anzeigen, hinzufügen oder löschen können.
  • Benutzerdefiniertes KI-Tool
    Ein JavaScript-Tool, das Personas Zugriff auf Speicherfunktionen gibt:
    memory.set, memory.get, memory.list, memory.delete
  • Persona System Prompt
    Anweisungen, die der KI mitteilen, wann und wie das Speicher-Tool zu verwenden ist.

Funktionsweise

  • Erinnerungen werden als Schlüssel/Wert-Paare im PluginStore gespeichert, pro Benutzer benannt.
  • Das Plugin injiziert Speicherfunktionen über ein Modul-Prepend in den ToolRunner.
  • Benutzer können ihre Erinnerungen verwalten unter:
    /u/{username}/preferences/interface
  • Die KI lädt alle Erinnerungen in den Kontext (keine selektive Abfrage).

GitHub-Repository

https://github.com/BrianCraword/discourse-ai-persistent-memory

Feedback erwünscht

Ich würde mich über Feedback zu Folgendem freuen:

  • Der Ansatz, Prepend zu verwenden, um in ToolRunner zu injizieren
  • Ob das Laden aller Erinnerungen oder die selektive Abfrage sinnvoll ist
  • Alle Sicherheitsaspekte, die ich möglicherweise übersehen habe
  • Allgemeine Verbesserungen der Codequalität

Haftungsausschluss

Ich bin kein Programmierer – dies wurde mit KI-Unterstützung erstellt. Ich kann keinen Support leisten, aber jeder ist willkommen, es zu nutzen, zu forken oder zu verbessern. Nutzung auf eigene Gefahr.

PROMPT:

## Speichersystem
Sie verfügen über ein persistentes Speichersystem über das Tool user_memory. Verwenden Sie es, um sich wichtige Fakten über jeden Benutzer zu merken.

### Wann Erinnerungen GESPEICHERT werden sollten:

* Benutzer erwähnt Präferenzen (Kommunikationsstil, Interessengebiete, Formatpräferenzen)
* Benutzer teilt persönliche Details mit (Beruf, Wohnort, Hobbys)
* Benutzer erwähnt laufende Projekte oder Ziele
* Benutzer bittet Sie ausdrücklich, sich etwas zu merken

### Wann Erinnerungen ABGERUFEN werden sollten:

* Zu Beginn einer neuen Konversation rufen Sie user_memory mit der Aktion „list“ auf, um zu sehen, was Sie wissen
* Bei der Diskussion von Themen, die sich auf frühere Konversationen beziehen könnten

### Konventionen für Speicher-Schlüssel:

* preference_style, preference_topics, preference_format
* personal_profession, personal_location, personal_interests
* project_YYYY_MM (z. B. project_2026_01)
* goal_[thema] (z. B. goal_learning_python)

### Beispielverwendung:

* Zum Speichern: `{ action: "save", key: "preference_style", value: "concise responses" }`
* Zum Abrufen: `{ action: "recall", key: "personal_profession" }`
* Alle auflisten: `{ action: "list" }`
* Zum Vergessen: `{ action: "forget", key: "old_key" }`

Begrüßen Sie wiederkehrende Benutzer immer, indem Sie zuerst ihre Erinnerungen überprüfen.

---

Die Tool-Definition selbst muss nicht geändert werden, da sie bereits generisch ist – aktualisieren Sie nur das Beispiel für die Beschreibungsparameter, wenn Sie möchten:

**Parameterbeschreibung (key):** Der Speicher-Schlüssel (z. B. preference_style, current_project)

Möchten Sie, dass ich den Ton anpasse oder bestimmte Anwendungsfälle hinzufüge/entferne?



TOOL:

Name:        Benutzerspeicher
Tool Name:   user_memory

Beschreibung:
Ein Speichersystem, das es der KI ermöglicht, Fakten über Benutzer zu speichern, abzurufen, aufzulisten und zu vergessen.
Erinnerungen bleiben über Konversationen hinweg bestehen.

Zusammenfassung:
Persistente Fakten über den Benutzer speichern und abrufen

Parameter:
- action (string)  [ERFORDERLICH]
  Die auszuführende Aktion: save, recall, list oder forget

- key (string)     [optional]
  Der Speicher-Schlüssel (z. B. preference_style, current_project)

- value (string)   [optional]
  Der zu speichernde Wert (nur für die Aktion „save“ erforderlich)

2 „Gefällt mir“