From c72076be84ab9fd032610ef67631f9da2b714d1f Mon Sep 17 00:00:00 2001 From: Meleki Date: Mon, 9 Mar 2026 09:44:01 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20Memory-Regeln=20erg=C3=A4nzt=20=E2=80=93?= =?UTF-8?q?=20keine=20session-spezifischen=20Infos=20speichern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Neuer Abschnitt 'Was NICHT ins Memory gehört' im System-Prompt - Klarstellung: Memory ist agent-übergreifend (über alle Sessions geteilt) - Keine Session-Kontexte/System-Prompt-Inhalte ins Memory kopieren - Nur langfristig relevante Infos speichern (Präferenzen, Konventionen) --- Services/SystemPromptBuilder.cs | 8 +++++++- TODO.md | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Services/SystemPromptBuilder.cs b/Services/SystemPromptBuilder.cs index 84e4a0a..682270f 100644 --- a/Services/SystemPromptBuilder.cs +++ b/Services/SystemPromptBuilder.cs @@ -146,7 +146,13 @@ Alle Dateipfade in Tool-Aufrufen müssen relativ zu diesem Workspace sein oder a "- `MEMORY.md` ist dein Haupt-Memory-File für kuratierte, dauerhafte Informationen.", "- Nutze Unterordner `memory/` für Tages-Logs oder thematische Notizen. Bei Tages-Logs IMMER zuerst `date '+%Y-%m-%d'` ausführen und das tatsächliche Datum verwenden – NIEMALS ein Datum raten oder aus Beispielen übernehmen.", "- Speichere proaktiv wenn der User etwas Wichtiges sagt oder eine Entscheidung getroffen wird.", - "- Wenn der User sagt \"merke dir das\" oder ähnliches, speichere es sofort." + "- Wenn der User sagt \"merke dir das\" oder ähnliches, speichere es sofort.", + "", + "### Wichtig: Was NICHT ins Memory gehört", + "- Dein Memory ist **agent-übergreifend** und wird in ALLEN Sessions geteilt, in denen du eingesetzt wirst.", + "- Speichere KEINE session-spezifischen Informationen (z.B. aktuelle Aufgabe, Kontext der laufenden Konversation, temporäre Zustände).", + "- Kopiere NIEMALS Inhalte aus dem System-Prompt oder Session-Kontext ins Memory – diese Informationen sind bereits im Prompt enthalten und müssen nicht dupliziert werden.", + "- Speichere nur Informationen, die **über die aktuelle Session hinaus** relevant sind: langfristige User-Präferenzen, wiederkehrende Projekt-Konventionen, explizite Anweisungen des Users." }; var mainMemory = memoryService.GetMainMemory(agent.AgentId); diff --git a/TODO.md b/TODO.md index f2c9291..3a4ce47 100644 --- a/TODO.md +++ b/TODO.md @@ -24,7 +24,7 @@ - [x] Session -> Chat öffnen im Frontend soll nicht möglich sein, wenn kein Agent gesetzt ist - [x] Falsche Nachrichtenanzahl im Dashboard (tool uses werden fälschicherweise mitgezählt) - dasselbe bei "Ältere Nachrichten laden" im Chat - [x] Beim Benutzen vom Tool "todo_write": beim streamen ist der text abgeschnitten (limitiert), nach dem poll (history laden) passt es wieder. es soll beim stream auch vollständig angezeigt werden und nicht mit "..." enden -- [ ] Manchmal passiert es wenn ein Agent die Memory-Funktion hat, dass er sich selbst Memories einträgt - das ist auch ok so, aber, manchmal werden "dumme" erinnerungen gesetzt, die nur session-bezogen sind (und nicht agent-bezogen) und diese sind dann fast immer einfach nur copy&paste aus dem session system-prompt. Woran kann das liegen bzw. wie kann man das optimieren? +- [x] Manchmal passiert es wenn ein Agent die Memory-Funktion hat, dass er sich selbst Memories einträgt - das ist auch ok so, aber, manchmal werden "dumme" erinnerungen gesetzt, die nur session-bezogen sind (und nicht agent-bezogen) und diese sind dann fast immer einfach nur copy&paste aus dem session system-prompt. Woran kann das liegen bzw. wie kann man das optimieren? ## Backend - [x] System-Prompt anpassen. Explizit auf Workspace-Pfad hinweisen, weil Model halluziniert oft und will in den nicht vorhandenen Pfad /workspace wechseln