<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Gianluca Mazza — Porto sistemi LLM in produzione</title>
    <link>https://gianlucamazza.it/it</link>
    <description>Scrivo articoli tecnici su sistemi LLM in produzione: integrazione dati, agenti affidabili, valutazione e ripristino.</description>
    <language>it-it</language>
    <atom:link href="https://gianlucamazza.it/it/rss.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title><![CDATA[D.Lgs. 179/2026: cosa cambia per PMI e studi professionali]]></title>
      <link>https://gianlucamazza.it/it/blog/dlgs-179-2026</link>
      <guid>https://gianlucamazza.it/it/blog/dlgs-179-2026</guid>
      <description><![CDATA[Leggo il D.Lgs. 179/2026 per PMI e studi: cosa dice il testo, cosa è solo la mia lettura e perché l’obbligo di informare i clienti sull’IA non è nuovo.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[MCP in produzione: checklist]]></title>
      <link>https://gianlucamazza.it/it/blog/mcp-production-checklist</link>
      <guid>https://gianlucamazza.it/it/blog/mcp-production-checklist</guid>
      <description><![CDATA[Prima che un server MCP tocchi dati veri controllo sette cose: hint, destinatario del token, scope, discovery OAuth, server locali, handle e log.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Il prototipo LLM funziona. Quattro domande prima della produzione]]></title>
      <link>https://gianlucamazza.it/it/blog/quattro-domande-produzione-llm</link>
      <guid>https://gianlucamazza.it/it/blog/quattro-domande-produzione-llm</guid>
      <description><![CDATA[Stato, ripristino, eval, costi: quattro domande da porsi prima di portare in produzione un prototipo LLM, con esempi reali e i limiti dichiarati.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Memoria emotiva]]></title>
      <link>https://gianlucamazza.it/it/blog/emotional-memory</link>
      <guid>https://gianlucamazza.it/it/blog/emotional-memory</guid>
      <description><![CDATA[Una libreria di memoria che richiama per umore oltre che per significato. Aiuta solo nel caso ristretto per cui è nata. Evidenza: DOI 10.5281/zenodo.19972258.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate>
      <atom:updated>2026-10-10T00:00:00.000Z</atom:updated>
    </item>
    <item>
      <title><![CDATA[Una risposta rifiutata deve comunque addebitare i token]]></title>
      <link>https://gianlucamazza.it/it/blog/mklang-output-rejected</link>
      <guid>https://gianlucamazza.it/it/blog/mklang-output-rejected</guid>
      <description><![CDATA[Se il runtime rifiuta la risposta, addebito i token della chiamata a produce che il provider ha già fatturato. Esattezza del ledger, mklang 1.3.7 / pull 111.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Una ricevuta di retrieval è il JSON che la query ha scritto]]></title>
      <link>https://gianlucamazza.it/it/blog/ragfs-retrieval-receipts</link>
      <guid>https://gianlucamazza.it/it/blog/ragfs-retrieval-receipts</guid>
      <description><![CDATA[Conservo il JSON pubblico della query RAGFS come ricevuta di retrieval: query, file, score, content e intervallo di righe. Non invento un benchmark di qualità.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[mklang: il documento è il programma]]></title>
      <link>https://gianlucamazza.it/it/blog/mklang</link>
      <guid>https://gianlucamazza.it/it/blog/mklang</guid>
      <description><![CDATA[Un file .mkl dichiarativo per macchine a stati LLM. I modelli generano. La macchina decide cosa succede dopo. Cosa il linguaggio garantisce e cosa no.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[I dati non fidati non devono decidere il flusso di controllo]]></title>
      <link>https://gianlucamazza.it/it/blog/reasoning-kernel-untrusted-data</link>
      <guid>https://gianlucamazza.it/it/blog/reasoning-kernel-untrusted-data</guid>
      <description><![CDATA[Mostro come reasoning-kernel tiene i dati non fidati fuori dal percorso degli effetti: due reasoner non fidati, un gate deterministico. Non è un certificato.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Perché ho dato agli agenti un filesystem invece di un'altra API]]></title>
      <link>https://gianlucamazza.it/it/blog/agent-filesystem</link>
      <guid>https://gianlucamazza.it/it/blog/agent-filesystem</guid>
      <description><![CDATA[Un flusso concreto di RAGFS mostra perché ho messo operazioni sui file, risultati e undo in un mount FUSE su Linux.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Architetture di memoria]]></title>
      <link>https://gianlucamazza.it/it/blog/memory-architectures</link>
      <guid>https://gianlucamazza.it/it/blog/memory-architectures</guid>
      <description><![CDATA[Ho costruito una memoria AI che recuperava record plausibili che non sapevo spiegare né riprodurre. La divisione dei contratti che l’ha resa ripristinabile.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Motori di workflow AI per sistemi durevoli e auditabili]]></title>
      <link>https://gianlucamazza.it/it/blog/ai-workflow-engines</link>
      <guid>https://gianlucamazza.it/it/blog/ai-workflow-engines</guid>
      <description><![CDATA[Il primo workflow LLM reggeva nei test manuali e crollava al riavvio. Di cosa deve davvero farsi carico un motore durevole e auditabile.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Dire che un LLM non pensa è come dire che una calcolatrice non sa fare i numeri?]]></title>
      <link>https://gianlucamazza.it/it/blog/llm-thinking-calculator</link>
      <guid>https://gianlucamazza.it/it/blog/llm-thinking-calculator</guid>
      <description><![CDATA[Dove regge e dove si spezza l'analogia tra LLM e calcolatrice: cosa dicono interpretabilità, chain-of-thought e filosofia della mente su "pensare".]]></description>
      <dc:language>it</dc:language>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <atom:updated>2026-10-06T00:00:00.000Z</atom:updated>
    </item>
    <item>
      <title><![CDATA[Far girare un piccolo modello linguistico su Xbox Series S]]></title>
      <link>https://gianlucamazza.it/it/blog/slm-on-xbox</link>
      <guid>https://gianlucamazza.it/it/blog/slm-on-xbox</guid>
      <description><![CDATA[Il modello predefinito di xllama, LFM2.5-350M, decodifica a 101,6 tok/s sulla CPU della Xbox Series S. Riporto anche l’istantanea di maggio 2026 con SmolLM2.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate>
      <atom:updated>2026-10-12T00:00:00.000Z</atom:updated>
    </item>
    <item>
      <title><![CDATA[Lezioni dalla gestione delle chiavi bancarie per gli harness di eval degli agenti]]></title>
      <link>https://gianlucamazza.it/it/blog/bank-grade-agent-evals</link>
      <guid>https://gianlucamazza.it/it/blog/bank-grade-agent-evals</guid>
      <description><![CDATA[Cinque discipline bancarie per le eval LLM: stato persistente, ripristino deterministico, doppio controllo, audit trail e piani di ripristino.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Dove CrewAI ha ceduto in due sistemi che ho migrato, e cosa uso al suo posto]]></title>
      <link>https://gianlucamazza.it/it/blog/crewai-multi-agent-production</link>
      <guid>https://gianlucamazza.it/it/blog/crewai-multi-agent-production</guid>
      <description><![CDATA[Quattro punti in cui CrewAI ha ceduto quando l’ho usato oltre le demo, e i pattern LangGraph verso cui ho migrato.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate>
      <atom:updated>2026-10-06T00:00:00.000Z</atom:updated>
    </item>
    <item>
      <title><![CDATA[Stato come API: LangGraph dopo tre riscritture]]></title>
      <link>https://gianlucamazza.it/it/blog/langgraph-workflow-orchestration</link>
      <guid>https://gianlucamazza.it/it/blog/langgraph-workflow-orchestration</guid>
      <description><![CDATA[Lo schema dello stato è la decisione più cruciale in LangGraph: tre iterazioni e perché i canali con reducer sono la primitiva giusta.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Wed, 08 Jan 2025 00:00:00 GMT</pubDate>
      <atom:updated>2026-10-10T00:00:00.000Z</atom:updated>
    </item>
    <item>
      <title><![CDATA[RAG in produzione: prima chunking e re-ranking, poi gli embedding]]></title>
      <link>https://gianlucamazza.it/it/blog/rag-systems-production</link>
      <guid>https://gianlucamazza.it/it/blog/rag-systems-production</guid>
      <description><![CDATA[Quando il retrieval è debole, cambiare gli embedding raramente lo sistema. Diagnostico prima chunking e re-ranking.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
      <atom:updated>2026-10-06T00:00:00.000Z</atom:updated>
    </item>
    <item>
      <title><![CDATA[Con tre agenti, comincio a valutare lo scambio di messaggi]]></title>
      <link>https://gianlucamazza.it/it/blog/agent-to-agent-communication</link>
      <guid>https://gianlucamazza.it/it/blog/agent-to-agent-communication</guid>
      <description><![CDATA[Le blackboard condivise cedono sotto il carico di coordinamento: i failure mode dello stato condiviso e quando serve un message bus con supervisor.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Tue, 10 Dec 2024 00:00:00 GMT</pubDate>
      <atom:updated>2026-10-26T00:00:00.000Z</atom:updated>
    </item>
    <item>
      <title><![CDATA[Cinque pattern di function calling che uso in produzione]]></title>
      <link>https://gianlucamazza.it/it/blog/llm-function-calling-patterns</link>
      <guid>https://gianlucamazza.it/it/blog/llm-function-calling-patterns</guid>
      <description><![CDATA[Cinque pattern di function calling che uso in sistemi in produzione, e gli anti-pattern che ho sostituito con questi.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Mon, 25 Nov 2024 00:00:00 GMT</pubDate>
      <atom:updated>2026-10-06T00:00:00.000Z</atom:updated>
    </item>
    <item>
      <title><![CDATA[Perché gli agenti di ricerca autonomi allucinano, e come un ciclo di critica fa emergere le affermazioni senza fonte]]></title>
      <link>https://gianlucamazza.it/it/blog/autonomous-research-agents</link>
      <guid>https://gianlucamazza.it/it/blog/autonomous-research-agents</guid>
      <description><![CDATA[Gli agenti di ricerca possono sembrare autorevoli e inventare citazioni. Un critico con fonti intercetta le affermazioni non supportate: non azzera il rischio.]]></description>
      <dc:language>it</dc:language>
      <pubDate>Fri, 15 Nov 2024 00:00:00 GMT</pubDate>
      <atom:updated>2026-08-17T00:00:00.000Z</atom:updated>
    </item>
  </channel>
</rss>