Intelligenza artificiale generativa: cos’è il context-engineering e perché è cruciale nello sviluppo IA

Intelligenza artificiale generativa: cos’è il context-engineering e perché è cruciale nello sviluppo IA

Home » Sviluppo Software » Intelligenza artificiale generativa: cos’è il context-engineering e perché è cruciale nello sviluppo IA

Progetta Agenti AI partendo dal giusto contesto

Per i primi anni abbiamo imparato a conoscere e usare l’intelligenza artificiale generativa attraverso la logica dei prompt. Oggi si fa strada un approccio nuovo, non più basato solo sui comandi da assegnare a un LLM, ma incentrato sul contesto ottimizzato di istruzioni e informazioni entro cui chiediamo all’LLM di muoversi. Dal prompt-engineering stiamo passando al context-engineering. In questo articolo vediamo cos’è e come impatta sullo sviluppo IA. 

  • Cos’è il contesto nello sviluppo di generative ai solution 
  • Prompt-engineering vs context-engineering nei software di intelligenza artificiale 
  • Vantaggi del context-engineering per i software di intelligenza artificiale generativa 
  • Conclusioni 

Cos’è il contesto nello sviluppo di generative ai solution

Credit immagine: Paul Schmid

Cos’è il contesto nello sviluppo di generative ai solution

Il contesto che forniamo agli LLM nello sviluppo di generative ai solution può determinare il successo o il fallimento di un progetto di intelligenza artificiale generativa.  

Il contesto comprende diversi elementi, che il context-engineering ha il compito di ottimizzare. Come spiega Paul Schmid, tra i massimi esperti in materia, “Non si tratta solo del singolo prompt inviato a un LLM. Pensatelo come tutto ciò che il modello vede prima di generare una risposta”: 

  • Set iniziale di istruzioni 
  • Richiesta inviata dall’utente 
  • Memoria a breve termine: cronologia della conversazione recente con l’LLM 
  • Memoria a Lungo termine: knowledge base, conversazioni passate, preferenze memorizzate dell’utente, etc. 
  • RAG (Retrieval Augmented Genration): conoscenze esterne e aggiornate, informazioni pertinenti provenienti da documenti aziendali, database o API  
  • Strumenti e funzioni integrati (ad esempio, check_inventory, send_email). 
  • Definizioni sul formato della risposta del modello, ad esempio un oggetto JSON. 

Come possiamo intuire, il contesto che indichiamo a un LLM può includere tantissime informazioni. Non tutte, però, saranno ottimizzate rispetto all’obbiettivo del mio software di intelligenza artificiale generativa. E’ qui che entra in gioco il valore aggiunto del context-engineering nel plasmare i servizi di intelligenza artificiale sul modello di business delle aziende. 

Si passa da un modello che ci fornisce dati generici a uno che crea soluzioni in grado di interpretare davvero il business value della mia azienda, partendo dai miei dati, dalle mie competenze. 

Prompt-engineering vs context-engineering nei software di intelligenza artificiale

Affinché un software di intelligenza artificiale offra risposte precise e pertinenti, è necessario capire la differenza tra prompt-engineering vs context-engineering.  

Nonostante la loro velocità e la capacità di gestire volumi di dati sempre maggiori, gli LLM – fanno notare da Anthropic – a un certo punto perdono la concentrazione o si confondono. Ecco perché è importante definire bene il contesto entro cui un LLM si dovrà muovere per fornire le giuste risposte.  

Mentre il prompt-engineering consiste nella definizione di una sequenza perfetta di istruzioni in una singola stringa di testo, l’ingegneria del contesto va oltre. E’ la configurazione di sistemi dinamici che forniscono le informazioni e gli strumenti giusti, nel formato giusto, al momento giusto, per dare a un LLM tutto ciò di cui ha bisogno per portare a termine un compito. Si tratta di un processo iterativo in cui la fase di curation è fondamentale per decidere di volta in volta cosa passare al modello.  

 

context-engineering nei software di intelligenza artificiale

Credit immagine: Anthropic 

 

Studi di benchmarking sul comportamento dei modelli di intelligenza artificiale generativa, infatti, hanno rilevato un dato inequivocabile. All’aumentare del numero di token (informazioni) nella finestra di contesto, la capacità del modello di richiamare accuratamente le informazioni da quel contesto diminuisce. 

Vantaggi del context-engineering per i software di intelligenza artificiale generativa

Il Contex-engineering è essenziale per creare agenti AI efficaci. Una progettazione del contesto accurata produce diversi vantaggi per i software di intelligenza artificiale generativa. Definire il set minimo di informazioni di contesto entro cui l’LLM si muoverà, gli permetterà di fornire risposte più complete e pertinenti, che massimizzino la probabilità di un risultato desiderato. 

Ottimizzazione del “budget di attenzione” per risposte più pertinenti 

Quando analizzano grandi volumi di informazioni, gli LLM attingono a un “budget di attenzione”. Ad ogni nuovo token introdotto si riduce questo budget, per i vincoli determinati dall’architettura degli LLM. Questo fenomeno nei software con intelligenza artificiale è noto come “context rot”: quando si accumulano troppi token, la loro capacità di richiamare accuratamente ciò che è nei contesti più distanti degrada. Il context-engineering degli AI generative tool insegna a trattare il contesto come una risorsa scarsa: selezionare il “set minimo di token ad alto segnale” ottimizza la qualità della risposta, evita confusione e riduce latenza e costi.  

Migliore coerenza e affidabilità dell’ia generativa su flussi di azioni

Un agente di ia generativa che deve compiere molte azioni (estrarre dati, invocare API, generare output, ripetere logica) rischia di perdere coerenza se ogni step rielabora il contesto da zero. Con il context-engineering si definisce un “contesto operativo” stabile: istruzioni, strumenti, memoria e regole persistenti. Questo permette di evitare risultati incoerenti. 

 Scalabilità generative AI solution su sistemi enterprise 

In un contesto aziendale reale, il context-engineering permette di fornire ai servizi di intelligenza artificiale la giusta consapevolezza per agire con pertinenza e precisione: orchestrare azioni, applicare policy interne, gestire informazioni nella memoria a breve e lungo termine, personalizzare degli output.  

 Adattabilità dei software IA a un contesto dinamico 

Il context-engineering permette ai software ia IA di adattare il contesto al momento, in base al compito da svolgere, prima della chiamata principale all’LLM. Nella pratica significa fornire all’LLM il giusto set di informazioni in base alla domanda che stiamo facendo all’agente. Nel caso di una generative AI solution per l’assistenza al cliente, ad esempio, il contesto migliore potrà essere costituito da informazioni tecniche in un caso, o dallo storico delle variazioni di prezzo in un altro caso. Delimitare bene il perimetro del contesto, eliminando il rumore di fondo irrilevante, permetterà di evitare “allucinazioni” dell’agente per ogni singola risposta. 

Conclusioni

Con l’avvento degli agenti di intelligenza artificiale, la qualità del contesto che selezioniamo e forniamo determinerà il successo o il fallimento degli agenti stessi. Quando parliamo di sviluppo IA, non si tratta più solo di affinare i modelli esistenti o concentrarsi sul prompting: quella fase è ormai consolidata. Oggi, per creare strumenti di intelligenza artificiale generativa in grado di generare valore reale nell’ambito di soluzioni entreprise, la partita si giocherà su nuove competenze di context-engineering.  Se con la tua agenzia di sviluppo software vuoi restare aggiornato su questi temi, segui le guide sull’ ia in software development del nostro Head of Software Engineering Davide De Sio e non perderti i nostri eventi pubblici per approfondire le ultime AWS generative ai solutions.