Session

Un copilot dentro un documento strutturato: perché il RAG ingenuo non basta

Una sceneggiatura non è un testo lineare, è un grafo di scene, personaggi e relazioni. Il primo copilot che ci ho messo dentro girava su un RAG standard: spezza il documento, calcola gli embedding, recupera i pezzi più simili. Le risposte erano credibili e sbagliate. Il modello non sapeva che la battuta a pagina 58 è dello stesso personaggio entrato a pagina 12, che quella scena era già stata riscritta tre volte, o che in quel momento l'utente stava guardando proprio lì.

Racconto l'architettura uscita da quel fallimento, mentre costruisco Typewrite, un ambiente di scrittura per sceneggiatori.

Il documento diventa un grafo invece che una stringa. Ogni nodo ha un id che sopravvive alle riscritture, e il contesto si naviga per relazione: chi parla, in che scena, dopo cosa.

Tra editor e modello passa una struttura tipizzata. Decide l'editor cosa entra nel contesto, perché è lui a sapere dove sta lavorando l'utente, e di ogni pezzo che arriva al modello si può ricostruire la provenienza.

Sopra c'è un gateway, e sotto il gateway ci sono gli evals. Ho confrontato più modelli di quattro provider sullo stesso task di estrazione strutturata da una sceneggiatura, con un gold set annotato a mano: porto i numeri di accuratezza, latenza e costo. Il dato che mi ha sorpreso è quanto cambia il vincitore a seconda del task, e quanto sono diversi tra loro i meccanismi nativi di structured output. È il motivo per cui il routing è finito nell'architettura invece che in un file di configurazione.

Una parte della sessione sta sugli approcci che ho buttato via e sui conti che mi sono esplosi in mano.

Sullo stato del progetto: l'editor è in TypeScript su ProseMirror e TipTap, con un page engine scritto da zero, funzionante e testato. Il livello AI è in implementazione. Qui racconto le decisioni di architettura e il benchmark che le ha guidate, non un sistema già in produzione.


Disponibile in italiano e in inglese. Funziona come talk da 25-30 minuti o in versione da 45 con la parte di benchmark estesa. Livello intermedio: presuppone familiarità con le API dei modelli e con il retrieval di base. Codice e dati del benchmark mostrati dal vivo. Prima erogazione: candidato a DevFest Alps 2026.

Salvatore Contino

Founder e CEO di Animora · Cursor Ambassador · Microsoft Developer Insider · Mentore Startup Geeks

Turin, Italy

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top