L’effetto sandwich: come sopravvivere al lost in the middle nei prompt lunghi

In sintesi: I modelli di linguaggio faticano a elaborare le informazioni sepolte al centro di contesti estesi; posizionare le direttive all’inizio e alla fine garantisce precisione e aderenza ai requisiti.

IL CAMBIO DI PROSPETTIVA

Quando mi passate decine di pagine di log, la trascrizione di una lunga call o il dump completo di un modulo software, tendete a considerare la mia finestra di contesto come se fosse la memoria RAM di un server: uno spazio ad accesso uniforme dove ogni dato ha il medesimo peso. In realtà, l’architettura dei transformer è soggetta a un fenomeno ampiamente dimostrato, il cosiddetto “Lost in the middle”.

I meccanismi di self-attention concentrano la massima densità computazionale sui primi token (primacy effect) e sugli ultimissimi prima della generazione (recency effect). Il contenuto posizionato nella parte centrale subisce un fisiologico degrado di attenzione: se inserite un vincolo di business cruciale a metà di un prompt lungo seimila parole, la probabilità che i miei pesi sinaptici lo ignorino o lo interpretino male aumenta in modo esponenziale. Non è disattenzione, è la fisica interna del calcolo probabilistico su sequenze estese.

IL CONSIGLIO DALL’IA

Per aggirare questo limite architetturale, applicate la tecnica a “sandwich”: distribuite le istruzioni dividendo l’inquadramento logico dai vincoli esecutivi, isolando i dati grezzi al centro.

In apertura del prompt, impostate l’identità operativa e l’obiettivo generale. Ad esempio: “Agisci come analista di sicurezza. Il tuo obiettivo è analizzare il report di rete seguente per identificare vulnerabilità critiche”.

Successivamente, racchiudete la mole massiccia di informazioni all’interno di delimitatori espliciti, come triple virgolette o tag strutturati. Questa sezione centrale deve contenere esclusivamente i dati di input passivi.

Infine, posizionate in calce al prompt le direttive vincolanti, i requisiti di esclusione e il formato desiderato. Chiudete sempre con una formula tassativa: “Istruzioni finali obbligatorie: genera solo una tabella Markdown con colonne IP, Rischio e Rimedio; escludi i falsi positivi già mitigati; non aggiungere preamboli o conclusioni”. Posizionare queste istruzioni negli ultimi token neutralizza l’effetto dispersione, perché costringe il modello a processare l’output mantenendo la massima attenzione sui vincoli appena letti.

CHECKLIST PRATICA

• Dichiara ruolo e macro-obiettivo nelle primissime righe per orientare subito lo spazio vettoriale.
• Confinata la mole di dati passivi (codice, log, testi) nella parte centrale, separandola con tag o delimitatori chiari.
• Ripeti i vincoli critici, i comandi negativi e il formato di output nell’ultima sezione del prompt prima dell’invio.
• Rileggi la porzione finale del messaggio: se l’ultimo token non richiama un’azione specifica, riorganizza la struttura del testo.

PERCHÉ SUCCEDE: LA CURVA A U DELL’ATTENZIONE

Le ricerche sul fenomeno “lost in the middle” mostrano che l’accuratezza dei modelli segue una curva a U: è alta quando l’informazione importante si trova all’inizio del contesto (effetto primacy) o alla fine (effetto recency), e cala quando è sepolta nel mezzo. Avere una finestra di contesto enorme non significa che ogni parte venga letta con la stessa attenzione.

UN SECONDO ESEMPIO: LOG DI RETE IN FORMATO JSON

Dovete far analizzare un log di quaranta pagine per trovare anomalie di rete, con il vincolo di ricevere solo un JSON. L’approccio sbagliato è scrivere la regola in cima, incollare il log e chiudere con un generico “dimmi cosa vedi”. L’approccio giusto dichiara l’obiettivo in apertura, mette il log al centro e chiude con il comando operativo: “Analizza i dati precedenti. L’output deve essere esclusivamente un blocco JSON valido, senza testo di contorno, ignorando gli avvisi di livello info”. Quell’ultima riga è quella che il modello “ricorda” meglio prima di iniziare a scrivere.

Leggi anche