MantoX Blog
AI-Powered Science

Sviluppo del Progetto 3CN

Pipeline AI per Contenuti Scientifici

Un Modello Ibrido di Automazione Editoriale

Indice

  • Abstract
  • 1. Introduzione e contesto
  • 2. Fonti e licenze
  • 3. GDPR
  • 4. Pipeline di elaborazione
  • 5. Il prompt orchestratore
  • 6. Architettura tecnica
  • 7. Conclusioni

Abstract

Questo progetto nasce dalla mia esigenza di creare un flusso di notizie scientifiche e curiose, accessibili e stimolanti, in risposta alla saturazione di contenuti negativi e poco rilevanti nei canali informativi tradizionali. L'idea ha preso forma durante un'esperienza personale in montagna, quando la frustrazione per la qualità delle notizie disponibili si è trasformata in un'opportunità: sviluppare un sistema capace di selezionare, filtrare e rielaborare contenuti da fonti affidabili e legalmente riutilizzabili, per poi presentarli in una forma chiara, positiva, un pò simpatica e adatta anche a un pubblico giovane.

Gli obiettivi sono:

3
Articoli massimi al giorno
2
Lingue supportate
Pipeline
Totalmente automatizzata
Dashboard
Per gestione e monitoraggio contenuti

Il mio obiettivo iniziale era implementare l'intera pipeline in modalità AI end-to-end, dalla selezione delle fonti fino alla pubblicazione. Tuttavia, la gestione completamente automatica delle fonti ha rivelato limiti significativi: un elevato numero di falsi positivi nella classificazione delle licenze, costi monetari e computazionali non sostenibili. Di conseguenza, ho optato per una preselezione manuale delle fonti affidabili e verificate, adottando una soluzione ibrida che combina:

Parte procedurale con batch c#:

Lettura dei feed di articoli
Pianificazione delle pubblicazioni
Gestione della schedulazione
Pubblicazione Linkedin

Parte AI:

Filtraggio tematico
Processo di scrittura
Processo di revisione
Assegnazione rating

Il risultato è un ecosistema editoriale automatizzato, etico e trasparente, capace di produrre contenuti di alta qualità scientifica e divulgativa, con un impatto positivo sulla fruizione delle notizie e sulla curiosità del lettore.

Capitolo 1 – Introduzione e contesto

Questo progetto nasce da un momento di osservazione e frustrazione personale. Durante una vacanza in montagna, immerso in un paesaggio che invitava alla calma e alla riflessione, mi sono trovato a scorrere le notizie sul telefono. L'esperienza è stata deludente: una sequenza monotona di cronaca nera, gossip e dibattiti politici privi di reale contenuto informativo. Nulla che stimolasse la curiosità o che trasmettesse un senso di scoperta.

Da questa constatazione è maturata l'idea di creare un flusso di notizie "come piacciono a me": contenuti scientifici, curiosi, positivi, scritti in modo chiaro e accessibile, capaci di incuriosire anche un pubblico giovane. Il mio obiettivo non era solo informare, ma farlo in modo etico, trasparente e stimolante, sfruttando le potenzialità dell'Intelligenza Artificiale per automatizzare ciò che poteva essere automatizzato, senza rinunciare al controllo umano dove necessario.

La mia visione: Trasformare il consumo di notizie da passivo e spesso frustrante a attivo e stimolante, offrendo contenuti che accendano la curiosità e promuovano l'apprendimento continuo.

Il progetto si rivolge a un pubblico ampio: dagli appassionati di scienza ai lettori occasionali, fino a chi cerca un'informazione alternativa, più leggera ma non superficiale. È, in sintesi, il mio esperimento editoriale e tecnologico che unisce passione personale e ricerca di soluzioni innovative.

Capitolo 2 – Fonti e licenze

Prima di addentrarmi nella selezione delle fonti specifiche, è importante riconoscere il ruolo fondamentale di Creative Commons in questo progetto. L'organizzazione no-profit fondata nel 2001 ha rivoluzionato il concetto di condivisione della conoscenza, creando un sistema di licenze standardizzate che permettono agli autori di specificare esattamente come i loro contenuti possono essere riutilizzati. Senza questo framework legale, un progetto come il mio non sarebbe stato possibile: Creative Commons ha reso accessibile e comprensibile il mondo delle licenze aperte, democratizzando l'accesso all'informazione scientifica e culturale.

Creative Commons: La loro documentazione, disponibile su creativecommons.org, è stata la mia guida principale per comprendere le differenze tra CC BY, CC0 e Public Domain, fornendomi le basi teoriche e pratiche per navigare il complesso mondo delle licenze aperte.

La selezione delle fonti è stata una delle sfide più complesse e formative dell'intero progetto. Non provenendo dal settore editoriale, ho dovuto studiare a fondo il panorama delle licenze aperte, comprendendo le differenze tra Creative Commons BY, CC0 e Public Domain, e imparando a interpretare correttamente le clausole di riuso.

Il mio obiettivo era chiaro: utilizzare esclusivamente contenuti provenienti da fonti che garantissero un riuso legale e trasparente. Per questo motivo, la scelta delle fonti è rimasta una fase procedurale e manuale: ho verificato ogni fonte singolarmente, controllando non solo la licenza dichiarata, ma anche la coerenza tra quanto riportato e le condizioni effettive.

Il mio principio etico fondamentale: Il sistema acquisisce i contenuti tramite feed RSS o API ufficiali, evitando qualsiasi forma di scraping. Questa scelta non è solo una precauzione legale, ma anche un atto di rispetto verso gli autori originali.

La preselezione manuale mi ha permesso di eliminare alla radice il problema dei falsi positivi riscontrati nei test iniziali con selezione automatica, dove l'AI tendeva a classificare erroneamente come "riutilizzabili" fonti che non lo erano. Questo approccio ha anche evidenziato l'importanza di mantenere un equilibrio tra automazione e controllo umano nelle fasi più delicate del processo.

Fonti verificate e utilizzate

Di seguito la tabella completa delle fonti che ho selezionato e verificato manualmente per il progetto, con i relativi link alle licenze per garantire piena trasparenza:

# Fonte Licenza Link licenza dichiarata
1 Quantum Journal CC BY 4.0 Terms & Conditions
2 arXiv CC BY / CC0 License Help
3 Data.gov Public Domain Privacy Policy
4 Frontiers (tutte le riviste) CC BY Open Access
5 MDPI CC BY 4.0 Authors Rights
6 PeerJ CC BY 4.0 Publications

Questa selezione curata rappresenta un equilibrio tra qualità scientifica, varietà tematica e affidabilità legale. Ogni fonte viene monitorata periodicamente per verificare che le condizioni di licenza rimangano invariate e che la qualità dei contenuti si mantenga coerente con gli standard del progetto.

Licenza adottata: Questa opera è distribuita con licenza Creative Commons Attribuzione – Non Commerciale – Condividi allo stesso modo (CC BY-NC-SA), a testimonianza del mio impegno per la condivisione responsabile e la creatività collaborativa

Creative Commons License

Capitolo 3 – GDPR e Impatto sulla Progettazione

Il Regolamento Generale sulla Protezione dei Dati (GDPR), entrato in vigore il 25 maggio 2018, ha profondamente trasformato il panorama digitale europeo, imponendo nuove responsabilità e vincoli stringenti nella gestione dei dati personali. Questo regolamento, nato per rafforzare la protezione dei diritti fondamentali dei cittadini europei, ha avuto un impatto significativo anche sul mio progetto, orientandomi verso soluzioni innovative e alternative ai tradizionali meccanismi di raccolta dati.

Obblighi e Vincoli per i Siti Web

Il GDPR stabilisce principi fondamentali che ogni proprietario di sito web deve rispettare:

Principali Obblighi GDPR

  • Consenso esplicito: Raccolta del consenso chiaro e inequivocabile per il trattamento dei dati
  • Informativa trasparente: Comunicazione chiara su finalità, modalità e durata del trattamento
  • Diritti dell'interessato: Garanzia dei diritti di accesso, rettifica, cancellazione e portabilità
  • Privacy by design: Integrazione della protezione dati fin dalla progettazione
  • Data breach notification: Notifica delle violazioni entro 72 ore alle autorità competenti
  • Registro delle attività: Documentazione dettagliata dei trattamenti effettuati

Il mancato rispetto di queste disposizioni può comportare sanzioni amministrative fino al 4% del fatturato annuo mondiale o 20 milioni di euro, oltre a possibili azioni risarcitorie da parte degli interessati. Per approfondimenti normativi, si rimanda al sito ufficiale del Garante per la Protezione dei Dati Personali.

Impatto sul Progetto: Vincoli e Opportunità

L'applicazione rigorosa del GDPR ha rappresentato inizialmente un ostacolo significativo per alcune funzionalità che avevo pianificato. In particolare, due aspetti del progetto sono stati direttamente influenzati:

❌
Newsletter bloccata
🚫
Form contatti rimosso

Newsletter e raccolta email: L'implementazione di un sistema di newsletter avrebbe richiesto la gestione di dati personali (email, preferenze, metadati di navigazione) con tutti gli adempimenti connessi: consenso granulare, informative dettagliate, sistemi di opt-out, conservazione sicura dei dati e gestione delle richieste di cancellazione. La complessità burocratica e tecnologica, unita ai costi di compliance, ha reso questa opzione poco sostenibile per un progetto individuale.

Form di contatto: Anche un semplice form di contatto avrebbe comportato la raccolta e il trattamento di dati personali, richiedendo l'implementazione di misure di sicurezza adeguate, informative specifiche e la gestione dei diritti degli interessati. Questo aspetto, apparentemente marginale, si è rivelato un ulteriore elemento di complessità da evitare.

Verifica Trasparente della Privacy

Per garantire massima trasparenza, puoi verificare autonomamente la compliance di questo sito utilizzando CookieMetrix o strumenti simili.

La scansione confermerà l'assenza di cookie di tracciamento e la presenza dei soli elementi tecnici necessari al funzionamento dell'applicazione Blazor Server.

La Soluzione: Social Media e Engagement Alternativo

Piuttosto che vedere il GDPR come un limite, ho interpretato questi vincoli come un'opportunità per esplorare approcci innovativi alla distribuzione dei contenuti e all'interazione con il pubblico. La soluzione adottata si articola su due pilastri principali:

Integrazione con LinkedIn

Ho scelto LinkedIn come piattaforma principale per la distribuzione automatica dei contenuti. Questa scelta presenta diversi vantaggi strategici: LinkedIn gestisce autonomamente tutti gli aspetti legati al GDPR per i suoi utenti, offre un pubblico professionale già interessato a contenuti scientifici e tecnologici, e permette un engagement naturale attraverso commenti, condivisioni e reazioni. Ogni articolo pubblicato sul sito viene automaticamente condiviso su LinkedIn con un post di presentazione ottimizzato, creando un ponte diretto tra il contenuto statico e la community dinamica.

Pagina Dedicata per Contatti e Commenti

Ho sviluppato una pagina https://www.linkedin.com/company/3cn/ specifica che funziona come hub per l'interazione, senza raccogliere direttamente dati personali. Questa pagina indirizza gli utenti verso i canali social appropriati per feedback, domande o collaborazioni, mantenendo il controllo editoriale sul sito principale mentre delegando la gestione delle comunicazioni alle piattaforme social che già dispongono dell'infrastruttura GDPR-compliant necessaria.

Blazor Server: Architettura Privacy-First per Design

La ricerca della massima compliance GDPR ha influenzato profondamente anche le scelte architetturali del progetto, orientando la decisione verso Blazor Server come framework di sviluppo. Questa tecnologia si distingue per un approccio intrinsecamente privacy-friendly, eliminando alla radice la necessità di gestire cookie tecnici tradizionali.

A differenza delle applicazioni web classiche, Blazor Server gestisce l'intera logica applicativa lato server, mantenendo lo stato dell'interfaccia utente attraverso una connessione SignalR WebSocket persistente. Questo paradigma elimina completamente la dipendenza da meccanismi di sessione basati su cookie, rendendo l'applicazione naturalmente conforme ai principi di minimizzazione dei dati previsti dal GDPR.

Vantaggi Tecnici per la Privacy

  • Zero Cookie di Sessione: Lo stato applicativo è mantenuto in memoria sul server, non nel browser
  • Comunicazione WebSocket: Eliminazione delle HTTP request tradizionali e dei relativi header di tracciamento
  • Sicurezza Intrinseca: Immunità naturale agli attacchi CSRF senza necessità di token antiforgery
  • Controllo Centralizzato: Gestione completa del ciclo di vita dei dati sul server controllato

Nota tecnica sulla sicurezza: Poiché Blazor Server non implementa il paradigma HTTP tradizionale request/response ma utilizza esclusivamente WebSocket per la comunicazione client-server, risulta naturalmente immune agli attacchi di tipo Cross-Site Request Forgery (CSRF). Questa caratteristica elimina completamente la necessità di implementare meccanismi UseAntiforgery e i relativi token di validazione, semplificando ulteriormente l'architettura e riducendo il footprint di sicurezza dell'applicazione.

Questa scelta tecnologica ha quindi prodotto un doppio beneficio: da un lato ha garantito compliance GDPR nativa senza compromessi funzionali, dall'altro ha generato un'architettura più pulita, sicura e performante rispetto alle alternative tradizionali basate su cookie e sessioni HTTP.

Benefici Inattesi della Compliance

Lsoluzione "GDPR-native" ha generato vantaggi imprevisti: ha semplificato significativamente l'architettura del progetto, eliminando la necessità di database per utenti, sistemi di gestione email e infrastrutture di sicurezza complesse. Ha inoltre orientato il progetto verso una maggiore trasparenza e sostenibilità, concentrando le risorse sulla qualità dei contenuti piuttosto che sulla gestione di dati personali.

Capitolo 4 – Pipeline di elaborazione e pubblicazione

La pipeline rappresenta il cuore operativo del mio progetto: un flusso continuo e integrato che, partendo dalla raccolta delle informazioni, conduce passo dopo passo fino alla pubblicazione e diffusione dei contenuti. In questa architettura, l'AI interviene nei momenti in cui può esprimere al meglio le proprie capacità di analisi, generazione e revisione, mentre le fasi più critiche dal punto di vista legale e organizzativo restano sotto il mio controllo diretto.

Workflow Interattivo della Pipeline

Legenda Processo manuale Processo AI Decisione Scarto Lettura e acquisizione feed (PROC) Verifica licenze e conformità (PROC) Filtraggio tematico e deduplicazione (AI) Classificazione e rating preliminare (AI) SCARTO requisiti Writer (AI) Reviewer (AI) Rating ≥ soglia? NO e i < 10 SCARTO (10 tentativi) NO e i = 10 SÌ Approvazione Automatica? Approvazione automatica SÌ NO Approvazione admin Pubblicare? SCARTO NO SÌ Pianificazione & Scheduling Pubblicazione sito + LinkedIn

Il flusso si apre con la lettura e acquisizione dei feed dalle fonti che ho preselezionato. Questa fase è volutamente procedurale: ho verificato manualmente tutte le fonti per garantire la compatibilità delle licenze e la qualità del materiale. Il sistema interroga periodicamente i feed RSS o le API ufficiali, acquisendo titolo, abstract, autore, data di pubblicazione, URL e licenza dichiarata, che troverete a pedice di ogni articolo pubblicato.

È fondamentale verificare sempre che l'articolo generato sia coerente con la pubblicazione scientifica di riferimento. Generalmente, le pubblicazioni originali sono studi molto articolati e ricchi di dettagli, che offrono spunti preziosi per approfondimenti successivi e rappresentano una fonte di contenuti di alta qualità per ulteriori sviluppi editoriali.

Segue la verifica delle licenze e il rispetto etico, anch'essa procedurale. Ogni elemento acquisito viene confrontato con la lista di licenze che ho definito come ammesse (CC BY, CC0, Public Domain). Non effettuo scraping del contenuto completo: utilizzo solo i dati presenti nel feed, rispettando la volontà dell'autore e le condizioni d'uso.

A questo punto entra in gioco l'AI con il filtraggio tematico e la deduplicazione. L'analisi non si limita a un controllo di parole chiave, ma utilizza modelli di comprensione semantica per valutare la pertinenza rispetto agli obiettivi che mi sono posto. Vengono esclusi articoli di cronaca nera, politica o gossip, e rimossi eventuali duplicati già presenti nel database.

Superato il filtro, l'AI procede alla classificazione preliminare e assegnazione del rating. Ogni articolo viene valutato su quattro dimensioni che ho definito: positività, scientificità, novità e chiarezza espositiva. A ciascun criterio viene assegnato un punteggio da 1 a 10, e la media aritmetica determina il rating complessivo.

La fase WRITER è interamente affidata all'AI. Qui il contenuto viene riscritto seguendo le regole editoriali che ho stabilito: linguaggio chiaro e accessibile, tono positivo e curioso, assenza di opinioni personali, rispetto rigoroso delle licenze e originalità del testo. L'obiettivo che mi sono posto è trasformare un abstract tecnico in un articolo divulgativo che mantenga l'accuratezza delle informazioni ma le renda fruibili a un pubblico ampio.

Quando il punteggio di qualità non raggiunge la soglia minima che ho stabilito, entra in azione la fase REVIEWER. Anche qui l'AI è protagonista, ma con un approccio iterativo che ho progettato: il testo viene rielaborato più volte, fino a un massimo di dieci cicli, cercando di correggere debolezze e migliorare i parametri di valutazione.

La mia scoperta chiave: I test comparativi che ho condotto hanno dimostrato che tre chiamate AI distinte richiedevano un tempo superiore del 60-70% rispetto alla singola chiamata unificata, oltre a comportare maggiore complessità gestionale.

Il ciclo si chiude con la pubblicazione sul sito in doppia lingua (italiano e inglese) e la condivisione automatica su LinkedIn, ampliando la portata della diffusione e raggiungendo un pubblico professionale interessato.

Capitolo 5 – Il prompt orchestratore: architettura e logica operativa

Il cuore pulsante dell'intero sistema che ho sviluppato risiede in un singolo prompt complesso, frutto di numerose iterazioni e affinamenti. Questa componente, apparentemente semplice nella sua forma testuale, rappresenta in realtà l'elemento più critico e innovativo del mio progetto: un vero e proprio "direttore d'orchestra" capace di coordinare ruoli distinti, gestire flussi decisionali complessi e garantire output strutturati e coerenti.

Requisito tecnico che ho scoperto: L'efficacia di questo approccio dipende dalla capacità del modello AI di supportare funzionalità MoE (Mixture of Experts), indispensabile per gestire efficacemente l'impersonificazione di ruoli distinti all'interno del medesimo prompt.

La progettazione di questo prompt è stata un processo evolutivo nel mio percorso. L'approccio iniziale che avevo adottato prevedeva chiamate separate per ogni fase, ma questo sistema si è rivelato inefficiente sotto più aspetti, richiedendo tempi superiori del 60-70% e una gestione procedurale complessa dei vari output intermedi.

La struttura tripartita che ho sviluppato

Il PASSO 1 – WRITER definisce l'identità editoriale del mio sistema. Qui ho stabilito gli obiettivi primari: trasformare contenuti scientifici e tecnici in testi accessibili a un pubblico giovane, mantenendo rigore e accuratezza ma adottando un tono fresco e coinvolgente. Le regole editoriali che ho definito sono particolarmente dettagliate perché rappresentano il DNA del progetto: originalità assoluta per evitare problemi di copyright, neutralità per garantire credibilità, chiarezza espositiva per raggiungere il target.

Esempio di regola specifica che ho inserito:
"Stile: rigorosamente italiano, non traduzioni letterali; attenzione al genitivo sassone, da tradurre secondo la grammatica italiana."

Il PASSO 2 – REVIEWER introduce un meccanismo di auto-valutazione e miglioramento iterativo che ho progettato. Il sistema assegna punteggi da 1 a 10 su quattro dimensioni che ho scelto – positività, scientificità, novità e chiarezza espositiva – e calcola una media che determina se il contenuto è accettabile o necessita di rielaborazione.

Questa sezione include filtri di sicurezza che ho implementato per escludere automaticamente contenuti non coerenti con la mia linea editoriale: articoli non scientifici, materiale promozionale, argomenti sensibili come malattie gravi. Il ciclo di miglioramento può ripetersi fino a dieci volte, un limite che ho stabilito per evitare loop infiniti ma sufficiente per permettere ottimizzazioni significative.

La gestione dell'output strutturato

Il PASSO 3 – OUTPUT rappresenta l'innovazione più significativa che ho introdotto dal punto di vista dell'integrazione procedurale. Anziché restituire testo libero, il sistema produce un oggetto JSON strutturato con campi predefiniti, ognuno ottimizzato per una specifica funzione all'interno della pipeline che ho creato.

Il vantaggio che ho ottenuto: Questa scelta elimina l'ambiguità tipica dell'output testuale e rende i risultati immediatamente utilizzabili dalle fasi successive senza necessità di parsing o interpretazione.

La struttura JSON che ho progettato include elementi in doppia lingua (italiano e inglese), slug URL ottimizzati per SEO, hashtag calibrati per i social media e una sezione "BonusExpert" con approfondimenti tecnici per lettori più avanzati. Ogni campo ha istruzioni specifiche di compilazione che ho definito: lunghezza, tono, stile, caratteristiche tecniche.

Un aspetto fondamentale è la calibrazione della soglia di rating che ho dovuto ottimizzare attraverso test. Nei miei test iniziali, soglie troppo alte (superiori a 8.0) producevano un numero eccessivo di scarti, mentre soglie troppo basse (inferiori a 6.0) lasciavano passare contenuti di qualità insufficiente. La soglia che utilizzo attualmente, dinamicamente configurabile, rappresenta un compromesso ottimale tra qualità e produttività che ho raggiunto attraverso l'esperienza.

Il prompt orchestratore che ho sviluppato rappresenta quindi molto più di una semplice istruzione testuale: è un sistema di controllo qualità integrato, un editor automatico e un traduttore specializzato, tutto condensato in un'unica interfaccia conversazionale. La sua progettazione mi ha richiesto mesi di affinamenti, test e correzioni, ma il risultato finale è uno strumento potente, affidabile e scalabile.

Capitolo 6 – Architettura tecnica della piattaforma

Ho valutato diverse architetture tecnologiche, inizialmente orientandomi verso Blazor WebAssembly integrato con Web API. Tuttavia, questo approccio ha rivelato una rigidità incompatibile con la metodologia Agile: i tempi di refactoring necessari per implementare i cambi di rotta superavano spesso quelli richiesti per lo sviluppo delle logiche di business. Di conseguenza, ho optato per una migrazione verso Blazor Server, che offre maggiore flessibilità e tempi di sviluppo più sostenibili.

La scelta strategica di Blazor Server 8

La mia decisione di adottare Blazor Server 8 come framework di sviluppo è stata profondamente influenzata dall'approccio metodologico che volevo seguire. Sapendo di dover affrontare un progetto sperimentale con molte incognite, ho optato per una gestione Agile che mi permettesse di "fare e rifare" varie parti del sistema in modo iterativo e reattivo.

Il vantaggio Agile che ho ottenuto: Con Blazor Server, frontend e backend sono di fatto in un unico progetto. Non ho usato API intermedie - tutto comunica direttamente attraverso il framework, permettendomi un approccio Agile a tutti gli effetti con cicli di sviluppo molto più rapidi.

Blazor Server 8 mi consente di costruire applicazioni web interattive utilizzando C# e l'intero ecosistema .NET, eliminando la necessità di ricorrere a stack multipli e linguaggi diversi. Questa scelta mi ha permesso di mantenere un ambiente di sviluppo coerente, riducendo drasticamente la complessità cognitiva e accelerando i tempi di implementazione delle modifiche.

Esperienza pratica: Durante lo sviluppo, ho potuto modificare la pipeline di elaborazione AI e vedere immediatamente i risultati nella dashboard amministrativa, senza dover ricompilare, ridistribuire o sincronizzare componenti separati.

Real-time e interattività

L'integrazione di SignalR mi consente aggiornamenti in tempo reale che sarebbero stati molto più complessi da implementare con un'architettura API-based: lo stato di avanzamento di un batch, l'arrivo di nuovi articoli o la modifica di una pianificazione diventano immediatamente visibili senza ricaricare la pagina. Questa funzionalità, cruciale per monitorare un sistema automatizzato, è stata implementata in poche righe di codice.

L'uso di Blazor Server ha semplificato significativamente la gestione delle cache per gli articoli odierni. Poiché questi contenuti rimangono invariati durante l'arco della giornata, risulta inefficiente sollecitare continuamente il database. Un evento schedulato per la mezzanotte provvede a far scadere le cache e caricare i nuovi articoli; contestualmente, un trigger collegato a questo evento utilizza le API per pubblicare automaticamente un post di presentazione su LinkedIn.

Punto di vista: Ho deliberatamente scelto di non utilizzare framework CSS già pronti come Tailwind CSS o MudBlazor, ritenendoli troppo standardizzati e limitanti per l'espressione creativa personale. Ho preferito implementare un sistema di styling personalizzato: il tema dark risulta più eccentrico e distintivo, mentre quello light mantiene un approccio semplice e professionale.

Dal punto di vista dell'esperienza visiva, l'interfaccia che ho progettato è responsive e ottimizzata per funzionare su desktop, tablet e smartphone. Il sistema di temi dinamici che ho implementato consente di passare in tempo reale dalla modalità chiara a quella scura, adattandosi alle preferenze dell'utente. Il supporto multilingua l'ho implementato sfruttando le funzionalità native di .NET, permettendomi di offrire i contenuti in italiano e inglese senza duplicare logiche o interfacce.

La dashboard di amministrazione integrata

Il cuore operativo lato amministrazione è la dashboard di controllo che ho sviluppato, completamente integrata nel sistema principale. Qui posso visualizzare in tempo reale gli articoli in attesa di approvazione, decidere se pubblicarli, inviarli a ulteriore rielaborazione o scartarli. La dashboard integra anche lo scheduler che ho progettato, permettendomi di modificare la frequenza di esecuzione dei batch e lanciare elaborazioni straordinarie con un semplice click.

Questa integrazione completa mi ha evitato di dover sviluppare e mantenere sistemi di autenticazione duplicati, API per la comunicazione tra componenti, e meccanismi di sincronizzazione dello stato. Tutto funziona come un'unica applicazione coerente.

Sicurezza semplificata

Sul fronte della sicurezza, ho implementato un sistema di autenticazione basato su token OTP (One-Time Password) inviato via email, integrato nativamente nella piattaforma. Questo elimina password statiche e semplifica notevolmente l'accesso, con token a validità temporale limitata per massima sicurezza.

Gestione dinamica dei modelli AI

Un elemento distintivo dell'architettura che ho progettato è l'integrazione con OpenRoute per la gestione dinamica dei modelli AI. Questa caratteristica mi consente di sostituire o aggiornare il modello di generazione con una semplice configurazione, senza dovermi collegare a provider distinti.

Esperienza pratica: Ho analizzato tre modelli linguistici principali: openai/gpt-oss-20b, mistralai/mistral-small-3.2-24b-instruct e deepseek/deepseek-chat-v3.1. Il primo presentava tempi di risposta di circa 10 secondi con output relativamente concisi, tuttavia la grammatica risultava imperfetta e il lessico tendeva verso traduzioni dall'inglese piuttosto che un italiano autentico. Mistral ha fornito i risultati più equilibrati: tempi di risposta di 2-3 secondi, grammatica eccellente e contenuti pertinenti alle richieste. DeepSeek, pur richiedendo tempi più lunghi (60-90 secondi), occasionalmente superava Mistral in qualità, ma con prestazioni inconsistenti. Dopo extensive testing, ho optato per mistral-small-3.2-24b-instruct come modello predefinito, rappresentando il miglior compromesso tra velocità, qualità e affidabilità.

Osservabilità e scalabilità

L'architettura include un sistema di logging avanzato che traccia ogni operazione in modo nativo, dalle chiamate AI alle decisioni di approvazione. Questo audit trail completo è fondamentale per analisi retrospettive e troubleshooting, ed è integrato direttamente nella dashboard senza necessità di strumenti esterni.

Ho progettato la piattaforma con approccio cloud-native, utilizzando containerizzazione per portabilità e scalabilità orizzontale. Il database supporta volumi crescenti mantenendo performance ottimali, e l'architettura monolitica modulare di Blazor mi permette di scalare verticalmente senza i overhead tipici dei sistemi distribuiti.

Capitolo 7 – Conclusioni

Guardando a ritroso l'intero percorso, questo progetto si è rivelato un viaggio tanto impegnativo quanto formativo, in cui ogni fase ha rappresentato una sfida tecnica, metodologica e personale. La mia idea iniziale di affidare all'Intelligenza Artificiale l'intera pipeline, dalla selezione delle fonti fino alla pubblicazione, si è scontrata con la realtà di un dominio – quello editoriale – che richiede un'attenzione particolare alla provenienza e alla conformità legale dei contenuti.

La gestione completamente automatica delle fonti ha mostrato limiti evidenti nei miei test: troppi falsi positivi nella classificazione delle licenze, con fonti erroneamente etichettate come riutilizzabili, e un dispendio di tempo e risorse non sostenibile. Questo mi ha portato a una decisione cruciale: adottare un modello ibrido, in cui la preselezione delle fonti e la pianificazione editoriale restano sotto il mio controllo procedurale, mentre l'AI interviene nei passaggi in cui può esprimere il massimo valore aggiunto.

1
Prompt orchestratore unificato
4
Criteri di valutazione qualitativa
2
Ruoli interattivi Writer/Reviewer
JSON
Output strutturato
MoE
Architettura AI richiesta
Rating
Capacità di autovalutazione

Brainstorm con AI

Il brainstorming collaborativo con l'AI si è rivelato l'aspetto più sorprendente del progetto: la capacità di condividere idee e ricevere suggerimenti sempre più pertinenti e stimolanti ha trasformato l'approccio metodologico, privilegiando la progettazione rispetto allo sviluppo immediato. L'analisi preventiva di scenari complessi ha consentito una significativa riduzione dei tempi complessivi del progetto, evitando l'approccio improvvisato tipico del "vibe coding" che spesso conduce a vicoli ciechi o soluzioni insoddisfacenti. Copilot AI si è dimostrato un assistente prezioso, mentre l'applicazione mobile è diventata uno strumento quasi indispensabile per abbozzare idee da sviluppare successivamente o per condurre ricerche approfondite in tempo reale.

Stile di impaginazione LaTeX: Copilot mi ha suggerito un’impaginazione di livello accademico, ispirata allo stile LaTeX, con testo giustificato e sillabazione automatica. Il layout utilizza il font open source Crimson Pro, ampiamente adottato nelle pubblicazioni scientifiche ed editoriali per la sua eleganza e leggibilità..

Produzione di codice AI

Un aspetto che merita una riflessione specifica nella mia esperienza è l'uso dell'AI per la generazione del codice. L'approccio iniziale che avevo tentato, basato su metodi "a blocchi" come il viber code, si è rivelato inefficiente: troppo codice ridondante, anomalie tecniche e funzionali, e un tempo di revisione spesso superiore a quello necessario per scrivere il codice manualmente.

La best practice che ho sviluppato: Il metodo più efficace resta quello "vecchia scuola": partire da un'analisi dettagliata e da requisiti chiari. Più il requisito che fornisco è preciso, più il codice generato dall'AI risulta in linea con le mie aspettative.

Ho identificato un difetto ricorrente di "amnesie" dovuto ai limiti dei token nelle risposte e, soprattutto, al fatto che i modelli, avendo memoria limitata, tendono deliberatamente a scartare contenuti ritenuti meno rilevanti. Quando richiesti successivamente, questi contenuti vengono spesso reinventati o presentati attraverso riassunti superficiali, generando errori frequenti e inconsistenze. Questa limitazione rende indispensabile una supervisione costante e attenta di tutti gli output generati dall'AI.

La dimensione personale del mio progetto

Sul piano personale, ho sviluppato il progetto principalmente durante le ore notturne, dopo aver messo a letto mia figlia. Mia moglie aveva stabilito il divieto assoluto di toccare il PC dopo cena, così ho iniziato a sfruttare intensivamente l'app mobile di Copilot per progettare e sviluppare idee. Questo comportamento "sospetto" con lo smartphone l'ha insospettita al punto da controllarmi, convinta che avessi un'amante digitale! L'ironia è che, in un certo senso, aveva ragione: la mia relazione con l'AI era diventata piuttosto intensa. Nonostante questi divertenti ostacoli domestici, vedere prendere forma giorno dopo giorno un sistema complesso e funzionante, nato da un'idea casuale in montagna, si è rivelato estremamente appagante e ha reso ogni sacrificio notturno decisamente valsa la pena.

Anche la parte di sviluppo software ha presentato le sue sfide nella mia esperienza. L'adozione di Blazor Server e .NET 8 come framework, inizialmente ostica a causa della mia limitata familiarità e del fatto che questa versione aveva rotto la compatibilità con alcuni pattern precedenti (creando non poca confusione), si è trasformata nel tempo in un punto di forza. La coerenza con l'ecosistema .NET e la capacità di integrare naturalmente funzionalità complesse si sono rivelate caratteristiche preziose che hanno più che compensato le difficoltà iniziali.

Verso un modello che posso replicare

In conclusione, questa mia esperienza ha rafforzato una convinzione: il modello ibrido, in cui l'AI è usata in modo mirato e non totalizzante, può essere la chiave per integrare l'intelligenza artificiale nei processi aziendali e creativi. Non si tratta di "fare tutto con l'AI", ma di usarla dove serve davvero, preservando il controllo umano nei punti critici.

Le mie prospettive future: La pipeline rappresenta una base solida per ulteriori evoluzioni che sto considerando: integrazione con nuovi modelli AI, espansione a nuovi domini tematici, e ottimizzazione continua basata sui feedback degli utenti e sulle metriche di engagement.

← Torna alla Home
Project Privacy Contact

2024 MantoX Blog's

Alimentato da Intelligenza Artificiale • Sviluppato con ❤️ e Blazor.Net 8 Server