Agente di ricerca con citazioni verificabili
Un agente di ricerca in un unico file Node, senza dipendenze da installare: gli dai una domanda e fino a cinque indirizzi, lui scarica le pagine, le pulisce e produce una sintesi in markdown dove ogni affermazione termina con il riferimento alla fonte. Le affermazioni senza fonte sono vietate dal prompt, e l’output ha una sezione obbligatoria che quasi nessun riassunto automatico ti dà: cosa NON si può concludere dalle fonti lette.
Scarica lo script: agente-ricerca.mjs
Farlo girare (prima senza spendere nulla)
Serve solo Node 20 o superiore. Il primo giro si fa a vuoto, con fonti e redazione finte incluse nello script, per vedere il meccanismo senza chiave API e senza costi:
node agente-ricerca.mjs --prova
Trovi il risultato in lavoro/ricerca-<data>.md: guarda la struttura in
tre sezioni (risposta con citazioni, cosa dice ogni fonte, cosa non si
può concludere). Poi prendi una chiave su openrouter.ai e fai un giro
vero su una domanda tua:
export OPENROUTER_API_KEY=sk-or-...
node agente-ricerca.mjs "come si prezza la manutenzione di un sito" https://prima-fonte... https://seconda-fonte...
Cosa guardare nel codice
Lo script è commentato apposta per essere letto, ed è corto. Tre punti valgono il viaggio. I limiti stanno nel codice, non solo nel prompt: massimo cinque fonti, taglio a 15.000 caratteri dichiarato nell’output, e se una fonte non si scarica lo dice e va avanti invece di fingere di averla letta. Il prompt impone il formato: la regola “niente fonte, niente affermazione” è scritta come istruzione verificabile, e puoi controllarla a occhio sull’output. La pulizia dell’HTML è volutamente grezza: quando una fonte esce illeggibile te ne accorgi dalla sezione fonti, ed è un buon esempio del principio “meglio un errore visibile che una magia sbagliata”.
Adattarlo al tuo caso
Le tre modifiche tipiche, in ordine di ambizione: cambiare il formato di
output (per esempio una tabella di confronto invece delle tre sezioni:
si modifica solo il prompt in costruisciPrompt); dargli le tue fonti
fisse di settore, così lanci solo la domanda; farlo girare ogni settimana
sugli stessi indirizzi e confrontare le sintesi, che è il primo passo
verso il flusso automatico visto nel percorso pro.
Romperlo apposta
Questo scaffolding è anche il banco di prova del capitolo «Quando l’agente sbaglia»: dagli un indirizzo inesistente in mezzo a due veri e guarda come lo dichiara, dagli una pagina quasi vuota e osserva la sezione “cosa non si può concludere” allargarsi. Vedere dove un agente degrada, e come lo comunica, insegna più di dieci giri riusciti.