<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gemini 3 Flash on Melabit</title>
    <link>https://static.233.196.69.159.clients.your-server.de/it/tags/gemini-3-flash/</link>
    <description>Recent content in Gemini 3 Flash on Melabit</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Mon, 16 Mar 2026 18:00:00 +0000</lastBuildDate>
    <atom:link href="https://static.233.196.69.159.clients.your-server.de/it/tags/gemini-3-flash/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Antigravity: l&#39;LLM lo fa meglio</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2026/03/16/antigravity-l-llm-lo-fa-meglio/</link>
      <pubDate>Mon, 16 Mar 2026 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2026/03/16/antigravity-l-llm-lo-fa-meglio/</guid>
      <description>&lt;p&gt;Nelle ultime settimane ho scritto delle mie esperienze con Antigravity, o meglio con gli &lt;em&gt;agenti&lt;/em&gt; (più o meno) &lt;em&gt;intelligenti&lt;/em&gt; integrati in questo editor. I risultati sono stati contrastanti: a volte &lt;a href=&#34;https://melabit.com/it/2026/01/21/sorpresa-antigravity/&#34;&gt;gli agenti si sono dimostrati molto efficaci&lt;/a&gt;, alleviando con precisione alcuni compiti complessi o ripetitivi, in altri casi &lt;a href=&#34;https://melabit.com/it/2026/02/16/antigravity-dalla-sorpresa-al-dubbio/&#34;&gt;non hanno combinato niente di buono&lt;/a&gt; facendo solo perdere una montagna di tempo.&lt;/p&gt;&#xA;&lt;h4 id=&#34;programmare-male-con-lllm&#34;&gt;Programmare male con l&amp;rsquo;LLM&lt;/h4&gt;&#xA;&lt;p&gt;Fra tutti gli impieghi più o meno utili degli LLM, uno dei più controversi è l&amp;rsquo;idea che chiunque possa usare un LLM per programmare, anche quando di programmazione non se ne sa una cippa. È il cosidetto &lt;em&gt;vibe coding&lt;/em&gt;, un concetto che si può &lt;a href=&#34;https://x.com/karpathy/status/1886192184808149383&#34;&gt;riassumere così&lt;/a&gt;: &amp;ldquo;vedo cose, dico cose, copio e incollo cose, e nella maggior parte dei casi funziona&amp;rdquo;. Non è una citazione da &lt;a href=&#34;https://www.youtube.com/watch?v=-w9EBTB8a3Y&#34;&gt;Nanni Moretti&lt;/a&gt;, lo dice Andrej Karpathy, uno dei fondatori di OpenAI.&lt;/p&gt;&#xA;&lt;p&gt;Ora, mettendo da parte le tante questioni relative alla sicurezza, alla manutenibilità di codice prodotto senza sapere bene cosa fa, alla &lt;a href=&#34;https://taylorandfrancis.com/knowledge/Engineering_and_technology/Engineering_support_and_special_topics/Regression_to_the_mean/&#34;&gt;deriva verso la media&lt;/a&gt; che implica che la qualità del codice prodotto dall&amp;rsquo;IA tenderà inevitabilmente a crollare, basta sperimentare un po&amp;rsquo; in prima persona, anche con progetti semplici, per accorgersi che l&amp;rsquo;idea del &lt;em&gt;coding per tutti&lt;/em&gt; non funziona, e che se vuoi ottenere qualcosa di buono dall&amp;rsquo;IA devi sapere bene cosa vuoi e come lo vuoi.&lt;/p&gt;&#xA;&lt;p&gt;Ci ho provato io stesso a fare &lt;em&gt;vibe coding&lt;/em&gt;: ho chiesto a Gemini di &lt;a href=&#34;https://melabit.com/it/2026/03/04/antigravity-un-driver-scritto-dall-ia/&#34;&gt;scrivere un driver per una videocamera Arducam&lt;/a&gt;, spiegandogli solo le cose indispensabili a aspettando che facesse tutto da solo.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Questo approccio però non ha funzionato. Ci sono volute ore ed ore di lavoro, di errori, di risposte inconcludenti, di correzioni e di consigli per raggiungere un risultato accettabile.&lt;/p&gt;&#xA;&lt;p&gt;E questo solo perché a un certo punto ho buttato alle ortiche l&amp;rsquo;idea di far fare tutto a Gemini e gli ho dato dei consigli su come procedere. Senza quelli sarebbe stato solo un sacco di tempo buttato via inutilmente.&lt;/p&gt;&#xA;&lt;div style = &#34;border-style: solid; border-width: 0px 0px 0px 12px; border-color: #03a87c; background-color: #defef6; padding: 1em; color:black; font-size:100%;&#34;&gt;&#xA;&lt;p&gt;Anche &lt;a href=&#34;https://emeralit-muloblog.statichost.page/&#34;&gt;Mimmo&lt;/a&gt; ha provato, in modo del tutto indipendente da me, a far scrivere a &lt;a href=&#34;https://lumo.proton.me&#34;&gt;Lumo&lt;/a&gt; un programma in Micropython per gestire la mia Arducam Mini 5MP Plus con il Pico. E anche Lumo, che è senza dubbio uno dei migliori chatbot in circolazione, non ce l&amp;rsquo;ha fatta da solo.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/br&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/Gemini_Generated_Image_jb08gsjb08gsjb08.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Immagine generata da &lt;a href=&#34;https://gemini.google.com&#34;&gt;Google Gemini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;programmare-meglio-con-lo-stesso-llm&#34;&gt;Programmare meglio con lo stesso LLM&lt;/h4&gt;&#xA;&lt;p&gt;Tutto questo però non significa che un LLM non possa essere prezioso quando si programma, basta solo usarlo come si deve. Bisogna spiegargli per filo e per segno cosa deve fare, mettergli a disposizione tutto il materiale che gli serve per lavorare, e piazzargli dei paletti entro cui deve muoversi.&lt;/p&gt;&#xA;&lt;p&gt;In poche parole, bisogna trattarlo come un tesista o una stagista, con poca esperienza ma tanta voglia di imparare.&lt;/p&gt;&#xA;&lt;p&gt;Sono bastati infatti due prompt scritti con criterio, il primo che definiva la struttura delle directory del progetto e istruiva l&amp;rsquo;agente ad usare fin dall&amp;rsquo;inizio &lt;code&gt;git&lt;/code&gt; per il controllo di versione del codice e &lt;code&gt;uv&lt;/code&gt; per installare i pacchetti Python che gli sarebbero potuti servire,&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;    &#xA;    &lt;p&gt;Start a new project and name it &lt;code&gt;project13-pico-camera5mp-reprise&lt;/code&gt;.&lt;/p&gt;&#xA;    &lt;p&gt;Read the &lt;code&gt;AGENTS.md&lt;/code&gt; file that defines your basic behaviour.&lt;/p&gt;&#xA;    &lt;p&gt;Create a new directory with this name and initialize an empty &lt;code&gt;git&lt;/code&gt; repository using &lt;code&gt;git init&lt;/code&gt;&#xA;    Use &lt;code&gt;uv&lt;/code&gt; for managing Python packages.&#xA;    All the code must stay in the &lt;code&gt;code&lt;/code&gt; directory, with no subdirectories within it.&#xA;    This project does not need a &lt;code&gt;data&lt;/code&gt; directory and the &lt;code&gt;output&lt;/code&gt; directory must be renamed as &lt;code&gt;images&lt;/code&gt;.&lt;/p&gt;&#xA;    &#xA;&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;e il secondo che conteneva tutto quello che mi è venuto in mente per aiutarlo a lavorare,&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;    &#xA;    &lt;p&gt;I have a Rasperry Pi Pico 2W connected to a Arducam 5MP Plus OV5642 Mini Module Camera Shield (&lt;a href=&#34;https://www.arducam.com/arducam-5mp-plus-spi-cam-arduino-ov5642.html%29&#34;&gt;https://www.arducam.com/arducam-5mp-plus-spi-cam-arduino-ov5642.html)&lt;/a&gt;.&lt;/p&gt;&#xA;    &lt;p&gt;I have connected the camera to the Pico using the standard layout found in the documentation:&lt;/p&gt;&#xA;    &lt;table&gt;&#xA;      &lt;thead&gt;&#xA;          &lt;tr&gt;&#xA;              &lt;th&gt;Camera&lt;/th&gt;&#xA;              &lt;th&gt;CS&lt;/th&gt;&#xA;              &lt;th&gt;MOSI&lt;/th&gt;&#xA;              &lt;th&gt;MISO&lt;/th&gt;&#xA;              &lt;th&gt;SCK&lt;/th&gt;&#xA;              &lt;th&gt;GND&lt;/th&gt;&#xA;              &lt;th&gt;VCC&lt;/th&gt;&#xA;              &lt;th&gt;SDA&lt;/th&gt;&#xA;              &lt;th&gt;SCL&lt;/th&gt;&#xA;          &lt;/tr&gt;&#xA;      &lt;/thead&gt;&#xA;      &lt;tbody&gt;&#xA;          &lt;tr&gt;&#xA;              &lt;td&gt;Pico&lt;/td&gt;&#xA;              &lt;td&gt;GP5&lt;/td&gt;&#xA;              &lt;td&gt;GP3&lt;/td&gt;&#xA;              &lt;td&gt;GP4&lt;/td&gt;&#xA;              &lt;td&gt;GP2&lt;/td&gt;&#xA;              &lt;td&gt;GND&lt;/td&gt;&#xA;              &lt;td&gt;3V3&lt;/td&gt;&#xA;              &lt;td&gt;GP8&lt;/td&gt;&#xA;              &lt;td&gt;GP9&lt;/td&gt;&#xA;          &lt;/tr&gt;&#xA;      &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;p&gt;The main documentation for the camera can be found at these links:&lt;/p&gt;&#xA;    &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://docs.arducam.com/Arduino-SPI-camera/Legacy-SPI-camera/Introduction/&#34;&gt;https://docs.arducam.com/Arduino-SPI-camera/Legacy-SPI-camera/Introduction/&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://docs.arducam.com/Arduino-SPI-camera/Legacy-SPI-camera/Hardware/Arducam-Shield-Mini-5MP-Plus/&#34;&gt;https://docs.arducam.com/Arduino-SPI-camera/Legacy-SPI-camera/Hardware/Arducam-Shield-Mini-5MP-Plus/&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://docs.arducam.com/Arduino-SPI-camera/Legacy-SPI-camera/Software/Quick-Start-Guide/&#34;&gt;https://docs.arducam.com/Arduino-SPI-camera/Legacy-SPI-camera/Software/Quick-Start-Guide/&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://docs.arducam.com/Arduino-SPI-camera/Legacy-SPI-camera/Pico/Camera-Module/SPI-Camera/&#34;&gt;https://docs.arducam.com/Arduino-SPI-camera/Legacy-SPI-camera/Pico/Camera-Module/SPI-Camera/&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://www.uctronics.com/download/Image_Sensor/OV5642_DS.pdf&#34;&gt;https://www.uctronics.com/download/Image_Sensor/OV5642_DS.pdf&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://blog.arducam.com/downloads/shields/ArduCAM_Camera_Shield_Software_Application_Note.pdf&#34;&gt;https://blog.arducam.com/downloads/shields/ArduCAM_Camera_Shield_Software_Application_Note.pdf&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://www.uctronics.com/download/Amazon/B0067-B0068-Pico.pdf&#34;&gt;https://www.uctronics.com/download/Amazon/B0067-B0068-Pico.pdf&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;/ul&gt;&#xA;    &lt;p&gt;The code to drive this camera with the Pico is written in C (i.e., for Arduino) and CircuitPython, and can be found here: &lt;a href=&#34;https://github.com/ArduCAM/PICO_SPI_CAM&#34;&gt;https://github.com/ArduCAM/PICO_SPI_CAM&lt;/a&gt;. You can download all the files you need from this repository.&#xA;    In particular, the files for CircuitPython are in the &lt;code&gt;Python&lt;/code&gt; directory:&lt;/p&gt;&#xA;    &lt;ul&gt;&#xA;    &lt;li&gt;&lt;code&gt;Arducam.py&lt;/code&gt;, which contains the functions to drive the camera,&lt;/li&gt;&#xA;    &lt;li&gt;&lt;code&gt;OV5642_reg.py&lt;/code&gt; which, as far as I have understood, defines the resolutions  allowed  when taking pictures, and&lt;/li&gt;&#xA;    &lt;li&gt;&lt;code&gt;boot.py&lt;/code&gt; , but I don&amp;rsquo;t know what it does.&#xA;    In the same directory there is also the script &lt;code&gt;ArduCAM_Mini_5MP_Plus_VideoStreaming.py&lt;/code&gt; which sends the video captured by the camera to a Windows application and that is of no use here.&lt;/li&gt;&#xA;    &lt;/ul&gt;&#xA;    &lt;p&gt;Please write a basic CircuitPython script that uses the functions defined in &lt;code&gt;Arducam.py&lt;/code&gt; to test that the camera works and can take photos.&lt;/p&gt;&#xA;    &#xA;&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;per permettere a &lt;code&gt;Gemini 3 Flash&lt;/code&gt; di generare rapidamente uno script in CircuitPython che gira direttamente sul Pico e che fa tutto quello che gli è stato chiesto.&lt;/p&gt;&#xA;&lt;p&gt;In verità, la primissima versione dello script non funzionava, ma è bastato a Gemini modificare una sola riga del driver &lt;code&gt;Arducam.py&lt;/code&gt; fornito dal produttore per mettere tutto a posto (ha tolto uno zero al valore della frequenza).&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/one-line-diff.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/one-line-diff.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&#xA;&amp;ndash; &lt;em&gt;La linea evidenziata in azzurro indica l&amp;rsquo;unica modifica effettuata da Gemini al file &lt;code&gt;Arducam.py&lt;/code&gt;; a sinistra il file originale, a destra quello modificato da Gemini.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tutti gli altri file forniti dal produttore sono rimasti intatti.&lt;/p&gt;&#xA;&lt;p&gt;Alla prova dei fatti, il driver del produttore funzionava benissimo con il Pico e Gemini si è limitato ad imparare ad usarlo per scrivere lo script che cattura l&amp;rsquo;immagine direttamente dal microcontroller (una cosa che con un po&amp;rsquo; di pazienza avrei potuto fare anch&amp;rsquo;io).&lt;/p&gt;&#xA;&lt;h4 id=&#34;guidare-lllm-o-lasciarlo-fare-da-solo&#34;&gt;Guidare l&amp;rsquo;LLM o lasciarlo fare da solo?&lt;/h4&gt;&#xA;&lt;p&gt;La differenza rispetto al &lt;em&gt;vibe coding&lt;/em&gt; della &lt;a href=&#34;https://melabit.com/it/2026/03/04/antigravity-un-driver-scritto-dall-ia/&#34;&gt;volta scorsa&lt;/a&gt; è abissale.&lt;/p&gt;&#xA;&lt;p&gt;In quel caso Gemini aveva lavorato furiosamente per ore, combinando dei tali casini da costringermi a riavviare per ben due volte il Mac. E nel frattempo si era convinto (e mi aveva convinto) che il driver &lt;code&gt;Arducam.py&lt;/code&gt; fosse incompatibile con Il Pico e l&amp;rsquo;aveva riscritto da zero, buttando via una libreria essenziale per interloquire con la videocamera (quella indicata dalla freccia rossa),&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/diff-libraries.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/diff-libraries.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&#xA;&amp;ndash; &lt;em&gt;Modifiche alle prime righe del file &lt;code&gt;Arducam.py&lt;/code&gt;; a sinistra il file originale, a destra come appare lo stesso file dopo le modifiche di Gemini. La freccia indica una libreria importante che viene rimossa di peso da Gemini.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;e togliendo senza nessun motivo, e senza nemmeno un guadagno reale in termini di efficienza o di funzionalità (anzi!), la maggior parte delle funzioni definite nello stesso file (si noti nell&amp;rsquo;immagine qui sotto la differenza nella lunghezza del codice originale, a sinistra, rispetto a quello modificato, a destra).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/diff-file-length.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/diff-file-length.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&#xA;&amp;ndash; &lt;em&gt;Modifiche al file &lt;code&gt;Arducam.py&lt;/code&gt;. I rettangoli rossi mettono in evidenza la differenza fra il numero di righe del codice originale (a sinistra) e di quello modificato da Gemini (a destra).&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;E non contento di tutto ciò, aveva pure stravolto il file &lt;code&gt;OV5642_reg.py&lt;/code&gt; contenente i dati di configurazione della videocamera, adducendo dei presunti problemi di memoria. Problemi che evidentemente non esistevano, visto che in questo secondo esperimento tutto è filato liscio usando il file originale del produttore.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/diff-registers.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-16-antigravity-l-llm-lo-fa-meglio/diff-registers.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&#xA;&amp;ndash; &lt;em&gt;Modifiche al file &lt;code&gt;OV5642_reg.py&lt;/code&gt;, contenente i dati di configurazione della videocamera. La configurazione originale (a sinistra) è stata totalmente stravolta da Gemini (a destra).&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;e-arduino&#34;&gt;E Arduino?&lt;/h4&gt;&#xA;&lt;p&gt;Arrivato a questo punto era inevitabile che chiedessi a Gemini di generare anche il driver per Arduino, usando le stesse informazioni che gli avevo già fornito per CircuitPython.&lt;/p&gt;&#xA;&lt;p&gt;Questa volta Gemini ha penato di più, ma soprattutto perché gli avevo imposto di effettuare solo delle modifiche minime alle librerie originali Arducam. Un vincolo che questa volta era impossibile da soddisfare, perché queste librerie non supportano nativamente il Raspberry Pi Pico.&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;answer&#34; open&gt;&#xA;    &lt;summary class=&#34;answer&#34;&gt;&#xA;        Risposta&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;answer&#34;&gt;&#xA;        &#xA;    &#xA;    &lt;strong&gt;Researching Arducam Library Compatibility&lt;/strong&gt;&#xA;    I&amp;rsquo;ve thoroughly inspected both the original &lt;code&gt;ArduCAM&lt;/code&gt; library and the &lt;code&gt;Arducam_mini&lt;/code&gt; library. Neither version contains native support for the RP2040/RP2350 (Pico) architecture. Specifically, both libraries are missing the necessary definitions for &lt;code&gt;regtype&lt;/code&gt;, &lt;code&gt;regsize&lt;/code&gt;, &lt;code&gt;cbi&lt;/code&gt;, and &lt;code&gt;sbi&lt;/code&gt; for this platform, which is the root cause of the compilation errors.&#xA;&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Una volta allentato questo vincolo le cose sono filate lisce e in poco tempo anche il driver modificato &lt;em&gt;ad hoc&lt;/em&gt; per il Pico ed il relativo programma di acquisizione delle immagini erano pronti.&lt;/p&gt;&#xA;&lt;h4 id=&#34;gratis-o-a-pagamento&#34;&gt;Gratis o a pagamento?&lt;/h4&gt;&#xA;&lt;p&gt;C&amp;rsquo;è chi sostiene che &lt;a href=&#34;https://www.oneusefulthing.org/p/a-guide-to-which-ai-to-use-in-the&#34;&gt;i modelli a pagamento sono molto meglio di quelli gratuiti&lt;/a&gt;. Di conseguenza, i miei problemi con il &lt;em&gt;vibe coding&lt;/em&gt; sarebbero scomparsi se avessi pagato per usare Gemini o Claude.&lt;/p&gt;&#xA;&lt;p&gt;Non è proprio così. Nel corso delle prove ho usato prevalentemente la versione gratuita di Gemini, proprio per verificare cosa succedeva all&amp;rsquo;utente non professionale che voleva provare a giocare un po&amp;rsquo; con questi strumenti. Ma quando finivano i token sono passato alla versione a pagamento di Gemini fornita dall&amp;rsquo;università, e non ho mai notato differenze significative. Su Claude non posso dire niente, perché dover pagare 200 dollari al mese per usarlo in modo serio non ha senso per chi, come il sottoscritto, non è un programmatore professionista.&lt;/p&gt;&#xA;&lt;p&gt;Ho notato però che Claude Opus e Claude Sonnet si sono sempre dimostrati molto più bravi di Gemini a risolvere i problemi che si presentavano nel corso dello sviluppo del codice. Ma poiché li ho utilizzati sempre a lavoro inoltrato, potrebbero solo essere stati facilitati da quello che Gemini aveva già fatto.&lt;/p&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;È inutile dire che sia questo esperimento che &lt;a href=&#34;https://melabit.com/it/2026/03/04/antigravity-un-driver-scritto-dall-ia/&#34;&gt;quello precedente&lt;/a&gt; non hanno nulla di &lt;em&gt;scientifico&lt;/em&gt;. Per essere tale, dovrei almeno utilizzare tipi diversi di microcontroller e di moduli collegati, stabilire un set di prompt ben definito e misurare in qualche modo come cambia la risposta dell&amp;rsquo;agente di turno al variare delle condizioni sperimentali.&lt;/p&gt;&#xA;&lt;p&gt;Ma nonostante questo, l&amp;rsquo;esperimento ha un pregio: è &lt;em&gt;riproducibile&lt;/em&gt;. Chiunque, con una spesa ridotta, può provare a ripeterlo usando lo stesso hardware e gli stessi prompt, in modo do verificare di persona se quello che ho trovato io è corretto o no.&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Una cosa che gli apostoli del &lt;em&gt;vibe coding&lt;/em&gt; da decine di milioni di letture evitano sempre accuratamente di proporre. I loro articoli sono pieni di certezze e di previsioni roboanti, ma mancano sempre di fornire il sia pur minimo appiglio che permetta di verificare i loro &lt;em&gt;claim&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Nessuno, oggi, può ancora negare che gli LLM possano essere di grande aiuto durante la programmazione, ma è difficile credere che riescano davvero a farlo senza nessun intervento umano. E questo almeno finché gli apostoli di cui sopra non si degneranno di fornirci dati chiari e ripetibili a supporto delle loro affermazioni.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Pur sapendo qualcosa di programmazione, non avevo la minima idea di come si potesse sviluppare un driver e non avevo nessuna voglia di passare dei giorni a studiare come si fa.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Tecnicamente questo file è una libreria di funzioni, ma i microcontroller non hanno un sistema operativo e quindi queste funzioni accedono direttamente all&amp;rsquo;hardware, proprio come fanno i &lt;em&gt;driver&lt;/em&gt; che controllano i componenti di un computer. Di conseguenza, in questo caso i termini &lt;em&gt;libreria&lt;/em&gt; e &lt;em&gt;driver&lt;/em&gt; sono interscambiabili.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;Dico &lt;em&gt;spesa ridotta&lt;/em&gt; ma ormai la penuria di componenti elettronici ha fatto impazzire i prezzi del Pico e ancor di più della Arducam Mini 5MP Plus. Quest&amp;rsquo;ultima, dai 40 euro di pochi mesi fa ora si trova su Amazon o AliExpress a più del triplo. Per fortuna alcuni rivenditori mantengono (almeno per ora) dei prezzi più onesti.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Effetto Dory</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2026/03/09/effetto-dory/</link>
      <pubDate>Mon, 09 Mar 2026 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2026/03/09/effetto-dory/</guid>
      <description>&lt;p&gt;Lo so che gli LLM hanno &lt;a href=&#34;https://melabit.com/it/2026/02/16/antigravity-dalla-sorpresa-al-dubbio/&#34;&gt;poca memoria&lt;/a&gt;, ma non avrei mai immaginato di doverne subire così in fretta le conseguenze.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-03-09-effetto-dory/Gemini_Generated_Image_734ww1734ww1734w.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Immagine generata da &lt;a href=&#34;https://gemini.google.com&#34;&gt;Google Gemini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nota per il lettore.&lt;/strong&gt; Questo articolo è un complemento di quello precedente, &lt;a href=&#34;https://melabit.com/it/2026/03/04/antigravity-un-driver-scritto-dall-ia/&#34;&gt;Antigravity: un driver scritto dall&amp;rsquo;IA&lt;/a&gt; e andrebbe letto dopo il primo. Ma ecco un breve riassunto per i più pigri.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Non sapendo come fare a scrivere un driver per una &lt;a href=&#34;https://en.wikipedia.org/wiki/Serial_Peripheral_Interface&#34;&gt;videocamera SPI&lt;/a&gt; collegata ad un Raspberry Pi Pico, ho chiesto aiuto a Gemini 3 Flash, lavorando interamente dentro Antigravity. Dopo parecchie ore di lavoro, l’agente è riuscito a scrivere un programma funzionante in Arduino. A questo punto ho fatto un errore fatale, chiedendogli ancora di più, ma senza prendere delle precauzioni.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;premessa&#34;&gt;Premessa&lt;/h4&gt;&#xA;&lt;p&gt;Il &lt;a href=&#34;https://melabit.com/it/2026/03/04/antigravity-un-driver-scritto-dall-ia/#lia-al-lavoro&#34;&gt;codice funzionante&lt;/a&gt; generato con tanta fatica da &lt;code&gt;Gemini 3 Flash&lt;/code&gt; prevedeva che il Pico facesse da interfaccia fra il mio Mac Mini e la videocamera SPI.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; Sul Mac, uno script in Python comandava la cattura di una immagine, mentre l&amp;rsquo;acquisizione vera e propria veniva eseguita dal Pico tramite un programma per &lt;a href=&#34;https://en.wikipedia.org/wiki/Arduino&#34;&gt;Arduino&lt;/a&gt; (uno &lt;em&gt;sketch&lt;/em&gt;, nel gergo della piattaforma), che è fondamentalmente codice C/C++ adattato all&amp;rsquo;uso con i microcontrollori.&lt;/p&gt;&#xA;&lt;p&gt;Comandare tutto da computer va benissimo per le prime prove, ma è molto scomodo quando si prevede di usare un dispositivo di questo genere per delle attività &lt;em&gt;sul campo&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;catture-automatiche&#34;&gt;Catture automatiche&lt;/h4&gt;&#xA;&lt;p&gt;Allora ho chiesto a Gemini di modificare il codice in modo da effettuare automaticamente la cattura dell&amp;rsquo;immagine ogni N minuti oppure premendo un pulsante, inviando poi l&amp;rsquo;immagine ad un computer tramite Wi-Fi.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;[...] However, this means that I need to use a Pico for the capture and another computer, even a Raspberry Pi Zero for commanding the capture process. Would it be possible to do everything on the Pico, eg press a button and perform the capture or via a timed process (defined in the .ino file itself) every N minutes (but there should be a mechanism that sends the images to a computer connected by WiFi, avoiding to fill the pico storage space).&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Gemini si mette subito al lavoro, sempre continuando ad usare Arduino. Dovrebbe essere un programma molto semplice da realizzare ma, per quanto Gemini ci provi, non funziona mai. Dopo molti tentativi infruttuosi mi scoccio e gli chiedo di ritornare all&amp;rsquo;ultima versione funzionante del programma.&lt;/p&gt;&#xA;&lt;h4 id=&#34;tornare-sui-propri-passi&#34;&gt;Tornare sui propri passi&lt;/h4&gt;&#xA;&lt;p&gt;E qui Gemini sbatte contro un muro imprevisto perché, nonostante la mia guida e i miei continui suggerimenti, non c&amp;rsquo;è assolutamente verso di riuscirci.&lt;/p&gt;&#xA;&lt;p&gt;Stupidamente non avevo pensato di tenere traccia delle varie versioni del codice man mano che veniva generato, e questa è solo ed esclusivamente colpa mia.&lt;/p&gt;&#xA;&lt;p&gt;Ma d&amp;rsquo;altre parte, pur essendo ben consapevole che i modelli linguistici di grandi dimensioni (LLM, &lt;em&gt;Large Language Model&lt;/em&gt;) mentre lavorano hanno una &lt;strong&gt;memoria&lt;/strong&gt; che sembra quella della &lt;a href=&#34;https://youtu.be/arnEy6qr6ZA?si=M0n4Cb98OtYmnKGB&amp;amp;t=58&#34;&gt;pesciolina Dory&lt;/a&gt;, non avrei mai immaginato che questi sistemi ultrasofisticati non fossero neanche in grado di &lt;strong&gt;ricostruire a posteriori&lt;/strong&gt; ciò che hanno fatto, pur avendo a disposizione decine e decine di file &lt;code&gt;implementation_plan.md&lt;/code&gt;, &lt;code&gt;task.md&lt;/code&gt; e &lt;code&gt; walkthrough.md&lt;/code&gt;, che descrivono per filo e per segno tutti i passaggi precedenti (li ho contati, solo per questo progetto Antigravity ha generato più di 250 file diversi).&lt;/p&gt;&#xA;&lt;p&gt;Tornare sui propri passi è una cosa che invece strumenti come &lt;code&gt;git&lt;/code&gt; e i suoi predecessori, tutti privi di una qualunque forma di &lt;em&gt;intelligenza&lt;/em&gt; che non sia quella dei suoi creatori, sono in grado di fare benissimo &lt;a href=&#34;https://blog.tarynmcmillan.com/a-history-of-version-control&#34;&gt;da più di cinquant&amp;rsquo;anni&lt;/a&gt;. Magari chi sviluppa questi agenti tanto &lt;em&gt;intelligenti&lt;/em&gt; potrebbe farci un pensierino, no?&lt;/p&gt;&#xA;&lt;h4 id=&#34;epilogo&#34;&gt;Epilogo&lt;/h4&gt;&#xA;&lt;p&gt;Alla fine, testardamente e basandomi sulle mie note,&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; sono riuscito a far ripetere a Gemini tutto quello che aveva già fatto. Ci ha messo delle ore, ha ripetuto pari pari tutti gli errori della volta precedente, ma alla fine il codice ricostruito funziona di nuovo correttamente.&lt;/p&gt;&#xA;&lt;p&gt;Già che c&amp;rsquo;ero, gli ho fatto rifare tutto anche per CircuitPython, e anche questo &lt;em&gt;port&lt;/em&gt; ha richiesto molte altre ore di lavoro e di errori. E, prima di arrivarci, Gemini ha creato dei problemi talmente gravi che macOS ha dovuto disabilitare la comunicazione delle porte USB con il Pico, costringendomi a riavviare per un paio di volte il Mac.&lt;/p&gt;&#xA;&lt;p&gt;Inutile dire che questa volta gli ho fatto tenere traccia di ogni passaggio con &lt;code&gt;git&lt;/code&gt; e ho messo pure tutto il codice su &lt;a href=&#34;https://github.com/sabinomaggi/pico-camera5mp&#34;&gt;GitHub&lt;/a&gt;, non si sa mai.&lt;/p&gt;&#xA;&lt;p&gt;Uno dei prossimi passi sarà (spero) MicroPython, ma questa è ancora un&amp;rsquo;altra storia.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Perché Arduino fa tanta fatica, pur se è una piattaforma di sviluppo per microcontroller molto più matura di MicroPython e CircuitPython? Perché, per il modello di videocamera che ho scelto, Arducam non supporta il Raspberry Pi Pico ma solo i Raspberry Pi &lt;em&gt;classici&lt;/em&gt; (quelli con il sistema operativo, per intenderci, come il Rasperry Pi 4, 5 e lo Zero), nonché tutti i microcontroller Arduino e ESP286.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Lo so che l&amp;rsquo;inglese non è un gran che, è più un flusso di pensieri che un discorso organico. Ma ci sono dettagli che mi vengono in mente mentre scrivo, e preferisco buttarli giù così alla bell&amp;rsquo;e meglio piuttosto che perdere il filo delle idee.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;Non ripeterò mai abbastanza quanto sia importante tenere delle note scritte di quello che si fa. All&amp;rsquo;inizio sembra solo una perdita di tempo, mentre invece è il modo migliore per evitare di perderlo in futuro.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Antigravity: dalla sorpresa al dubbio</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2026/02/16/antigravity-dalla-sorpresa-al-dubbio/</link>
      <pubDate>Mon, 16 Feb 2026 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2026/02/16/antigravity-dalla-sorpresa-al-dubbio/</guid>
      <description>&lt;p&gt;Per quanto Antigravity sia efficace, scavando più in profondità ci si accorge che i sistemi ad agenti che agiscono al suo interno, per quanto servizievoli e capaci di rispondere in modo preciso a &lt;a href=&#34;https://melabit.com/it/2026/01/21/sorpresa-antigravity/&#34;&gt;tante questioni complesse&lt;/a&gt;, non sono esenti dai soliti problemi di tutti i modelli linguistici di grandi dimensioni (LLM, &lt;em&gt;Large Language Model&lt;/em&gt;) con cui abbiamo a che fare da tre anni a questa parte.&lt;/p&gt;&#xA;&lt;p&gt;Vediamo alcuni esempi pratici.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/Gemini_Generated_Image_vzsj3tvzsj3tvzsj.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Immagine generata da &lt;a href=&#34;https://gemini.google.com&#34;&gt;Google Gemini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;esempio-1&#34;&gt;Esempio #1&lt;/h4&gt;&#xA;&lt;p&gt;Dopo aver provato con successo ad estrarre i dati dalle &lt;a href=&#34;https://melabit.com/it/2026/01/21/sorpresa-antigravity/#compito-1-estrazione-di-dati-dalle-immagini&#34;&gt;immagini di un mio articolo&lt;/a&gt;, mi sono messo subito al lavoro per provare a applicare il metodo ad altre figure simili a quelle analizzate la prima volta, come ad esempio &lt;a href=&#34;https://www.sciencedirect.com/science/article/pii/S0341816225007738&#34;&gt;questa&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/1-s2.0-S0341816225007738-gr4_lrg.jpg&#34; alt=&#34;&#34;&gt;&lt;p&gt;Obiettivamente, la figura è più complessa rispetto alle mie precedenti: nella parte superiore compare un istogramma che mostra le misurazioni mensili di precipitazione e altezza della neve per due località dal nome impronunciabile del Québec, dove le diverse misurazioni sono rappresentate con tonalità e colori differenti. Più in basso, ma parzialmente sovrapposto all’istogramma, troviamo un grafico a linee con le temperature medie mensili delle due località, la cui scala verticale è posizionata sul lato destro.&lt;/p&gt;&#xA;&lt;p&gt;La figura è più complessa, è vero, ma non mi sarei mai aspettato che &lt;code&gt;Gemini 3 Flash&lt;/code&gt; faticasse così tanto. Ci prova, ci riprova, ma ogni volta c&amp;rsquo;è qualcosa che non va. L&amp;rsquo;istogramma tutto sommato non è un grosso problema, ma non c&amp;rsquo;è verso di fargli capire cosa deve fare con i dati del grafico a linee. E questo anche dopo avergli spiegato dove deve guardare per determinare i valori di temperatura di ogni mese&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;Hint: To evaluate temperatures for a given month you should take a point on the temperature plot that is between the two precipitation bars &#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Sono molto sorpreso dalla difficoltà che ha Gemini a ripetere ed estendere i risultati della &lt;a href=&#34;https://melabit.com/it/2026/01/21/sorpresa-antigravity/#compito-1-estrazione-di-dati-dalle-immagini&#34;&gt;mia prima prova&lt;/a&gt;, anche se continua a rassicurarmi sostenendo di aver &lt;em&gt;capito&lt;/em&gt; benissimo quello che voglio e di aver eseguito un lavoro &lt;em&gt;meticoloso&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;answer&#34; open&gt;&#xA;    &lt;summary class=&#34;answer&#34;&gt;&#xA;        Risposta&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;answer&#34;&gt;&#xA;        &#xA;I have completed a meticulous re-evaluation of Figure 4 using the &#34;midpoint&#34; method you suggested (reading the temperature at the horizontal center between the two monthly precipitation bars).&#xA;Final Corrections Applied: [...]&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Nei fatti, sembra che Gemini non abbia la minima idea di cosa sia davvero il metodo &amp;ldquo;midpoint&amp;rdquo; e si limiti solo a ripetere ciò che gli dico, modificando solo qualche parola. Se così non fosse, infatti, risolverebbe l&amp;rsquo;intoppo in pochi secondi, tirando fuori i dati giusti proprio ha fatto la prima volta.&lt;/p&gt;&#xA;&lt;p&gt;Alla fine mi arrendo. Non ha senso perdere delle ore per far fare ad un &lt;em&gt;agente intelligente&lt;/em&gt; un lavoro che fatto a mano richiederebbe solo pochi minuti.&lt;/p&gt;&#xA;&lt;h4 id=&#34;esempio-2&#34;&gt;Esempio #2&lt;/h4&gt;&#xA;&lt;p&gt;Devo ammettere di essere deluso, ma forse mi sono aspettato troppo dal mio agente intelligente.&lt;/p&gt;&#xA;&lt;p&gt;E allora cerco di semplificargli la vita, scegliendo un grafico di un mio &lt;a href=&#34;https://pubs.aip.org/aip/apl/article-abstract/86/4/042501/117168/Overdamped-Nb-Al-AlOx-Nb-Josephson-junctions&#34;&gt;vecchio articolo&lt;/a&gt; che non dovrebbe costituire un ostacolo particolarmente arduo per Gemini 3 Flash.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/042501_fig2.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Che invece si incarta e fa errori incomprensibili. Con qualche aiutino, riesce a tirare fuori i dati mostrati in questo grafico, che però ha ancora parecchi punti mancanti (messi in evidenza dai riquadri colorati) o punti aggiunti in modo fantasioso (come quello indicato dalla freccia).&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/recreate_figure_2.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Nuova delusione. Perché usare un &lt;em&gt;agente intelligente&lt;/em&gt; se si fa prima ad acquisire i punti a mano?&lt;/p&gt;&#xA;&lt;h4 id=&#34;esempio-3&#34;&gt;Esempio #3&lt;/h4&gt;&#xA;&lt;p&gt;Ma io non mi arrendo facilmente e provo ancora a fargli fare qualcosa di buono. E allora prendo una figura da &lt;a href=&#34;https://pubs.aip.org/aip/apl/article-abstract/91/25/252505/334515/Nb-Al-AlOx-Nb-overdamped-Josephson-junctions-above&#34;&gt;quest&amp;rsquo;altro articolo&lt;/a&gt;, che è piuttosto semplice dal punto di vista grafico, ma che allo stesso tempo sarebbe utile poter acquisire in modo automatico, perché la quantità di dati contenuta rende difficile digitalizzarla a mano in modo preciso.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/252505_fig1.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Scottato dalle esperienze precedenti gli chiedo prima di tutto di descrivere cosa &lt;em&gt;vede&lt;/em&gt; nella figura.&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;Now could you describe in simple words what you &#34;see&#34; in figure 1?&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;La risposta è lunga, precisa e quasi senza sbavature,&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;answer&#34;&gt;&#xA;    &lt;summary class=&#34;answer&#34;&gt;&#xA;        Risposta&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;answer&#34;&gt;&#xA;        &#xA;    &#xA;    &lt;p&gt;Looking at figure 252505_1_f1.jpeg, I can see:&lt;/p&gt;&#xA;    &lt;p&gt;&lt;strong&gt;Two side-by-side graphs&lt;/strong&gt; showing current-voltage (I-V) characteristics:&lt;/p&gt;&#xA;    &lt;p&gt;&lt;strong&gt;(a) Left graph (T = 2.0 K)&lt;/strong&gt;:&lt;/p&gt;&#xA;    &lt;ul&gt;&#xA;    &lt;li&gt;Shows a &lt;strong&gt;hysteretic&lt;/strong&gt; behavior - the curve forms a loop&lt;/li&gt;&#xA;    &lt;li&gt;The current jumps abruptly at certain voltage points&lt;/li&gt;&#xA;    &lt;li&gt;There&amp;rsquo;s a clear gap between the upward and downward voltage sweeps&lt;/li&gt;&#xA;    &lt;li&gt;The vertical jumps occur around ±1 mV&lt;/li&gt;&#xA;    &lt;/ul&gt;&#xA;    &lt;p&gt;&lt;strong&gt;(b) Right graph (T = 5.8 K)&lt;/strong&gt;:&lt;/p&gt;&#xA;    &lt;p&gt;Shows &lt;strong&gt;non-hysteretic&lt;/strong&gt; behavior - smooth, continuous curve&lt;/p&gt;&#xA;    &lt;ul&gt;&#xA;    &lt;li&gt;No loop or gap between voltage sweeps&lt;/li&gt;&#xA;    &lt;li&gt;The transition is gradual rather than abrupt&lt;/li&gt;&#xA;    &lt;li&gt;The curve is more rounded at the critical points&lt;/li&gt;&#xA;    &lt;/ul&gt;&#xA;    &lt;p&gt;&lt;strong&gt;Key observation&lt;/strong&gt;: This demonstrates how the same Josephson junction behaves differently at different temperatures. At the lower temperature (2.0 K), it shows hysteresis (memory effect), while at the higher temperature (5.8 K), the hysteresis disappears and the junction becomes &amp;ldquo;overdamped.&amp;rdquo;&lt;/p&gt;&#xA;    &lt;p&gt;Both graphs show current ranging from about -15 to +15 mA on the y-axis, with voltage on the x-axis measured in millivolts (mV).&lt;/p&gt;&#xA;    &#xA;&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;ma in realtà contiene un errore proprio alla fine della risposta che manderebbe a pallino tutti i tentativi di digitalizzare i dati contenuti nei due grafici.&lt;/p&gt;&#xA;&lt;p&gt;Quando glielo faccio notare, Gemini 3 Flash si corregge immediatamente e sembra quasi dispiaciuto. Ma come ben sappiamo, tutti gli LLM sono programmati per assecondare sempre l&amp;rsquo;interlocutore.&lt;/p&gt;&#xA;&lt;p&gt;Vado avanti e cerco di dargli una mano, spiegandogli per bene cosa dovrebbe fare.&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;No problem. Now could you extract the values of voltage and current from the two images? Please produce a table for each image, and export the table as a csv file and a markdown file, with suffix `_table`.&lt;/br&gt;  &#xA;Since one of the I-V curves is hysteretic, I suggest this strategy for extracting the data: start from V=0, increase V up to the maximum value following one of the paths, decrease V to 0 following the other path, do the same for the negative values of V.&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Ma nonostante il suggerimento, non c&amp;rsquo;è verso di fargli fare un lavoro decente. Il meglio che ottengo sarebbe questo, che a prima vista è un ottimo risultato.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/252505_1_f1_lowres_v22.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Peccato però che ci sia un errore grave e incomprensibile, che lascio a voi scoprire.&lt;/p&gt;&#xA;&lt;p&gt;In ogni caso, l&amp;rsquo;immagine precedente è davvero il meglio del meglio del meglio, ed è stata ottenuta dopo ore di tentativi falliti (come &lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/252505_1_f1_recreated.png&#34;&gt;questo&lt;/a&gt; tentativo iniziale, o &lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/252505_1_f1_lowres_v13.png&#34;&gt;questo&lt;/a&gt;, o &lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-02-16-antigravity-dalla-sorpresa-al-dubbio/252505_1_f1_lowres_final.png&#34;&gt;questo&lt;/a&gt;) e di suggerimenti prima vaghi e poi sempre più precisi, un po&amp;rsquo; come si fa con uno studente impreparato dal quale si cerca di  tirar fuori qualche parola. Nonché di risposte che cercavano di adattarsi al suggerimento del momento, senza fare mai, o quasi mai, tesoro di tutto ciò che si era detto in precedenza.&lt;/p&gt;&#xA;&lt;p&gt;Tutti questi tentativi infruttuosi sono stati resi ancora più frustanti dal fatto che, diversi anni fa, avevo risolto lo stesso problema in modo preciso e riproducibile con appena duecento righe di codice in Python (&lt;a href=&#34;https://melabit.com/it/2026/01/21/sorpresa-antigravity/#fn:3&#34;&gt;ricordavo male&lt;/a&gt;, non era C ma Python).&lt;/p&gt;&#xA;&lt;p&gt;E quando alla fine gli spiego per filo e per segno come si fa, suggerendogli perfino che la chiave di tutto è convertire il file originale &lt;code&gt;JPEG&lt;/code&gt; in un formato, il &lt;code&gt;PBM&lt;/code&gt; (che è praticamente una griglia di 0 o 1 a seconda che il pixel sia bianco o nero),&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;    &#xA;    &lt;p&gt;My suggestion is to change focus completely. If I were you I would:&lt;/p&gt;&#xA;    &lt;ol&gt;&#xA;    &lt;li&gt;&#xA;    &lt;p&gt;take note of the extreme values of voltage and current on the X and Y axes;&lt;/p&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&#xA;    &lt;p&gt;get rid of the extraneous information outside the plot area and of the text (if any) inside it;&lt;/p&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&#xA;    &lt;p&gt;convert the image to the PBM (or PGM) format, that gives you a clean grid of black and white (or gray and white) pixels;&lt;/p&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&#xA;    &lt;p&gt;remove the extraneous grid dots using a 3x3 or 5x5 filter (or anything like that);&lt;/p&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&#xA;    &lt;p&gt;calculate the X and Y position of each black pixel, converting the [values] to Voltage and Current (it is just a proportion).&lt;/p&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;/ol&gt;&#xA;    &lt;p&gt;Clearly you can change the order of the steps or do something different if you believe your approach is better than mine.&lt;/p&gt;&#xA;    &#xA;&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;non c&amp;rsquo;è lo stesso verso lo stesso di fargli fare qualcosa di utile.&lt;/p&gt;&#xA;&lt;p&gt;Ancora più frustante è il fatto che Gemini non si è nemmeno fatto scrupolo di provare ad imbrogliarmi! Quando ha trovato il file originale dei valori misurati, che usavo per confrontare i risultati delle sue analisi con i dati &lt;em&gt;veri&lt;/em&gt;, ha provato ad usare quel file per generare i dati che gli chiedevo. Chiaramente questa volta i risultati erano perfetti, ma ci voleva una &lt;em&gt;intelligenza&lt;/em&gt;, artificiale o non, per tirare fuori una cosa del genere?&lt;/p&gt;&#xA;&lt;h4 id=&#34;altri-esempi&#34;&gt;Altri esempi&lt;/h4&gt;&#xA;&lt;p&gt;Nei giorni in cui ho provato e riprovato quello che ho descritto in questo articolo ho fatto anche molte altre prove, come fargli scrivere del semplice codice in LaTeX, o convertire in &lt;code&gt;CSV&lt;/code&gt; o &lt;code&gt;Markdown&lt;/code&gt; le tabelle contenute nei file PDF di alcuni articoli.&lt;/p&gt;&#xA;&lt;p&gt;Con il LaTeX se l&amp;rsquo;è cavato sempre bene, con le tabelle ha faticato parecchio anche quando il layout era abbastanza semplice. Inutile entrare nei dettagli, perché alla fine non ci sono grosse differenze rispetto agli esempi precedenti.&lt;/p&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;Dopo gli ottimi risultati &lt;a href=&#34;https://melabit.com/it/2026/01/21/sorpresa-antigravity/#compito-1-estrazione-di-dati-dalle-immagini&#34;&gt;descritti nell&amp;rsquo;articolo precedente&lt;/a&gt; ero sinceramente convinto di poter usare gli agenti intelligenti integrati in Antigravity per estrarre facilmente i dati sepolti in tanti articoli scientifici di qualche anno fa, cosa che mi avrebbe permesso di eseguire delle nuove analisi comparate in modo rapido ed efficiente.&lt;/p&gt;&#xA;&lt;p&gt;Purtroppo tutte le prove più approfondite descritte in questo articolo si sono rivelate un totale fallimento.&lt;/p&gt;&#xA;&lt;p&gt;Il modello usato, quasi sempre Gemini 3 Flash (ma ho provato, anche se ho provato in modo più superficiale anche Gemini 3 Pro e Claude Sonnet 4.5),&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; ha mostrato un &lt;strong&gt;comportamento poco coerente e ripetibile&lt;/strong&gt;. Ad esempio utilizzando metodi diversi per risolvere lo stesso problema, senza che fosse mai chiaro se dietro la scelta di un algoritmo o libreria di calcolo ci fosse una precisa motivazione tecnica o se  si trattasse solo di una questione di probabilità statistica nella generazione delle risposte.&lt;/p&gt;&#xA;&lt;p&gt;Un altro problema serio è stato la &lt;strong&gt;mancanza di memoria&lt;/strong&gt;, un po&amp;rsquo; come la &lt;a href=&#34;https://youtu.be/arnEy6qr6ZA?si=M0n4Cb98OtYmnKGB&amp;amp;t=58&#34;&gt;pesciolina Dory&lt;/a&gt; dei cartoni animati. Nonostante pochi giorni prima avesse risolto con successo il problema di estrarre i dati da un istogramma, Gemini non stato in grado di riapplicare la stessa metodologia ad un caso analogo. Altre volte, una volta risolto un problema in modo parziale, gli capitava di ricominciare a lavorarci su ripartendo da zero, invece di limitarsi a rielaborare e a migliorare la risposta precedente.&lt;/p&gt;&#xA;&lt;p&gt;Ma il problema che forse mi ha disturbato di più è stata l&amp;rsquo;&lt;strong&gt;incapacità di generalizzare&lt;/strong&gt; il lavoro già fatto. Se gli chiedi di estrarre dei dati da una immagine, Gemini crea un programma adatto a &lt;em&gt;quella&lt;/em&gt; immagine, senza mai cercare di sviluppare un metodo generale applicabile ad altre immagini dello stesso tipo. Se gli chiedi di generare il grafico di un file di dati, Gemini crea uno script adatto solo per &lt;em&gt;quel&lt;/em&gt; file, che sarà impossibile o quasi adattare ad altri casi analoghi.&lt;/p&gt;&#xA;&lt;p&gt;Quando un umano affronta un problema, tende ad affezionarsi alla soluzione e cerca di riusarla e di estenderla a problemi simili. Un LLM non se ne cura e riscopre la ruota ad ogni nuova iterazione. Sembra il trionfo dell&amp;rsquo;usa-e-getta, lo spreco di risorse e di intelligenza (per quanto artificiale)  elevato all&amp;rsquo;ennesima potenza.&lt;/p&gt;&#xA;&lt;p&gt;E queste cose non le ho notate solo io, che con queste cose ci gioco soltanto. Studi scientifici molto seri &amp;ndash; che ad esempio hanno provato ad usare gli LLM per riscoprire la &lt;a href=&#34;https://arxiv.org/abs/2507.06952v4&#34;&gt;legge di gravitazione di Newton&lt;/a&gt; a partire dalle orbite dei pianeti attorno al Sole, oppure per prevedere il &lt;a href=&#34;https://pubs.rsc.org/en/content/articlelanding/2025/dd/d5dd00176e&#34;&gt;comportamento di una molecola&lt;/a&gt; in base alle diverse rappresentazioni della sua struttura &amp;ndash; hanno raggiunto le stesse, identiche conclusioni.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;La nostra analisi rivela che questi modelli si comportano, invece, come se sviluppassero delle euristiche specifiche per il singolo compito, che non riescono a generalizzare.&lt;/em&gt;&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Il semplice aumento delle dimensioni del modello non migliora le prestazioni né la capacità di generalizzazione.&lt;/em&gt;&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Infine, e anche se a prima vista sembra il contrario, non dobbiamo mai dimenticare che gli LLM &lt;strong&gt;non capiscono davvero&lt;/strong&gt; quello che gli si chiede, sono solo molto bravi a ritrovare un ago in un pagliaio molto, molto, molto grande. Un LLM può spiegare per filo e per segno cos&amp;rsquo;è una &amp;ldquo;caratteristica I-V di una giunzione Josephson&amp;rdquo;, perché ha &lt;em&gt;letto&lt;/em&gt; un sacco di libri e di articoli sull&amp;rsquo;argomento. Ma poi, quando si tratta di collegare il concetto ideale di &amp;ldquo;caratteristica I-V&amp;rdquo; con la sua rappresentazione sperimentale riportata in una figura, fallisce miserabilmente, dimostrando di essere solo un pappagallo bene ammaestrato.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;è chi sostiene che gli LLM di ultima generazione siano in grado di scrivere da soli un &lt;a href=&#34;https://arstechnica.com/ai/2026/02/sixteen-claude-ai-agents-working-together-created-a-new-c-compiler/&#34;&gt;intero compilatore C&lt;/a&gt; o decine di migliaia di righe di &lt;a href=&#34;https://shumer.dev/something-big-is-happening&#34;&gt;codice perfettamente funzionante&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Da parte mia, e molto più umilmente, mi accontenterei che questi modelli riuscissero a produrre un file di dati o una tabella in maniera ripetibile, senza incorrere in errori inspiegabili o in risultati incoerenti. E magari evitando situazioni incresciose come quelle che ho sperimentato, in cui una volta tutto procede senza problemi e la volta successiva non si riesce a cavare un ragno da un buco.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Ho usato anche la versione a pagamento di Gemini, gentilmente concessami dall&amp;rsquo;università, senza notare differenze rispetto alla versione gratuita. Chi sostiene che i modelli a pagamento facciano cose che quelli gratuiti si sognano dovrebbe fornire prove più che solide prima di essere creduto.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;K. Vafa &lt;em&gt;et al.&lt;/em&gt;, &lt;a href=&#34;https://arxiv.org/abs/2507.06952v4&#34;&gt;What Has a Foundation Model Found? Using Inductive Bias to Probe for World Models&lt;/a&gt;, arXiv 2507.06952v4, 2025.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;B. Yan &lt;em&gt;et al.&lt;/em&gt;, &lt;a href=&#34;https://pubs.rsc.org/en/content/articlelanding/2025/dd/d5dd00176e&#34;&gt;Inconsistency of LLMs in molecular representations&lt;/a&gt;, Digital Discovery vol. 4, 2025.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
  </channel>
</rss>
