Una redazione che si verifica da sola (e quando si ferma)
Come scriviamo con l'AI gli articoli per i nostri lettori: bozze solo dai fatti del brief, quattro controlli prima di uscire, e un articolo a settimana che esce senza revisione umana solo se ogni dato è confermato.
AI · video animatoSui nostri siti teniamo una piccola biblioteca di articoli per chi compra casa: come funziona il rogito, cosa controllare in una visura, come si muove il mercato. Li scriviamo con l'AI. Da settembre, per uno dei nostri siti, un articolo a settimana esce senza che una persona lo abbia riletto. Sembra l'opposto della prudenza. In realtà è stata la parte del progetto in cui abbiamo messo più controlli. Ecco come funziona, e dove si è rotta.
La regola di partenza: solo i fatti del brief
Ogni articolo nasce da un'idea con un brief e, possibilmente, delle fonti. Il motore di scrittura ha un'istruzione che non si negozia: usa solo i fatti presenti in brief e fonti. Mai inventare numeri, percentuali, norme, scadenze, nomi o esempi. Se per completare una sezione manca un dato, il motore non riempie il buco: scrive il pezzo senza quel dato e segnala nelle note interne quale sezione e quale dato mancano.
Un articolo senza brief né fonti non si genera nemmeno: uscirebbe inventato. L'abbiamo pagato in un altro modo: le prime idee in coda avevano un brief ma zero fonti, e gli articoli uscivano magri. È stato il segnale che il problema era a monte, non nel modello.
C'è poi una cautela meno visibile. Il brief può contenere testo incollato da fuori, e un testo incollato può contenere istruzioni travestite. I valori dell'articolo vengono neutralizzati prima di entrare nel prompt, in modo che non possano chiudere o riaprire la struttura del modello di richiesta: la struttura è nostra, i dati sono soltanto dati.
Una lingua per volta
Scriviamo in più lingue. La prima versione del generatore produceva tutto in una sola chiamata enorme. Per quasi due settimane, quest'estate, non ha prodotto nessuna bozza, senza un errore da nessuna parte: la chiamata scadeva e basta. Oggi il motore scrive una lingua per volta, prima la lingua principale e poi le altre come riscritture di quella. Senza la versione principale la passata si ferma, invece di reinventare i fatti in un'altra lingua.
Due altre regole vengono dallo stesso guasto. Il tempo si guarda in avanti: non si comincia una passata che non può finire nel tempo rimasto, perché un processo ucciso a metà non scrive niente e i token si pagano lo stesso. E il motore scrive solo nei campi vuoti: quello che ha scritto una persona vince sempre.
Quest'ultima regola ha avuto un effetto collaterale istruttivo. Un articolo è andato online con il titolo uguale all'appunto con cui era nata l'idea, tutto minuscolo. Il motore aveva rispettato la regola, perché il titolo era «scritto da una persona», e aveva tradotto il resto. Nessuno l'aveva detto a nessuno. Ora un titolo che sembra un appunto è un blocco, non un dettaglio.
Quattro controlli, ognuno può fermare tutto
Prima che un articolo esca senza una persona, passa da quattro controlli in fila.
- Prontezza. I blocchi di base: titolo che sembra un appunto, corpo troppo corto, lingue mancanti.
- Nomi riservati. La stessa guardia che usiamo sulla posta: i nomi interni degli immobili e dei proprietari non escono, nemmeno per sbaglio. Se la guardia non è armata (per esempio non riesce a caricare l'elenco dei nomi), non si pubblica. Fallisce chiusa, non aperta.
- Estrazione delle affermazioni. Un modello legge il testo principale ed elenca ogni affermazione verificabile, classificandola. Le «dure» sono aliquote, importi, norme, scadenze, obblighi: se sono sbagliate fanno danno. Le «molli» sono descrittive.
- Verifica sul web. Un secondo giro, con una ricerca web vera, controlla ogni affermazione sulle fonti: prima quelle dichiarate dall'articolo, poi quelle ufficiali. L'esito per ciascuna è confermata, smentita o non verificabile, con l'indirizzo della pagina consultata davvero.
Il cancello finale è una funzione semplice, che si può collaudare senza modello e senza rete: si pubblica solo se ogni affermazione dura è confermata e nessuna è smentita. Una affermazione dura «non verificabile» ferma tutto. Meglio un buco esplicito che un dato non provato. Le fonti consultate dalla verifica si aggiungono a quelle dell'articolo, senza doppioni.
Il ritmo: uno a settimana, in tutto
Il lunedì il sistema prepara un lotto di bozze. Il martedì è la finestra per le persone: arriva un promemoria, chi vuole rilegge e programma. Il mercoledì, se in settimana non è già uscito nulla per mano umana, il sistema prende la bozza più vecchia e completa e la sottopone alla verifica.
- Se la verifica è verde, l'articolo esce, e chi segue l'editoriale riceve un promemoria con il link e il conteggio delle affermazioni controllate, con l'invito a rileggere.
- Se è rossa, la bozza riceve un contrassegno di blocco e la settimana resta vuota. Il contrassegno lo toglie solo una persona, dopo aver corretto.
- Se c'è un guasto tecnico, si riprova il giorno dopo.
Il giro ha una data di fine scritta nella configurazione: oltre quella, si spegne da solo. È un esperimento, e si comporta come tale.
Cosa la verifica non è
La verifica automatica non è una firma umana, e non finge di esserlo. Nel nostro sistema c'è un campo che significa «una persona l'ha riletto»: per gli articoli usciti da soli resta vuoto. Quando una persona rilegge e conferma, lo compila lei. L'esito della verifica vive nelle note interne, consultabile.
E il lettore lo sa. Ogni articolo porta in testa l'indicazione che è redatto con l'AI e, in fondo, un riquadro che lo spiega con il riferimento all'articolo 50 del regolamento europeo sull'AI. Senza revisione umana non c'è alternativa all'etichetta, ed è giusto così.
Dove si è rotto, e cosa resta aperto
Non tutto è a posto, e lo segniamo.
- L'esploratore dei temi muore di timeout. La funzione che cerca nuove idee sul web sfora il tempo massimo di esecuzione. Finché non mettiamo un tetto per chiamata, la coda delle idee si rifornisce a mano. Se la coda è vuota il sistema lo dice: «questa settimana non esce niente».
- Una lingua più lunga delle altre. In una delle nostre lingue lo stesso testo consuma molti più token: la traduzione usciva troncata, veniva scartata e ritentata a ogni giro, per sempre. Il tetto più alto vale ora solo per quella lingua.
- Le lingue non lette da madrelingua. Due delle nostre lingue restano marcate «da rileggere», e l'avviso si spegne solo quando una persona scrive di averle rilette. Non lo può fare il sistema.
Non pensiamo che un'AI debba scrivere senza controllo. Pensiamo che, se scrive, ogni sua affermazione importante debba essere controllata più di quanto la controllerebbe una persona di fretta. E che, quando il controllo non basta, il sistema debba saper tacere.


