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:
+13
-1
@@ -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 ?? [];
|
||||
|
||||
Reference in New Issue
Block a user