feat(prompt): blocco Riflessione in QMEM_RULES (loop Reflexion-style) + bump v1.7.1

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.
This commit is contained in:
Matteo Benedetto
2026-08-22 16:10:17 +02:00
parent a448241ba2
commit fc11f878f6
2 changed files with 14 additions and 2 deletions
+13 -1
View File
@@ -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 <file>.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 ?? [];