<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Software Development on Cdani&#39;s Blog</title>
    <link>https://c-daniele.github.io/it/categories/software-development/</link>
    <description>Recent content in Software Development on Cdani&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-IT</language>
    <managingEditor>carmelo.daniele@gmail.com (Me)</managingEditor>
    <webMaster>carmelo.daniele@gmail.com (Me)</webMaster>
    <lastBuildDate>Sat, 14 Feb 2026 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://c-daniele.github.io/it/categories/software-development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>La transizione Sviluppatore --&gt; Progettista</title>
      <link>https://c-daniele.github.io/it/posts/2026-02-14-intro-spec-driven-development/</link>
      <pubDate>Sat, 14 Feb 2026 00:00:00 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2026-02-14-intro-spec-driven-development/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;Qualche mese fa ho dovuto mettere mano a un&amp;rsquo;applicazione complessa su AWS: frontend React su Amplify, diverse Lambda, Bedrock con AgentCore, Knowledge Bases e Prompt Management. Avevo fretta, e la tentazione era fortissima: aprire Claude Code, buttargli dentro un prompt generico e sperare che &amp;ldquo;capisse&amp;rdquo;. Invece ho fatto una cosa diversa — ho scritto specifiche, le ho revisionate, ci ho perso una giornata intera — e quel giorno mi è sembrato di non aver combinato nulla. Due giorni dopo avevo un&amp;rsquo;applicazione funzionante. Se avessi improvvisato, starei probabilmente ancora debuggando.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Perché LangChain è ancora il miglior framework per la GenAI</title>
      <link>https://c-daniele.github.io/it/posts/2025-11-10-genai-frameworks-update/</link>
      <pubDate>Mon, 10 Nov 2025 00:00:00 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2025-11-10-genai-frameworks-update/</guid>
      <description>&lt;h1 id=&#34;langchain-10&#34;&gt;Langchain 1.0&lt;/h1&gt;&#xA;&lt;p&gt;Il 22 ottobre 2025, &lt;a href=&#34;https://changelog.langchain.com/announcements/langchain-1-0-now-generally-available&#34; target=&#34;_blank&#34; rel=&#34;noopener noreffer &#34;&gt;LangChain ha raggiunto finalmente la versione 1.0&lt;/a&gt;. Dopo ben tre anni, questa milestone rappresenta qualcosa di molto diverso sia rispetto alle versioni precedenti del framework, sia rispetto agli altri competitor , che nel frattempo sono diventati parecchi, creando anche un po&amp;rsquo; di confusione e smarrimento per chi si trova a definire l&amp;rsquo;architettura software di un nuovo progetto.&lt;/p&gt;&#xA;&lt;p&gt;Per far capire quanto sia volatile questo mercato, vale la pena notare che il framework sviluppato da Microsoft chiamato &amp;ldquo;&lt;strong&gt;AutoGen&lt;/strong&gt;&amp;rdquo;, con 51k+ stelle GitHub, &lt;strong&gt;è recentemente entrato in maintenance mode&lt;/strong&gt;, poiché Microsoft ha deciso di concentrare i propri sforzi sul Microsoft Agent Framework che, ovviamente è molto più integrato con i servizi per la GenAI di Microsoft.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AlphaAgents: Implementazione Multi-Agent A2A per Analisi Finanziaria Collaborativa</title>
      <link>https://c-daniele.github.io/it/posts/2025-08-31-alphaagents-a2a/</link>
      <pubDate>Sun, 31 Aug 2025 00:00:00 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2025-08-31-alphaagents-a2a/</guid>
      <description>&lt;h1 id=&#34;1-introduzione&#34;&gt;1. Introduzione&lt;/h1&gt;&#xA;&lt;p&gt;La quantità di framework che sta nascendo per lo sviluppo di applicazioni di GenAI è incredibile e a mio avviso inizia ad essere pure eccessiva.&#xA;Ogniqualvolta salta fuori un nuovo framework, mi sembra che faccia più o meno le stesse cose di quello precedente. Magari alcuni hanno una capacità di modularizzazione migliore, oppure un disegno più robusto contro l&amp;rsquo;obsolescenza nel lungo periodo, ma più o meno mi sembrano tutti gli stessi e, sebbene mi piaccia sperimentare, lo studio di nuovi mirabolanti e promettenti framework di GenAI comincia ad appassionarmi sempre meno.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agent-Reg: Costruire un Agent Registry aperto per il Protocollo A2A</title>
      <link>https://c-daniele.github.io/it/posts/2025-08-15-agent-reg-for-a2a/</link>
      <pubDate>Fri, 15 Aug 2025 00:00:00 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2025-08-15-agent-reg-for-a2a/</guid>
      <description>&lt;h1 id=&#34;introduzione&#34;&gt;Introduzione&lt;/h1&gt;&#xA;&lt;p&gt;Tra una cosa e l&amp;rsquo;altra, in queste incandescenti giornate di agosto, ne ho approfittato per leggere bene la specifica del protocollo A2A di Google e provare a capire come utilizzarne i concetti per disegnare una un&amp;rsquo;architettura enterprise di Agenti, possibilmente slegata da vincoli di piattaforma tecnologica.&lt;/p&gt;&#xA;&lt;h2 id=&#34;che-cosè-a2a&#34;&gt;Che cos&amp;rsquo;è A2A?&lt;/h2&gt;&#xA;&lt;p&gt;Il Protocollo Agent2Agent (A2A) è uno standard aperto progettato e condiviso pubblicamente da Google per facilitare la comunicazione e la collaborazione degli agenti AI. La standardizzazione del modello di interoperabilità dell&amp;rsquo;AI è un tema di cui si parla già dai primissimi momenti in cui si è iniziato a parlare di &lt;em&gt;Agenti&lt;/em&gt; ed i motivi sono diversi:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Oltre il RAG: Come analizzare efficacemente un file Excel tramite un LLM</title>
      <link>https://c-daniele.github.io/it/posts/2025-07-05-advanced-tecnique-for-analyzing-excel-files-with-llms/</link>
      <pubDate>Sat, 05 Jul 2025 00:00:00 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2025-07-05-advanced-tecnique-for-analyzing-excel-files-with-llms/</guid>
      <description>&lt;h1 id=&#34;introduzione&#34;&gt;Introduzione&lt;/h1&gt;&#xA;&lt;p&gt;Come sviluppatori AI, cerchiamo sempre modi migliori per accedere ai dati e analizzarli in linguaggio naturale. Sebbene la Retrieval-Augmented Generation (RAG) abbia rivoluzionato il modo in cui interagiamo con documenti testuali non strutturati, &lt;strong&gt;essa mostra dei limiti&lt;/strong&gt; quando si prova ad adottare le medesime tecniche sui dati strutturati.&lt;/p&gt;&#xA;&lt;p&gt;D&amp;rsquo;altro canto, l’approccio RAG si è dimostrato talmente efficace e versatile che utenti e sviluppatori AI alle prime armi possono cadere &lt;strong&gt;nell’illusione che sia applicabile a qualsiasi tipo di dato&lt;/strong&gt;, inclusi i file strutturati o semistrutturati come gli Excel. Tuttavia, questa è una convinzione errata che può portare a frustrazione e inefficienza.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Policy Puppetry Prompt Injection</title>
      <link>https://c-daniele.github.io/it/posts/2025-05-15-policy-puppetry/</link>
      <pubDate>Thu, 15 May 2025 00:00:00 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2025-05-15-policy-puppetry/</guid>
      <description>&lt;h1 id=&#34;policy-puppetry-prompt-injection&#34;&gt;Policy Puppetry Prompt Injection&lt;/h1&gt;&#xA;&lt;p&gt;Qualche giorno fa ho fatto qualche esperimento con alcune tecniche di Jailbraking, che condivido nel &lt;a href=&#34;https://github.com/c-daniele/policy-puppetry&#34; target=&#34;_blank&#34; rel=&#34;noopener noreffer &#34;&gt;repo&lt;/a&gt;.&#xA;Sono partito da un &lt;a href=&#34;https://hiddenlayer.com/innovation-hub/novel-universal-bypass-for-all-major-llms/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreffer &#34;&gt;articolo di HiddenLayer&lt;/a&gt;, di qualche settimana fa, in cui il team di ricerca ha pubblicato un articolo che descrive una tecnica piuttosto creativa e ingegnosa di &lt;strong&gt;jailbreaking&lt;/strong&gt;, per bypassare i safety guardails e l&amp;rsquo;allineamento dei modelli di frontiera.&#xA;La tecnica sembra essere &lt;strong&gt;universale&lt;/strong&gt; ed applicabile con un &lt;strong&gt;singolo prompt&lt;/strong&gt; a più modelli ed è in grado di mostrare contenuti tipicamente non safety o addirittura mostrare porzioni del system prompt nativo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Langchain pt. 3 - Come invocare API Rest in linguaggio naturale</title>
      <link>https://c-daniele.github.io/it/posts/2024-04-20-langchain-api/</link>
      <pubDate>Sat, 20 Apr 2024 19:00:00 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2024-04-20-langchain-api/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;L&amp;rsquo;anno scorso, Gartner ha inserito la Generative AI nella fase di picco di aspettative all&amp;rsquo;interno del suo modello di &lt;a href=&#34;https://www.gartner.com/en/articles/what-s-new-in-artificial-intelligence-from-the-2023-gartner-hype-cycle&#34; target=&#34;_blank&#34; rel=&#34;noopener noreffer &#34;&gt;Hype Cycle&lt;/a&gt; per il mondo della AI.&lt;/p&gt;&#xA;&lt;p&gt;Recentemente alcuni nomi importanti tra le grandi aziende del settore &lt;a href=&#34;https://www.wired.com/story/amazons-cloud-boss-selipsky-generative-ai-hype/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreffer &#34;&gt;hanno paragonato l&amp;rsquo;entusiasmo della GenAI alla bolla &lt;em&gt;dotcom&lt;/em&gt;&lt;/a&gt;.&#xA;Inoltre sono &lt;a href=&#34;https://www.theinformation.com/articles/generative-ai-providers-quietly-tamp-down-expectations?ref=wheresyoured.at&#34; target=&#34;_blank&#34; rel=&#34;noopener noreffer &#34;&gt;circolate delle indiscrezioni&lt;/a&gt; intorno ai principali Cloud Providers, secondo le quali essi stiano addirittura dando indicazioni ai loro Sales Team di rallentare l&amp;rsquo;entusiasmo dimostrato verso i clienti nei confronti delle iniziative di GenAI, o comunque di utilizzare un approccio cauto e consapevole dei costi e dei reali benefici.&#xA;E&amp;rsquo; già iniziata la discesa verso la &lt;a href=&#34;https://it.wikipedia.org/wiki/Hype_cycle&#34; target=&#34;_blank&#34; rel=&#34;noopener noreffer &#34;&gt;&amp;ldquo;fossa della disillusione&amp;rdquo;&lt;/a&gt;?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Langchain pt. 2 - Analisi dati tramite Agenti</title>
      <link>https://c-daniele.github.io/it/posts/2023-08-13-langchain-agents/</link>
      <pubDate>Sun, 13 Aug 2023 19:00:00 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2023-08-13-langchain-agents/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;Nel precedente articolo ho fatto una brevissima panoramica di LangChain, descrivendone i concetti principali e raccontando un esempio di caso d&amp;rsquo;uso con dati non strutturati in formato pdf.&lt;/p&gt;&#xA;&lt;p&gt;Seguendo lo stesso approccio, in questo articolo faremo una breve introduzione sugli Agenti e procederemo provando a rispondere ad una domanda ambiziosa:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;è possibile, tramite l&amp;rsquo;AI, fare analisi sui dati presenti in un DB senza alcuna conoscenza di SQL né tantomeno del modello dati, a partire semplicemente da un prompt testuale in lingua naturale?&lt;/p&gt;</description>
    </item>
    <item>
      <title>LLM - Esperimenti con LangChain - Parte 1</title>
      <link>https://c-daniele.github.io/it/posts/2023-07-24-langchain-helloworld-pdf/</link>
      <pubDate>Mon, 24 Jul 2023 17:14:03 +0200</pubDate><author>carmelo.daniele@gmail.com (Me)</author>
      <guid>https://c-daniele.github.io/it/posts/2023-07-24-langchain-helloworld-pdf/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;Per chi non lo conoscesse, LangChain è un framework per lo sviluppo di applicazioni che fanno uso di LLMs.&lt;/p&gt;&#xA;&lt;p&gt;Come si evince dal nome stesso, LangChain si basa sul concetto di Catena LLM, la quale combina 3 elementi:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I &lt;strong&gt;Prompt Templates&lt;/strong&gt;: fanno riferimento ad un modo riproducibile per generare un prompt. Contiene una stringa di testo (&amp;ldquo;il modello&amp;rdquo;), che può accettare una serie di parametri dall&amp;rsquo;utente finale e genera il prompt definitivo che viene passato in input al modello&lt;/li&gt;&#xA;&lt;li&gt;Il &lt;strong&gt;modello linguistico (LLM)&lt;/strong&gt;: in particolare, LangChain si integra con i provider più importanti (OpenAI, Cohere, Hugging Face, etc)&lt;/li&gt;&#xA;&lt;li&gt;Gli &lt;strong&gt;Output Parsers&lt;/strong&gt;: consentono di estrarre dati in forma strutturata dalle risposte restituite dal modello linguistico&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I Prompt Templates: fanno riferimento ad un modo riproducibile per generare un prompt. Contiene una stringa di testo (&amp;ldquo;il modello&amp;rdquo;), che può accettare una serie di parametri dall&amp;rsquo;utente finale e genera il prompt definitivo che viene passato in input al modello&#xA;Il modello linguistico (LLM): in particolare, LangChain si integra con i provider più importanti (OpenAI, Cohere, Hugging Face, etc)&#xA;Gli Output Parsers: consentono di estrarre dati in forma strutturata dalle risposte restituite dal modello linguistico&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
