Simulazione multi-agente ad alta fedeltà per l'ottimizzazione delle politiche pubbliche e l'ascolto dei cittadini.
CivesAI è un motore di simulazione multi-agente e predittivo ideato specificamente per le realtà degli enti pubblici locali italiani (comuni, province, città). Estraendo informazioni dal mondo reale — come dati demografici, delibere, bilanci e articoli di cronaca — CivesAI costruisce un mondo digitale parallelo ad alta fedeltà.
Il sistema utilizza Ollama e modelli LLM locali, cosi da mantenere i dati sensibili in infrastruttura on-premise.
Paper ufficiale: MiroFish_paper.pdf
In questo ecosistema, migliaia di agenti dotati di personalità indipendente, memoria a lungo termine e logiche comportamentali interagiscono e si evolvono autonomamente. Amministratori e decisori politici possono agire in questo "sandbox" digitale, inserendo nuove variabili (es. modifiche alla ZTL, rimodulazione delle tasse locali, nuovi cantieri) per:
- Prevedere le reazioni dell'opinione pubblica in modo accurato.
- Ottimizzare le politiche prima della loro attuazione reale.
- Identificare criticità sommerse o potenziali conflitti sociali.
- 🤖 Motore Multi-Agente Avanzato: Basato sull'engine OASIS, permette la simulazione di interazioni sociali complesse tra migliaia di agenti con tratti psicologici unici.
- 🧠 Memoria a Lungo Termine: Integrazione con Zep per permettere agli agenti di ricordare interazioni passate, evolvendo la propria opinione nel tempo in base agli eventi della simulazione.
- 📄 Seeding da Documenti Reali: Carica PDF, file di testo o markdown per addestrare il contesto della simulazione su dati amministrativi reali.
- 🔒 Privacy First (Local LLM): Supporto nativo per Ollama, consentendo l'esecuzione di modelli linguistici direttamente on-premise, garantendo che i dati sensibili della PA non lascino mai i server locali.
- 📊 Reportistica Automatica: Generazione di report dettagliati sull'andamento della simulazione, impatto sociale e suggerimenti strategici tramite un Report Agent dedicato.
- 💬 Interazione Diretta: Possibilità di "scendere in campo" e dialogare direttamente con gli agenti simulati per sondarne umori e motivazioni.
Un caso tipico per un comune e la valutazione preventiva di una nuova ordinanza di estensione della ZTL. Caricando documenti locali (delibere, articoli, report su mobilità, osservazioni dei cittadini), CivesAI costruisce una simulazione in cui emergono:
- Gli attori influenzati dall'ordinanza: residenti, commercianti, pendolari, associazioni di categoria, operatori del trasporto, amministrazione.
- Le relazioni tra soggetti: alleanze, conflitti, canali di influenza e dinamiche di risposta tra enti pubblici, gruppi economici e comunità locali.
- Le correlazioni rilevanti: possibili effetti su traffico, consenso pubblico, impatto economico di quartiere, pressione mediatica e stabilità narrativa nel tempo.
In questo modo il sistema puo essere usato per confrontare scenari alternativi prima della decisione finale, ad esempio:
- Estensione immediata della ZTL versus introduzione graduale per zone.
- Fasce orarie differenti (solo ore di punta, fascia serale, weekend).
- Misure compensative (permessi temporanei, incentivi al TPL, finestre logistiche per i negozi).
L'obiettivo e supportare la PA nelle scelte con una simulazione trasparente, ripetibile e orientata alla riduzione dei rischi sociali e operativi.
Nel medesimo scenario, il sistema genera automaticamente agenti coerenti con il contesto locale e con il ruolo sociale di ciascun soggetto. In pratica, vengono creati profili che rappresentano i gruppi maggiormente coinvolti dall'ordinanza, ad esempio:
- Partite IVA e commercianti del centro: sensibilita elevata a accessibilita, costi di parcheggio e flussi pedonali.
- Residenti in area ZTL: maggiore attenzione a vivibilita, rumore, sicurezza stradale e qualita dell'aria.
- Automobilisti pendolari: focus su tempi di percorrenza, alternative di sosta e costo complessivo degli spostamenti.
- Pensionati e cittadini fragili: attenzione a servizi di prossimita e impatto delle nuove regole sulla mobilita quotidiana.
- Media locali e attori istituzionali: diffusione narrativa, chiarimenti normativi e gestione del consenso pubblico.
Questi agenti interagiscono tra loro nel tempo, producendo discussioni, alleanze e conflitti che aiutano l'amministrazione a valutare scenari alternativi prima della decisione finale.
- Node.js: v18.0.0 o superiore
- Python: 3.11 o 3.12 (consigliato l'uso di
uvper la gestione pacchetti) - Ollama: Per l'esecuzione locale dei modelli (optional se si usano API Cloud)
- Zep: Per la gestione della memoria degli agenti (cloud o locale)
- Hardware consigliato (carichi reali): NVIDIA DGX oppure AMD AI MAX PRO+ 395
-
Configurazione Ambiente: Rinomina il file
.env.examplein.enve inserisci le tue chiavi API e gli endpoint locali.LLM_BASE_URL=http://localhost:11434/v1 # Esempio per Ollama LLM_MODEL_NAME=Gemma3:27b # O altro modello installato ZEP_API_KEY=tua_chiave_zep
-
Setup Automatico: Installa tutte le dipendenze (frontend e backend) con un unico comando:
npm run setup:all
-
Esecuzione: Avvia i server di sviluppo per backend e frontend simultaneamente:
npm run dev
L'applicazione sarà accessibile all'indirizzo
http://localhost:3000.
Il sistema è composto da tre pilastri fondamentali:
- Frontend (Vite + Vue.js): Una dashboard interattiva per visualizzare la simulazione e i report.
- Backend (Flask): Gestisce la logica di business, l'elaborazione dei documenti e l'orchestrazione degli agenti.
- Simulation Engine (Camel-AI/OASIS): Il cuore pulsante che governa le interazioni sociali e l'evoluzione degli agenti.
Questo progetto è distribuito sotto licenza AGPL-3.0.
CivesAI nasce come adattamento e evoluzione di MiroFish e sfrutta l'engine di simulazione originariamente concepito dal team di CAMEL-AI (OASIS). Ringraziamo profondamente la comunità open-source per queste basi tecnologiche straordinarie.

