{"id":70,"date":"2026-06-07T22:00:00","date_gmt":"2026-06-07T22:00:00","guid":{"rendered":"https:\/\/rpi.temporiti.net\/wordpress\/?p=70"},"modified":"2026-05-30T14:06:15","modified_gmt":"2026-05-30T12:06:15","slug":"gemini-pro","status":"publish","type":"post","link":"https:\/\/rpi.temporiti.net\/wordpress\/?p=70","title":{"rendered":"Gemini 2.5 Pro per ragionamento avanzato su task complessi"},"content":{"rendered":"<p>Gemini 2.5 Pro \u00e8 il modello che apro quando devo ragionare su un problema architetturale lungo, con un contesto fatto di molti file e diagrammi a parole. La finestra di contesto enorme permette di buttargli dentro un&#8217;intera codebase media insieme alla documentazione e farci sopra un ragionamento integrato. Lo uso quando l&#8217;output non \u00e8 &#8220;scrivimi codice&#8221; ma &#8220;aiutami a capire&#8221;.<\/p>\n<p>Il modello \u00e8 proprietario, sviluppato da Google DeepMind, pesi non disponibili. Per i ragionamenti misti su molti file resta una scelta forte sul piano della qualit\u00e0 tecnica, ma la sezione privacy che segue va letta con attenzione: il free tier ha condizioni molto diverse dagli altri provider di questo gruppo.<\/p>\n<h2>Configurazione di opencode<\/h2>\n<p>La chiave la genero su <code>aistudio.google.com\/apikey<\/code>, gratis, salvata in <code>~\/.config\/claude-credentials\/credentials.env<\/code> come <code>GEMINI_API_KEY<\/code>. Nel file <code>~\/.config\/opencode\/opencode.json<\/code> registro il provider come OpenAI-compatible puntando all&#8217;endpoint compatibile di Google:<\/p>\n<pre><code class=\"language-json\">\n{\n  \"provider\": {\n    \"gemini\": {\n      \"npm\": \"@ai-sdk\/openai-compatible\",\n      \"options\": {\n        \"apiKey\": \"{env:GEMINI_API_KEY}\",\n        \"baseURL\": \"https:\/\/generativelanguage.googleapis.com\/v1beta\/openai\"\n      },\n      \"models\": {\n        \"gemini-2.5-pro\": { \"name\": \"Gemini 2.5 Pro\" }\n      }\n    }\n  }\n}\n<\/code><\/pre>\n<p>Per aprirlo nella TUI con il working directory montato:<\/p>\n<pre><code class=\"language-bash\">\nopencode . --model gemini\/gemini-2.5-pro\n<\/code><\/pre>\n<p>La cartella che passo come argomento \u00e8 di solito <code>~\/Documenti\/progetti\/<nome>\/<\/code>, con il codice e i README che voglio fargli leggere insieme. Esiste anche l&#8217;SDK ufficiale <code>google-genai<\/code> con CLI propria, comoda per pipeline non interattive, ma per il testo conversazionale lascio opencode come default.<\/p>\n<h2>Un esempio di sessione reale<\/h2>\n<p>Mercoled\u00ec alle 14:30 stavo valutando come riorganizzare l&#8217;integrazione tra due miei tool: uno che raccoglie metriche di servizi auto-hosted e uno che le mostra su una dashboard. C&#8217;erano dipendenze incrociate fastidiose e una storia di duplicazione di logica tra i due. Ho aperto opencode dentro <code>progetti\/integrazione\/<\/code>, dove avevo gi\u00e0 messo le due repo come sottocartelle (<code>collector\/<\/code> e <code>dashboard\/<\/code>) e un file <code>vincoli.md<\/code> con i requisiti operativi: uptime, costo, latenza accettabile. Il prompt:<\/p>\n<blockquote>\n<p>leggi collector\/, dashboard\/ e vincoli.md. Identifica le dipendenze tra i due moduli, distingui quelle essenziali da quelle accidentali. Proponi tre strategie di disaccoppiamento con trade-off espliciti, e per ognuna stima il rischio implementativo da uno a cinque.<\/p>\n<\/blockquote>\n<p>La risposta \u00e8 arrivata in circa otto secondi. Tre strategie distinte: bus di eventi NATS, contratto API REST con OpenAPI versionato, file system condiviso con manifest JSON. Per ognuna ha elencato rischio, costo, tempo di migrazione stimato. Ho scelto l&#8217;API REST dopo aver verificato che le sue stime di tempo erano realistiche per il mio contesto.<\/p>\n<h2>Cosa fa bene<\/h2>\n<p>Sintesi tra molti file dentro lo stesso contesto. Confronto strutturato di alternative architetturali. Lettura simultanea di codice e documentazione con riferimenti incrociati corretti. Stesura di RFC interne ben formattate. Discussione di trade-off con argomentazioni motivate, non solo riassuntive.<\/p>\n<h2>Cosa fa meno bene<\/h2>\n<p>Latenza pi\u00f9 alta dei modelli su LPU: parecchi secondi su prompt lunghi. Sulle code-gen pure non \u00e8 pi\u00f9 veloce n\u00e9 pi\u00f9 preciso di Qwen3 32B su Groq. Su task brevi e veloci \u00e8 sovradimensionato. La sezione privacy lo rende inutilizzabile per molti contenuti che invece manderei tranquillamente a Groq o Cerebras.<\/p>\n<h2>Privacy e termini del provider<\/h2>\n<p>Qui c&#8217;\u00e8 una asimmetria importante rispetto agli altri provider del gruppo. Sul free tier di Google AI Studio \/ Gemini API, prompt, contesto, file e output vengono usati per migliorare i modelli. Esistono revisori umani su snippet anonimizzati. Non c&#8217;\u00e8 opt-out nativo sul free: l&#8217;unico modo per disattivare il training \u00e8 passare al Paid Tier (prepay minimo da circa 10 dollari). La retention per abuse monitoring \u00e8 55 giorni su entrambi i tier.<\/p>\n<p>La residency \u00e8 &#8220;any country&#8221;, senza commitment geografico. Le garanzie di residency arrivano solo su Vertex AI in piano enterprise, non su AI Studio free. Punto cruciale: il free tier \u00e8 contrattualmente vietato per applicazioni che servono utenti EEA, UK o Svizzera. Va bene per uso individuale personale fuori da questi requisiti, ma non per qualunque cosa serva clientela europea.<\/p>\n<p>Il modello Gemini 2.5 Pro \u00e8 proprietario, closed source, pesi non disponibili. Non posso ispezionarlo n\u00e9 riprodurlo fuori dal provider.<\/p>\n<h2>Cosa non gli mando<\/h2>\n<p>Per il free tier la regola \u00e8 stretta: niente di niente che non vorrei vedere usato per migliorare il modello. Niente codice di clienti, niente note interne, niente log con dato personale, niente bozze di articoli che non ho ancora pubblicato. Lo uso per ragionamenti su codice mio gi\u00e0 pubblico su GitHub, su documentazione open, su esercizi architetturali sintetici. Per tutto il resto fallback su <code>qwen2.5-coder:14b<\/code> su Ollama in locale, dove il dato resta sulla mia macchina senza nessun trasferimento.<\/p>\n<h2>In pratica<\/h2>\n<p>Nel mio toolkit Gemini 2.5 Pro \u00e8 il &#8220;ragionatore architetto&#8221; per contenuti che posso considerare gi\u00e0 pubblici. Per ragionamento su documentazione tecnica densa con privacy migliore vado su Qwen3 235B su Cerebras: pesi open Apache 2.0, no training dichiarato. Per scrittura di prosa tecnica lunga e veloce uso Llama 3.3 70B su Groq. Per coding chirurgico Qwen3 32B su Groq. Gemini 2.5 Pro resta nel mix per i casi in cui mi serve davvero la sua finestra enorme su materiale che non ha problemi a essere visto.<\/p>\n<hr>\n<blockquote>\n<p>Immagine generata con Cloudflare Workers AI \/ FLUX.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Gemini 2.5 Pro \u00e8 il modello che apro quando devo ragionare su un problema architetturale lungo, con un contesto fatto di molti file e diagrammi a parole. La finestra di contesto enorme permette di buttargli dentro un&#8217;intera codebase media insieme alla documentazione e farci sopra un ragionamento integrato. Lo uso quando l&#8217;output non \u00e8 &#8220;scrivimi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":71,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-70","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-locale"],"_links":{"self":[{"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=70"}],"version-history":[{"count":7,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":371,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions\/371"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/71"}],"wp:attachment":[{"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpi.temporiti.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}