From fc11f878f67192b62666fb9ca81f8909e0488dc8 Mon Sep 17 00:00:00 2001 From: Matteo Benedetto Date: Sat, 22 Aug 2026 16:10:17 +0200 Subject: [PATCH] feat(prompt): blocco Riflessione in QMEM_RULES (loop Reflexion-style) + bump v1.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regola auto-miglioramento: lezioni strutturate TRIGGER→CAUSA→AZIONE→VERIFICA dopo fallimenti/successi sorprendenti; promozione a fact procedurale per operazioni ricorrenti; consolidamento periodico. Vietate lezioni vaghe e promozioni senza evidenza (anti-drift). Solo prompt: nessun cambiamento server/API. --- extensions/index.ts | 14 +++++++++++++- package.json | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/extensions/index.ts b/extensions/index.ts index 634c901..4e4032d 100644 --- a/extensions/index.ts +++ b/extensions/index.ts @@ -738,7 +738,19 @@ MUST NOT: QUANDO un tool fallisce o un'operazione si blocca: 1. qmem_search con la descrizione dell'errore 2. se trovata una soluzione documentata → applicala e cita l'ID del record -3. se assente → troubleshooting normale, poi qmem_store della soluzione trovata`; +3. se assente → troubleshooting normale, poi qmem_store della soluzione trovata + +### Riflessione e auto-miglioramento (loop Reflexion-style: solo prompt e convenzioni) +MUST: +- Dopo un FALLIMENTO, un errore o un successo sorprendente: salva una lezione strutturata nel formato TRIGGER → CAUSA → AZIONE → VERIFICA (atomica, ≤ 60 parole, kind=episode, project_id coerente). + Esempio valido: "QUANDO produci JSON per un'API: verifica nomi e tipi dei campi sullo schema PRIMA di rispondere; un output plausibile non basta." +- Se la lezione è PROCEDURALE e riutilizzabile: promuovila a record kind=fact dedicato con comandi/parametri esatti (es. verifica estensione pi: npx --no-install esbuild .ts), così la ricerca la recupera direttamente. +- Consolidamento periodico (settimanale o su richiesta): qmem_meta → merge duplicati, supersede delle superate, promozione delle lezioni confermate a fact. + +MUST NOT: +- Non salvare lezioni vaghe o non verificabili ("stare più attento", "essere più accurato") — inutilizzabili e fonte di drift. +- Non promuovere a fact una lezione basata su una singola osservazione non confermata: serve evidenza verificata o doppia conferma. +- Non incollare transcript grezzi: la lezione è la REGOLA riutilizzabile, non la cronologia.`; pi.on("before_agent_start", async (event) => { const tools = event.systemPromptOptions?.selectedTools ?? []; diff --git a/package.json b/package.json index 578e5d9..ac29b53 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pi-qmem", - "version": "1.7.0", + "version": "1.7.1", "description": "Memoria centralizzata e condivisa per agenti AI: salva e cerca record semantici (Qdrant + BGE-M3) via Memory Gateway.", "keywords": ["pi-package", "memory", "agent", "qdrant", "rag"], "license": "MIT",