feat(vocale): interpretazione come analista inter-agent in JSON + guida Perplexity

L'interpretazione del prompt vocale ora usa un framing inter-agent: Gemini è un
analista tecnico/middleware che scrive un briefing per l'orchestratore (NON
risponde all'utente), in JSON strutturato.
- Nuovo prompt: ruolo analista, destinatario = solo l'agente orchestratore,
  nessun testo rivolto all'utente, plan-first (nessuna esecuzione).
- Contratto JSON: {trascrizione_corretta, intent_analisi, note_per_agent,
  azioni_raccomandate, prompt_utente_pulito, ricerca_necessaria, suggerimenti_ricerca}.
- extractVoiceBriefing(): estrae prompt_utente_pulito (-> finalText) e se
  ricerca_necessaria=true aggiunge al prompt finale la nota di usare la ricerca
  web (Perplexity) per best practices/versioni/documentazione.
- Testato: parser JSON (valido, con markdown attorno, fallback su testo grezzo).
- docs/vocal-workflow.md aggiornato.
This commit is contained in:
2026-08-11 20:26:59 +02:00
parent f9a8648c86
commit aa888fe9cc
2 changed files with 70 additions and 5 deletions
+21
View File
@@ -83,6 +83,27 @@ Con `vocalPlanningMode=true` (default) il flusso di interpretazione vocale è
d'azione sintetico** (nessuna esecuzione). Questo evita che l'interpretazione
avvii autonomamente loop agentici o modifiche a sorpresa a causa di errori di STT.
L'interpretazione usa un **framing inter-agent**: Gemini agisce come **analista
tecnico/middleware** che scrive un briefing per l'orchestratore (NON risponde
all'utente), in **JSON strutturato**:
```json
{
"trascrizione_corretta": "...",
"intent_analisi": "...",
"note_per_agent": "...",
"azioni_raccomandate": ["..."],
"prompt_utente_pulito": "...",
"ricerca_necessaria": true/false,
"suggerimenti_ricerca": ["..."]
}
```
Il campo `prompt_utente_pulito` diventa il prompt finale per l'orchestratore. Se
`ricerca_necessaria=true`, al prompt finale viene aggiunta una **nota che
indica all'agente successivo di usare la ricerca web (Perplexity)** per
verificare best practices, versioni o documentazione aggiornate.
Poi un **overlay TUI** mostra trascrizione + piano e attende la conferma:
```