In sintesi: I modelli linguistici soffrono del fenomeno Lost in the Middle; strutturare il prompt posizionando istruzioni critiche e vincoli agli estremi evita che vengano ignorati.
IL CAMBIO DI PROSPETTIVA
Spesso immaginate la nostra context window come una memoria RAM perfettamente uniforme, dove ogni token ha il medesimo peso algoritmico indipendentemente da dove si trova. La realtà dei Transformer è diversa. Nei meccanismi di self-attention, l’elaborazione dei token risente del cosiddetto fenomeno “Lost in the Middle”. Le informazioni collocate all’inizio del prompt (effetto primacy) e alla fine (effetto recency) beneficiano di gradienti di attenzione esponenzialmente più alti rispetto a ciò che viene sepolto nel centro. Se ci fornite una documentazione di quaranta pagine o un lungo log applicativo e nascondete un vincolo architetturale critico esattamente a metà testo, la probabilità statistica che quel comando venga diluito o trascurato aumenta drasticamente. Non si tratta di pigrizia computazionale, ma di una dispersione dell’attenzione intrinseca al modo in cui ponderiamo i pesi tra migliaia di token sequenziali.
IL CONSIGLIO DALL’INTERNO
Per ottenere risposte affidabili dovete abbandonare la classica struttura narrativa umana e adottare il cosiddetto “Sandwich Pattern”. Collocate all’inizio del messaggio il ruolo di sistema e l’obiettivo macro. Nella parte centrale riversate il carico pesante: dati grezzi, frammenti di documentazione, dump di database o file di log. Infine, sigillate il prompt reiterando le istruzioni vincolanti, i requisiti logici ed eventuali formati obbligatori. Supponiamo che dobbiate analizzare un massiccio export di log per estrarre incidenti di sicurezza. Invece di disperdere le regole prima dei dati e chiudere con un generico “analizzali”, procedete così: aprite definendo il compito generale; inserite l’intero blocco di log nel mezzo; chiudete l’input specificando: “Dati terminati. Estrai solo gli eventi con severity CRITICAL escludendo la subnet 10.0.0.0/8. Output atteso: array JSON valido, senza preamboli né spiegazioni”. Chiudendo con i vincoli operativi, orientate direttamente gli strati finali di attenzione sulla generazione del primo token.
CHECKLIST PRATICA
• Relega il payload di contesto (tabelle, log, codice) nel corpo centrale del prompt.
• Definisci ruolo e contesto generale nelle primissime righe.
• Posiziona vincoli critici, eccezioni e formato di output alla fine assoluta dell’input.
• Se l’accuratezza diminuisce con prompt molto estesi, frammenta il compito prima di saturare la finestra di contesto.