Con il passare del tempo, l'attenzione nell’ambito degli sviluppi AI si è spostata da un focus su come formulare istruzioni efficaci (prompt engineering) verso un concetto più esteso: il context engineering. Ogni volta che i modelli linguistici di grandi dimensioni (LLM) vengono utilizzati, il context - l’insieme dei token inclusi nel modello - diventa cruciale per ottenere un risultato mirato.

Come sottolineato, il problema centrale si presenta quando si cerca di ottimizzare l’efficacia di questi token all’interno dei limiti naturali dei modelli linguistici di grandi dimensioni. Gestire un LLM richiede di pensare in termine di contesto completo, e quindi di comprendere come una serie di informazioni inizialmente fornite possa influenzare le azioni finali del modello.

context engineering rispetto al prompt engineering

Nel lavoro quotidiano con Anthropic, il context engineering è considerato l’evoluzione del prompt engineering. Mentre il prompt engineering riguarda principalmente come organizzare istruzioni per il modello in modo ottimale (ad esempio, utilizzando prompt specifici per compiti di classificazione o generazione di testo), il context engineering prevede una strategia completa per selezionare e mantenere gli informatori rilevanti durante il processo di inferenza.

Nel contesto iniziale, l’ingegnerizzazione prompt dominava lo sviluppo di casi d’uso esteso ai modelli di linguaggio; con il crescente interesse nei modelli dotati di capacità multi-turn e a lungo termine, invece, diventa essenziale gestire tutta la finestra di contesto - come le istruzioni, gli strumenti disponibili, il protocollo MCP, dati esterni e la cronologia delle interazioni.

Agenti che operano in continuo generano nuovi dati che potrebbero essere significativi per successive inferenze, creando un universo di informazioni in costante evoluzione. Il context engineering è, quindi, l’arte e la scienza di selezionare coscientemente i dati rilevanti, che rientrino entro una finestra predefinita.

Perché il context engineering è cruciale per creare agenti efficaci

I modelli linguistici, sebbene siano veloci e in grado di trattare grandi quantità di dati, mostrano prestazioni che decadono al crescere della dimensione del contesto. Questo fenomeno è stato riconosciuto attraverso lo studio su benchmarking del tipo "ago nel pagliaio" come "context rot" - l'incapacità dei modelli di ricordare fedelmente informazioni man mano che la finestra contestuale si espande.

Un altro fattore chiave è la capacità limitata dei modelli di attenzione, analogamente a quella delle persone, che richiama all’idea di un budget di attenzione che si sottrae con ogni token aggiunto. Questo concetto emana direttamente dall’architettura di base dei modelli: i transformer operano mediante relazioni che collegate ciascun token all'altro. Questo sistema complesso genera tensione quando si estende, poiché i modelli sperimentano una riduzione nella precisione di inferenza e nell’ambito logico all’aumentare della finestra.

Le tecniche come l’interpolazione della codifica di posizione permettono di gestire sequenze più lunghe in modo efficace, sebbene siano presenti piccole degradazioni. Anche i modelli addestrati su dati brevi soffrono di prestazioni ridotte quando vengono applicati a dati lunghi. Questa complessità rende l’ingegneria del contesto fondamentale nello sviluppo di agenti AI.

L’anatomia di un contesto efficace

Data la natura limitata della capacità attenzionale, il context engineering richiede di identificare l’insieme più piccolo ma più rappresentativo di informazioni per guidare il modello in modo ottimale. Sebbene detta facile da implementare, in pratica richiede un approccio metodico e sperimentazione.

I prompts di sistema devono essere chiari e scritti in modo semplice e diretto, presentando idee ad un livello ottimale per il modello. Questo livello è un punto Goldilocks tra due estremi: da un lato, troppo dettaglio e rigidezza, dall’altro, mancanza di concretezza. Idealemente, i prompts dovettero bilanciare chiarezza con flessibilità.

Gli sviluppatori devono organizzare i contenuti in sezioni chiaramente separate, ad esempio utilizzando tag XML o titoli Markdown, come , , ## Guida agli strumenti, ## Descrizione dell'output, ecc. Il formato specifico non importa; ciò che importa è ottenere un'istruzione minima capace di ottenere il miglior risultato.

Per testare efficacemente, si consiglia di iniziare con un set di istruzioni minimo, utilizzando il miglior modello disponibile per osservarlo in azione. Successivamente, si perfeziona aggiungendo istruzioni e esempi mirati.

Lo strumento come componente chiave

Gli strumenti permettono all'agente AI di interagire con l’ambiente esterno introducendo nuove informazioni contestuali. È fondamentale che gli strumenti siano efficienti, minimizzando i token richiesti e garantendo precisione operativa.

In articoli precedenti, si è sottolineata l’importanza di creare strumenti chiaramente definiti per l’utilizzo del modello, funzionalmente non sovrapposti e adatti all’uso AI. Gli strumenti dovrebbero essere autonomi, resistenti agli errori e con un uso chiaro, specifico e comprensibile.

Un errore comune è il sovraccarico di strumenti con funzioni non distinte, creando confusione al modello. La chiarezza è la chiave per permettere all’agente di operare in maniera ordinata e precisa.