{"id":1924,"date":"2026-03-06T14:37:49","date_gmt":"2026-03-06T13:37:49","guid":{"rendered":"https:\/\/userbot.ai\/blog\/?p=1924"},"modified":"2026-03-11T12:52:39","modified_gmt":"2026-03-11T11:52:39","slug":"dal-prompt-al-context-engineering","status":"publish","type":"post","link":"https:\/\/userbot.ai\/blog\/dal-prompt-al-context-engineering\/","title":{"rendered":"Dal prompt al contesto: sai come usare i nuovi sistemi AI?"},"content":{"rendered":"\n<p>Siamo solo a marzo 2026 e anche quest&#8217;anno, in questi pochi mesi, il campo dell&#8217;AI ha cambiato pelle pi\u00f9 volte: nuovi framework, nuovi modelli, nuovi concetti. Eppure il prompt engineering \u00e8 ancora l\u00ec, rilevante come quando GPT-3.5 \u00e8 uscito nel 2022 e ha introdotto al mondo i Large Language Models.<\/p>\n\n\n\n<p>Con l&#8217;evoluzione dei modelli, sono evoluti anche gli strumenti per controllarli. Non si trattava pi\u00f9 solo di fare domande a ChatGPT: accedendo al modello &#8220;grezzo&#8221;, si poteva configurarne il comportamento attraverso il system prompt. \u00c8 l\u00ec che vive il prompt engineering, nella configurazione permanente del modello, strutturata in sezioni classiche:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ruolo:<\/strong>&nbsp;chi \u00e8 il modello, il tono che usa, le competenze che ha;<\/li>\n\n\n\n<li><strong>Obiettivo:<\/strong>&nbsp;il compito che l&#8217;agente deve svolgere;<\/li>\n\n\n\n<li><strong>Chain-of-Thought<\/strong>&nbsp;(per i modelli non-reasoning): i passi per raggiungere quell&#8217;obiettivo;<\/li>\n\n\n\n<li><strong>Few-shots:<\/strong>&nbsp;esempi opzionali su come comportarsi in determinati scenari;<\/li>\n\n\n\n<li><strong>Formato di Output:<\/strong>&nbsp;come strutturare la risposta.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Funziona, finch\u00e9 non funziona pi\u00f9.<\/strong> Quando costruisci un progetto AI reale basandoti solo sul prompt engineering, le crepe cominciano ad apparire. Una delle pi\u00f9 documentate \u00e8 la perdita di attenzione su alcune sezioni del system prompt, studiata come il problema del &#8220;<a href=\"https:\/\/direct.mit.edu\/tacl\/article\/doi\/10.1162\/tacl_a_00638\/119630\/Lost-in-the-Middle-How-Language-Models-Use-Long\" data-type=\"link\" data-id=\"https:\/\/direct.mit.edu\/tacl\/article\/doi\/10.1162\/tacl_a_00638\/119630\/Lost-in-the-Middle-How-Language-Models-Use-Long\" target=\"_blank\" rel=\"noopener\">lost in the middle<\/a>&#8220;. Un&#8217;altra \u00e8 la tendenza del modello a dimenticare informazioni gi\u00e0 fornite nelle conversazioni precedenti. Le context window, infatti, sono finite, e riempire il prompt con tutto quello che potrebbe servire non \u00e8 una strategia: \u00e8 una scommessa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><br><\/strong>Context Engineering: i token giusti al momento giusto<\/h2>\n\n\n\n<p>C&#8217;\u00e8 chi la chiama l&#8217;evoluzione del prompt engineering. C&#8217;\u00e8 chi dice che \u00e8 un insieme di building block di cui il prompt engineering \u00e8 solo uno. L&#8217;obiettivo, per\u00f2, \u00e8 lo stesso: <strong>fornire i token giusti<\/strong> nella context window del modello esattamente quando servono.<\/p>\n\n\n\n<p>Detto cos\u00ec sembra semplice. Nella pratica, coinvolge le tecnologie pi\u00f9 complesse e recenti disponibili oggi per i sistemi AI. Quattro sono i <strong>building block principali<\/strong> su cui si costruisce un sistema di context engineering solido: il <strong>RAG<\/strong>, per recuperare informazioni rilevanti da grandi volumi di dati; la gestione della <strong>memoria<\/strong>, per mantenere lo stato tra interazioni diverse; i <strong>tool<\/strong>, per estendere le capacit\u00e0 dell&#8217;agente verso il mondo esterno; e le <strong>skill<\/strong>, per iniettare istruzioni specifiche solo quando servono. Ognuno risponde a un problema preciso, e insieme definiscono cosa significa davvero controllare il contesto di un modello.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><br><strong>RAG: come interrogare grandi quantit\u00e0 documentali<\/strong><\/strong><\/h3>\n\n\n\n<p>Immagina che il modello non abbia nessuna conoscenza pregressa dei manuali tecnici di un&#8217;azienda o di tutti i contratti o dei diversi bandi di concorso di una certa amministrazione. Se vuoi sapere, ad esempio, <strong>come effettuare la procedura di reset di un certo dispositivo<\/strong> o <strong>quali requisiti sono richiesti in un bando di concorso<\/strong> o <strong>se una clausola \u00e8 presente in un certo contratto<\/strong>, l\u2019approccio \u201ctradizionale\u201d ti costringerebbe a fornire <strong>centinaia di pagine di manuali, documentazione tecnica o documenti legali<\/strong>, rischiando di saturare la <em>context window<\/em> ancora prima di arrivare alla domanda.<\/p>\n\n\n\n<p>C&#8217;\u00e8 un modo migliore. Prima <strong>cerchi nei documenti i passaggi rilevanti<\/strong> che parlano di reset, dei requisiti di un concorso o della clausola specifica, e poi <strong>fornisci solo quelli come contesto<\/strong> al modello.<\/p>\n\n\n\n<p>\u00c8 questo il concetto alla base della Retrieval-Augmented Generation (RAG), <a href=\"https:\/\/arxiv.org\/abs\/2005.11401\" data-type=\"link\" data-id=\"https:\/\/arxiv.org\/abs\/2005.11401\" target=\"_blank\" rel=\"noopener\">introdotta da Meta Research nel 2020<\/a>. Trasformando qualsiasi mole documentale in piccoli <em>chunk<\/em> di testo e vettorizzandoli, puoi recuperare esattamente <strong>la sezione che contiene l&#8217;informazione necessaria<\/strong> e inserirla nel prompt, senza dover caricare l&#8217;intero archivio documentale.<\/p>\n\n\n\n<p>Il RAG \u00e8 la tua interfaccia verso grandi volumi di informazione. Invece di caricare tutto in anticipo sperando per il meglio, recuperi solo ci\u00f2 che \u00e8 rilevante per l&#8217;interazione corrente. <strong>Precisione, non volume.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"1080\" style=\"aspect-ratio: 1000 \/ 1080;\" width=\"1000\" controls src=\"https:\/\/userbot.ai\/blog\/wp-content\/uploads\/2026\/03\/video_rag_it.mp4\"><\/video><figcaption class=\"wp-element-caption\">Il RAG e le sue feature<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Memory Management: un cervello senza memoria<\/h3>\n\n\n\n<p>I modelli linguistici (LLM) sono stateless per default. Questo significa che ogni chiamata API riparte da zero, e la continuit\u00e0 della conversazione diventa un problema di architettura, non del modello. Se hai bisogno che un agente AI gestisca un compito in pi\u00f9 passi, come prenotare un volo e poi un hotel, il sistema deve mantenere lo stato di queste interazioni correlate nel tempo. <\/p>\n\n\n\n<p>La memoria di una conversazione pu\u00f2 essere organizzata in modi diversi, alcuni dei quali si ispirano direttamente a concetti della psicologia cognitiva:<\/p>\n\n\n\n<p><strong>Memoria a breve termine<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Working Memory (Prompt + Conversation History):<\/em>&nbsp;insieme al system prompt, vengono inviati al modello gli ultimi 10-20 messaggi scambiati tra l&#8217;agente AI e l&#8217;utente. \u00c8 il contesto immediato della conversazione.<\/li>\n<\/ul>\n\n\n\n<p><strong>Memoria a lungo termine<\/strong><\/p>\n\n\n\n<p>La memoria a lungo termine riguarda tutto ci\u00f2 che deve persistere oltre la conversazione attiva:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Memoria semantica:<\/em>&nbsp;responsabile dei fatti persistenti sull&#8217;utente, pu\u00f2 essere implementata tramite knowledge graph o ricerca RAG su informazioni rilevanti. Un esempio pratico \u00e8 iniettare nel prompt un oggetto JSON con i dati del profilo utente, come et\u00e0, nome e indirizzo, al momento dell&#8217;inferenza.<\/li>\n\n\n\n<li><em>Memoria episodica:<\/em>&nbsp;riguarda gli eventi e le interazioni passate tra utente e assistente. Si pu\u00f2 implementare tramite few-shot learning nel prompt: al modello viene mostrato un esempio concreto, &#8220;utente chiede di aprire un ticket \u2192 chiama il tool&nbsp;&#8220;<code>registrazione_ticket<\/code>&#8220;, cos\u00ec impara il comportamento senza doverlo dedurre da zero<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"803\" src=\"https:\/\/userbot.ai\/blog\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-10-alle-15.25.10.png\" alt=\"\" class=\"wp-image-1949\" srcset=\"https:\/\/userbot.ai\/blog\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-10-alle-15.25.10.png 667w, https:\/\/userbot.ai\/blog\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-10-alle-15.25.10-249x300.png 249w, https:\/\/userbot.ai\/blog\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-10-alle-15.25.10-542x653.png 542w\" sizes=\"auto, (max-width: 667px) 100vw, 667px\" \/><figcaption class=\"wp-element-caption\">I tipi di memoria<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Tools: dalla risposta giusta all&#8217;azione giusta<\/h3>\n\n\n\n<p>Immagina un agente di lead generation per Userbot. L&#8217;utente arriva in chat e chiede cosa fa il prodotto. L&#8217;agente recupera la risposta dalla knowledge base aziendale tramite il tool <code>userbot_knowledge_base<\/code> (RAG), trovando il contesto pi\u00f9 rilevante tra documentazione, casi d&#8217;uso e schede prodotto. Fino a qui, conoscenza pura.<\/p>\n\n\n\n<p>Quando l&#8217;utente scrive &#8220;vorrei una demo&#8221;. In quella frase, l&#8217;agente riconosce immediatamente l&#8217;intenzione commerciale e cambia modalit\u00e0: non risponde e basta, inizia a raccogliere i dati necessari, nome, azienda ed email. L&#8217;agente sa gi\u00e0 cosa fare perch\u00e9 il system prompt, attraverso la memoria episodica, ha gi\u00e0 collegato quell&#8217;intenzione a quell&#8217;azione precisa. Raccolti i dati, scatta la chiamata al tool&nbsp;<code>create_lead<\/code>&nbsp;e il contatto viene registrato. Per l&#8217;utente \u00e8 stata una chat. Per il sistema, un processo completato.<\/p>\n\n\n\n<p>\u00c8 questa la differenza che i tool introducono: non pi\u00f9 un agente che sa le cose, ma un agente che pu\u00f2 farle. Invece di affidarsi solo alla conoscenza acquisita durante il training, un agente con tool pu\u00f2 interrogare database esterni, effettuare ricerche in tempo reale, eseguire codice, chiamare API o interagire con servizi terzi. <\/p>\n\n\n\n<p>I tool vengono definiti accanto alla chiamata al modello come schemi strutturati, con nome e descrizione di ciascuno. Da l\u00ec, il modello decide autonomamente quando invocarli in base alla richiesta dell&#8217;utente.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"1080\" style=\"aspect-ratio: 1340 \/ 1080;\" width=\"1340\" controls src=\"https:\/\/userbot.ai\/blog\/wp-content\/uploads\/2026\/03\/articolo_tool_video.mp4\"><\/video><figcaption class=\"wp-element-caption\">l&#8217;AI fa cose: i tools<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Skills: il manuale di istruzioni&nbsp;<\/h3>\n\n\n\n<p>Introdotte da <a href=\"https:\/\/claude.com\/blog\/equipping-agents-for-the-real-world-with-agent-skills\" data-type=\"link\" data-id=\"https:\/\/claude.com\/blog\/equipping-agents-for-the-real-world-with-agent-skills\" target=\"_blank\" rel=\"noopener\">Anthropic<\/a>, le skill aggiungono un ulteriore livello di contesto, pensato specificamente per gli agenti che ragionano. La differenza fondamentale rispetto a un system prompt statico \u00e8 che l&#8217;agente accede a una skill solo quando serve, in risposta a una richiesta specifica dell&#8217;utente o quando emergono dettagli rilevanti solo in certi scenari o procedure complesse.<\/p>\n\n\n\n<p>Invece di caricare tutte le istruzioni possibili nella context window fin dall&#8217;inizio, degradando l&#8217;attenzione e aumentando i costi, le skill permettono all&#8217;agente di recuperare dinamicamente un blocco focalizzato di istruzioni nel momento giusto. \u00c8 la differenza tra un esperto che consulta il manuale solo quando si trova davanti a un caso non-routinario e uno che cerca di memorizzare l&#8217;intero manuale prima di ogni conversazione.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Il contesto \u00e8 tutto<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Il prompt engineering ha aperto la porta, ma il <strong>context engineering<\/strong> definisce cosa succede dopo averla varcata.<\/p>\n\n\n\n<p>RAG, memoria, tool e skill non sono ottimizzazioni marginali: sono la differenza tra un agente che risponde e uno che agisce, tra un sistema che funziona in demo e uno che regge in produzione. Ognuno di questi building block risolve una parte del problema. Insieme, definiscono una disciplina.<\/p>\n\n\n\n<p>Non si tratta di dare al modello pi\u00f9 informazioni. Si tratta di dargli quelle giuste, nel momento giusto, nella forma giusta. \u00c8 l\u00ec che si vede la differenza tra un sistema che impressiona in demo e uno che regge in produzione.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"Siamo solo a marzo 2026 e anche quest&#8217;anno, in questi pochi mesi, il campo dell&#8217;AI ha cambiato pelle&hellip;","protected":false},"author":8,"featured_media":1933,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"csco_display_header_overlay":false,"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_reading_time":"","csco_page_toc_navigation":"","csco_post_video_location":[],"csco_post_video_location_hash":"","csco_post_video_url":"","csco_post_video_bg_start_time":0,"csco_post_video_bg_end_time":0,"csco_post_video_bg_volume":false,"footnotes":""},"categories":[41,22,24],"tags":[100,80,132,133],"class_list":{"0":"post-1924","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-intelligenza-artificiale","8":"category-business","9":"category-tecnologia","10":"tag-ai","11":"tag-artificial-intelligence","12":"tag-context","13":"tag-engineering","14":"cs-entry","15":"cs-video-wrap"},"_links":{"self":[{"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/posts\/1924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/comments?post=1924"}],"version-history":[{"count":11,"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/posts\/1924\/revisions"}],"predecessor-version":[{"id":1958,"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/posts\/1924\/revisions\/1958"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/media\/1933"}],"wp:attachment":[{"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/media?parent=1924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/categories?post=1924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/userbot.ai\/blog\/wp-json\/wp\/v2\/tags?post=1924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}