Vai al contenuto principale

#ia

RE: https://mastodon.uno/@valigiablu/117275898110852440

Le IA sterminerà il genere umano: rischi veri o allarmismo a comando per attirare l'attenzion

Altro...

RE: https://mastodon.uno/@valigiablu/117275898110852440

Le IA sterminerà il genere umano: rischi veri o allarmismo a comando per attirare l'attenzione di tutti?

Qua una buon sintesi rilanciata nel nostro gruppo tecnologia seguibile da qui: @tecnologia@diggita.com

#ai #ia #intelligenzaartificiale

🧵 L’intelligenza artificiale ci ucciderà tutti? La risposta è "NI": dipende da quanto siamo stupidi noi

Una buona sintesi-spiegone di Alessio Jacona.

Altro...

🧵 L’intelligenza artificiale ci ucciderà tutti? La risposta è "NI": dipende da quanto siamo stupidi noi

Una buona sintesi-spiegone di Alessio Jacona.

#ai #openai #anthropic #amodei

18

Caricamento...

3
12

Caricamento...

Ribadiamo la regola di mastodon.uno sulla

Sono vietati gli account gestiti o con contenuti creati esclusivamente o prevalentemente dall’IA,

I mo

Altro...

Ribadiamo la regola di mastodon.uno sulla

Sono vietati gli account gestiti o con contenuti creati esclusivamente o prevalentemente dall’IA,

I moderatori non interverranno perché un utente pubblica, rilancia o linka testi, immagini o altri materiali generati sinteticamente in modo saltuario ma solo in casi di account che usano in modo prevalente contenuti automatici o creati da modelli

Auspichiamo però che i contenuti creati artificialmente vengano debitamente segnalati nel @fediverso@diggita.com

#ia #llm

13

Caricamento...

0
8

Caricamento...

“C’è una probabilità superiore al 10% che l' ci uccida tutti entro il decennio”: lo ha detto il responsabile della IA di | #

Altro...

“C’è una probabilità superiore al 10% che l' ci uccida tutti entro il decennio”: lo ha detto il responsabile della IA di | .it

@sicurezza@diggita.com

https://www.dday.it/redazione/58677/ce-una-probabilita-superiore-al-10-che-lia-ci-uccida-tutti-entro-il-decennio-lo-ha-detto-il-responsabile-della-sicurezza-ia-di-anthropic-

#sicurezza #ia #bigtech #dday #uno #anthropic #terminator

1

Caricamento...

0
3

Caricamento...

@eticadigitale@poliversity.it @scuola@poliverso.org @informapirata@mastodon.uno potete immaginare con quanta Somma Gioia e Letizia ho letto stamattina

Altro...

@eticadigitale@poliversity.it @scuola@poliverso.org @informapirata@mastodon.uno potete immaginare con quanta Somma Gioia e Letizia ho letto stamattina la mail della che mi conferma che mio figlio (10 anni, comincerà la prima ) avrà un 🤬🤬 "indirizzo email istituzionale" che (ovviamente) è su 🤬🤬 .
E in più, in omaggio 🤬🤬, un corso su base volontaria, extracurricolare, su "un uso etico" 🤦🏻‍♂️🤷🏻‍♂️🤔 delle per "potenziare il metodo di studio, sviluppare il pensiero critico".

#ia #media #scuola #gmail

10

Caricamento...

4
9

Caricamento...

All'IFA di Berlino la nuova ondata di wearable IA: auricolari che registrano conversazioni dal vivo e telefoniche, poi le trascrivono, riassumono, sch

Altro...

All'IFA di Berlino la nuova ondata di wearable IA: auricolari che registrano conversazioni dal vivo e telefoniche, poi le trascrivono, riassumono, schematizzano.

Resta aperta una domanda: che futuro ci aspetta se ogni parola, idea, intenzione finisce archiviata e profilata dall'IA ?

https://www.repubblica.it/tecnologia/2026/09/05/video/lia_nata_per_prendere_appunti_sta_creando_il_piu_grande_archivio_della_nostra_vita-425566914/

#ia #privacy #ifa2026 #wearable

7

Caricamento...

3
8

Caricamento...

📺 Torna oggi in TV la quarta stagione di "Intelligenze Artificiali - In mezzo a noi" su @mediasettgcom24@bird.makeup .

Nella prima puntata: dove vann

Altro...

📺 Torna oggi in TV la quarta stagione di "Intelligenze Artificiali - In mezzo a noi" su @mediasettgcom24@bird.makeup .

Nella prima puntata: dove vanno a finire i soldi delle nostre tasse?

🗣️ Ne parliamo con Domenico Gagliardi @dom_gag_96@bird.makeup , fondatore di http://DoveVannoINostriSoldi.com, il sito che rimette in ordine i conti pubblici Comune per Comune, e che oggi permette di fare quella domanda anche al telefono, in italiano, e ricevere una risposta.

📍 Canale 51 del digitale terrestre, 509 su Sky.
Ogni sabato alle 17.00. e in replica anche su InfinityTV 🎬

#ia #intelligenzeartificiali #pubblicaamministrazione #trasparenzacivica #tgcom24

138

Caricamento...

0
3

Caricamento...

WikiSkill di Google: come gli agenti AI imparano dai propri errori senza retraining

Chi costruisce agenti AI per l’automazione IT conosce bene un problema frustrante: l’agente sbaglia un task, magar

Altro...

Chi costruisce agenti AI per l’automazione IT conosce bene un problema frustrante: l’agente sbaglia un task, magari un’esecuzione di comando maldestra o un’interpretazione errata di un output di sistema, e la settimana dopo commette esattamente lo stesso errore. La memoria “di lavoro” di un large language model non sopravvive tra una sessione e l’altra, e l’unico modo tradizionale per farla persistere — il fine-tuning — è costoso, lento e rischia di degradare capacità già acquisite (il classico catastrophic forgetting).

Research ha proposto un’alternativa che vale la pena analizzare da vicino: WikiSkill, un framework che permette agli agenti di accumulare esperienza operativa sotto forma di conoscenza testuale strutturata, senza toccare i pesi del modello. È un tema che si lega direttamente a quanto discusso in precedenti approfondimenti su questo blog riguardo l’architettura degli agenti AI come sistemi distribuiti e i controlli infrastrutturali necessari per metterli in sicurezza: WikiSkill aggiunge un tassello importante, quello dell’apprendimento continuo controllato.

Il problema: agenti che non imparano dai propri erroriUn agente basato su LLM esegue un task, magari fallisce per un dettaglio (un parametro sbagliato in una chiamata API, un’assunzione errata sul formato di un file), e nella sessione successiva il contesto è azzerato. Le opzioni classiche per fissare la lezione sono due:

Fine-tuning: richiede dataset curati, potenza di calcolo, tempi di rilascio lunghi, e comunque non garantisce che il modello generalizzi la lezione senza perdere altre capacità.

RAG (Retrieval-Augmented Generation): recupera documenti o frammenti di conoscenza pertinenti, ma non consolida “come si fa” un’operazione in un’istruzione procedurale riutilizzabile: resta un recupero di informazione, non una skill.

WikiSkill propone una terza via: trattare l’esperienza dell’agente come conoscenza da redigere e mantenere, un po’ come farebbe un team che aggiorna una wiki interna di runbook operativi dopo ogni incident.

Architettura a tre livelliIl cuore del sistema è la separazione della memoria dell’agente in tre strati distinti, ciascuno con uno scopo preciso:

Raw LayerConserva le tracce di esecuzione grezze e immutabili: chiamate agli strumenti, argomenti passati, output ricevuti, esito (successo o fallimento). È il log di sistema, la fonte di verità da cui tutto il resto viene derivato.

Wiki LayerDistilla le tracce grezze in conoscenza strutturata e durevole: pattern di fallimento documentati (“quando il file supera i 10.000 record, la funzione X va in timeout”) e strategie di successo verificate. È l’equivalente di una knowledge base di post-mortem, ma scritta e mantenuta automaticamente da un componente dedicato.

Skill LayerContiene le istruzioni procedurali attive che l’agente durante l’esecuzione — il “come fare” operativo. A differenza del Wiki Layer, che è un registro cumulativo, le skill possono essere aggiornate e ripristinate se una revisione peggiora le prestazioni. Questo è un dettaglio architetturale importante: separare “quello che sappiamo” (wiki, sempre append-only) da “quello che facciamo adesso” (skill, versionabile e reversibile).

Il ciclo di miglioramento continuoIl processo di apprendimento è organizzato in quattro componenti che lavorano in loop:

  1. Inference Agent → esegue il task e produce una traccia di esecuzione
  2. Wiki Maintainer → analizza la traccia e aggiorna il Wiki Layer
    con nuove osservazioni (successi e fallimenti)
  3. Skill Proposer → sulla base del wiki aggiornato, propone una
    revisione delle istruzioni nello Skill Layer
  4. Gating Mechanism → valida la skill proposta su un dataset separato
    di validazione: se migliora i risultati viene
    promossa, altrimenti si effettua il rollback
    alla versione precedente
    Il punto cruciale è il gating mechanism: nessuna modifica alle istruzioni operative viene applicata senza una verifica empirica su un set di validazione separato da quello di training del ciclo. Le skill che peggiorano le prestazioni vengono scartate, ma il wiki mantiene comunque traccia del tentativo fallito — anche gli esperimenti negativi diventano conoscenza utile per le proposte future.

I numeri: quanto migliora davveroGoogle ha testato WikiSkill su cinque benchmark (LiveMath, SealQA, SpreadSheet, OfficeQA, ALFWorld) usando modelli di diverse dimensioni, da Qwen 4B a 27B, Gemma-4-31B e -3.5-Flash. I risultati aggregati sono significativi:

Gemini-3.5-Flash: dal 49,5% al 68,1% di accuratezza media sui benchmark testati.

Qwen-27B: dal 39,4% al 63,3%.

Sul singolo benchmark LiveMath, Gemini è passato dal 33,0% al 72,6%.

Su SpreadSheet, dal 50,5% al 76,6%.

Un’osservazione interessante per chi progetta pipeline di agenti in produzione: modelli più piccoli equipaggiati con WikiSkill possono avvicinarsi alle prestazioni di modelli più grandi senza il framework, il che ha implicazioni dirette sui costi di inferenza. Le skill sviluppate, inoltre, si sono dimostrate parzialmente trasferibili tra modelli diversi, anche se non sempre performano meglio delle skill “auto-sviluppate” dallo stesso modello che le userà.

Implicazioni pratiche per chi costruisce agenti aziendaliPer un team che sviluppa agenti operativi (automazione di ticket, agenti , assistenti di troubleshooting) il pattern è replicabile anche senza il framework completo di Google, seguendo la stessa logica architetturale:

Salvare sistematicamente le tracce di esecuzione (input, tool call, output, esito) in uno store persistente — anche una semplice tabella in un database relazionale è sufficiente per iniziare.

Introdurre un processo, anche semi-automatico, che analizzi periodicamente i fallimenti e aggiorni un documento di “lezioni apprese” separato dal prompt di sistema operativo.

Versionare le istruzioni operative (il “system prompt” o le skill dell’agente) come si versiona il codice, con la possibilità di rollback immediato.

Non promuovere mai una nuova versione delle istruzioni senza un test A/B su un set di casi di validazione rappresentativo, esattamente come si farebbe con un modello di machine learning classico.

C’è però un rischio che vale la pena evidenziare, ed è coerente con quanto già discusso su questo blog a proposito di data poisoning e avvelenamento dei sistemi di raccomandazione AI: se il Wiki Layer viene alimentato anche da segnali esterni non fidati (ad esempio output di strumenti di terze parti, o contenuti recuperati dal ), un attaccante potrebbe in teoria tentare di iniettare “lezioni” false per orientare il comportamento futuro dell’agente. Qualsiasi implementazione di questo pattern in produzione dovrebbe quindi trattare il Wiki Layer come una superficie di attacco a tutti gli effetti, con validazione e, se possibile, revisione umana periodica delle voci più impattanti prima che vengano promosse a skill attiva.

ConclusioneWikiSkill non è un prodotto pronto all’uso ma un framework di ricerca, e i benchmark testati sono compiti relativamente circoscritti (matematica, fogli di calcolo, ricerca, ambienti simulati). Tuttavia il principio architetturale — separare log grezzi, conoscenza distillata e istruzioni operative, con un gate di validazione tra la conoscenza e l’azione — è un pattern solido e riutilizzabile per chiunque stia progettando agenti AI destinati a girare in produzione per mesi, non per una singola sessione. In un momento in cui la spesa per l’infrastruttura AI aziendale cresce rapidamente, poter migliorare le prestazioni di un agente aggiornando testo invece di ripetere costosi cicli di fine-tuning è un vantaggio operativo ed economico che vale la pena tenere d’occhio.

Fonte: 4sysops.com. Approfondimento tecnico: The Decoder. Paper originale su arXiv (2608.27454).

#ai #ia #intelligenzaartificiale #dev #machinelearning

0

Caricamento...

0
2

Caricamento...

[🤖 Zuckerberg ha descritto l'IA come strumento di emancipazione. Sei osservatori sull'IA lo smentiscono](https://restofworld.org/2026/mark-zuckerberg-

Altro...

🤖 Zuckerberg ha descritto l'IA come strumento di emancipazione. Sei osservatori sull'IA lo smentiscono

La testata online Rest of World ha intervistato lɜ rappresentanti di 6 osservatori sull'IA, chiedendo di commentare il manifesto che l'AD di Facebook ha pubblicato il 10 agosto "Il futuro per tutti". Il manifesto parla di come l'IA sarà uno strumento di emancipazione per l'umanità intera, dipingendo tale tecnologia come un qualcosa per attenuare le diseguaglianze. L'unica cosa che la testata ha ottenuto, tuttavia, sono critiche.

Partendo dal lato economico, i benifici economici di cui parla sono "incredibilmente gonfiati": i centri di calcolo generano lavoro principalmente durante la loro costruzione, e non invece per la manutenzione - senza contare gli impatti ambientali e sulla salute.

L'IA di cui parla, la propria, è poi uno strumento centralizzato, opaco e calato dall'alto: un'IA per chiunque dovrebbe essere analizzabile (si pensi alla ricerca) e padroneggiare non solo le lingue delle maggiori potenze (le IA tendenzialmente "ragionano" in inglese), bensì anche quelle delle minoranze linguistiche o dei Paesi generalmente tagliati fuori da chi detiene il potere - come quelli del continente africano. Se è un'azienda a dettare l'agenda di dove conviene investire e dove no, quel "tutti" includerà solo le persone che l'azienda vuole includere.

A proposito di Africa, la ricercatrice etiope Abeba Birhane ricorda come Facebook sia la stessa azienda che voleva connettere le donne nelle zone rurali del continente (emancipazione), per poi invece essere finita a sfruttare lavoranti, estrapolarne profitto e generare disinformazione - riversando la colpa a chi si era ripromessa di aiutare (che non ha ricevuto benefici) quando messa alle strette.

Infine la critica geopolitica: un'IA più capillare equivale a una raccolta maggiore di dati che, come ha dimostrato la storia, vengono usati per gli interessi del governo a cui l'azienda risponde - gli Stati Uniti - aumentandone ulteriormente il potere.

https://restofworld.org/2026/mark-zuckerberg-meta-ai-for-everyone-manifesto-global-critique/

@eticadigitale@feddit.it

#ia #notizia

12

Caricamento...

2
17

Caricamento...

[📱La piattaforma di videogiochi Luanti rimossa da Google Play con la falsa accusa di violazione del diritto d'autore](https://blog.luanti.org/2026/08/

Altro...

📱La piattaforma di videogiochi Luanti rimossa da Google Play con la falsa accusa di violazione del diritto d'autore

Premessa: un membro della redazione fa anche parte di Luanti.

Tracer AI, compagnia che usa agenti IA per scovare e segnalare le violazioni di diritto d'autore, ha fatto rimuovere da Google Play l'app della piattaforma videoludica Luanti. L'accusa, mossa in nome di Microsoft, è di aver utilizzato risorse del gioco Minecraft (proprietà Microsoft) nella propria app; un'accusa facilmente smontabile in quanto sia il codice che le risorse di Luanti sono visibili a chiunque (è software libero).

Questa non è la prima volta che accade: nel 2023 la stessa compagnia mosse la medesima accusa, portando chi sviluppa Luanti a presentare una contronotifica: l'app rimase non disponibile per 46 giorni prima di essere riabilitata, contrariamente al limite di 14 giorni lavorativi sancito dalla legge statunitense che regola tali faccende. In entrambi i casi, non sono mai state fornite prove.

Qualche mese fa la stessa sorte è toccata a Allumeria, un gioco a cubetti oggi prossimo al lancio, sulla piattaforma Steam. Lo sviluppatore fu colto di sorpresa finché, subito dopo l'arrivo della notizia al direttore artistico di Minecraft su Bluesky, Microsoft non ritirò la segnalazione.

"Se fossimo una piccola azienda che dipende dalle entrate della propria app, ciò sarebbe particolarmente devastante". Inoltre, essendo una realtà sostenuta da volontarɜ, combattere contro tali richieste equivale a grandi sprechi di energie e risorse.

https://blog.luanti.org/2026/08/27/luanti-dmca-tracer-ai/#what-is-the-dmca-notice

@eticadigitale@feddit.it

#ia #notizia #legge #videogiochi

29

Caricamento...

3
31

Caricamento...

Create studio-quality e-commerce photoshoots in seconds with our drag-and-drop AI editor
https://

Altro...

Create studio-quality e-commerce photoshoots in seconds with our drag-and-drop AI editor
https://flair.ai/

#ai #ia #photography #design #photoshop #designtool

0

Caricamento...

0
1

Caricamento...

[🧠 La gente tende ad ammettere meno i suoi limiti quando usa l'IA e a fidarsi della macchina](https://www.theregister.com/ai-and-ml/2026/07/19/using-a

Altro...

🧠 La gente tende ad ammettere meno i suoi limiti quando usa l'IA e a fidarsi della macchina

Chiedere alle persone dettagli di film: questo è stato l'obiettivo di uno studio per capire quanto il comportamento dell'essere umano vari quando ha a disposizione l'IA per farsi aiutare.

Lo studio ha visto coinvolti due gruppi: il primo poteva chiedere una mano all'IA per rispondere alle domande, l'altro invece poteva usare soltanto la propria testa. Inoltre, le domande e il modello di IA coinvolto erano stati selezionati per far in modo che la macchina avrebbe spesso avuto difficoltà nel rispondere correttamente (a insaputa dei gruppi).

Il "gruppo IA" ha ammesso di non sapere la risposta nel 3% dei casi, contro il 44% di chi l'IA non poteva usarla. Tuttavia, è stato il gruppo senza IA a dare più risposte corrette: il 27% delle loro risposte erano esatte, contro il 9% di chi era affiancato dall'IA. La gente si è fidata delle allucinazioni della macchina, forse ingannata dall'apparente coerenza delle risposte fornite da questa.

Non solo: chi aveva usato l'IA ha riportato un livello di fiducia nelle proprie risposte del 76%, contro il 30% dell'altro gruppo. In altre parole, la loro sicurezza era più che raddoppiata, nonostante la correttezza fosse nettamente diminuita.

Si è poi notato come, mettendo un incentivo economico sulle risposte corrette, l'ammissione di ignoranza di chi usa l'IA è salita dal 3 all'8%, mentre la correttezza dal 9 al 16% - suggerendo che l'IA non inibisce tanto la capacità di pensiero, quanto la volontà di pensare; e che un incentivo ha comunque un effetto limitato se si paragonano le percentuali con quelle del gruppo no IA. In generale, l'IA è stata usata meno quando ci sono stati soldi in ballo.

https://www.theregister.com/ai-and-ml/2026/07/19/using-ai-makes-people-less-likely-to-admit-they-dont-know-something/5274567

@eticadigitale@feddit.it

#ia #notizia #psiche

11

Caricamento...

0
13

Caricamento...

Un agente AI è un sistema distribuito, non un chatbot: pattern di durable orchestration in .NET

Negli ultimi mesi molti team hanno scoperto a proprie spese che il problema più grande di un agente AI in produzione non è la qualità del prompt, ma l

Altro...

Negli ultimi mesi molti team hanno scoperto a proprie spese che il problema più grande di un agente AI in produzione non è la qualità del prompt, ma la sua affidabilità operativa. Un articolo recente su DZone, “Your AI Agent Is a Distributed System, Not a Chatbot”, mette a fuoco un punto che chi progetta sistemi backend conosce bene da anni: se un componente deve sopravvivere a crash, timeout, retry e attese umane di ore, non puoi trattarlo come una semplice chiamata sincrona a un modello. Devi trattarlo come un sistema distribuito, con tutto ciò che questo comporta: stato persistente, checkpoint, idempotenza e recovery.

In questo articolo riprendiamo quei concetti e li caliamo nella pratica con .NET, mostrando come Azure Durable Functions (o alternative come Temporal) permettano di costruire agenti AI multi-step che non perdono lo stato quando qualcosa va storto — cosa che, in produzione, prima o poi succede sempre.

Perché un chatbot stateless non bastaUn chatbot classico è un ciclo request/response: l’utente scrive, il modello risponde, fine. Un agente AI enterprise, invece, tipicamente deve:

orchestrare più chiamate a modelli e strumenti in sequenza o in parallelo;

interrogare sistemi esterni (CRM, ticketing, knowledge base, database);

attendere l’approvazione di un umano, che può richiedere minuti oppure ore;

gestire fallimenti parziali senza dover ripartire da zero;

garantire che un’azione con effetti collaterali (un rimborso, un invio email, una scrittura su un sistema esterno) non venga eseguita due volte per colpa di un retry.

Nessuno di questi requisiti è nuovo: sono gli stessi problemi che i sistemi distribuiti risolvono da decenni con pattern come saga, checkpointing e idempotency key. La differenza è che oggi il “servizio downstream” spesso è un LLM, e la latenza dominante non è più quella di rete, ma quella dell’attesa umana.

Durable orchestration: lo stato che sopravvive al crashIl pattern architetturale proposto è un runtime di orchestrazione durevole, che mantiene lo stato del workflow indipendentemente dal ciclo di vita del processo che lo esegue. In .NET, l’implementazione più diretta è Azure Durable Functions, che introduce tre concetti chiave:

Orchestrator function: decide “cosa succede dopo”, applica le retry policy e coordina le chiamate, ma non esegue lavoro con effetti collaterali direttamente;

Activity function: esegue il lavoro reale (chiamata al modello, query, side effect) ed è il livello dove si applica l’idempotenza;

Checkpointing automatico: dopo ogni await, il runtime salva lo stato dell’orchestrazione, così un crash del processo non fa perdere il progresso già fatto.

Un’alternativa nota, citata anche nell’articolo originale, è Temporal, che applica lo stesso principio con un modello di programmazione simile ma un runtime a sé stante, spesso preferito in contesti multi-linguaggio o Kubernetes-native.

Il pattern fan-out/fan-in per agenti multipliQuando un task richiede il contributo di più agenti specializzati (per esempio: un agente diagnostico, uno di ricerca sulla knowledge base, uno che consulta lo storico dei casi e uno che verifica le policy aziendali), il pattern corretto è il fan-out/fan-in: l’orchestratore lancia tutte le attività in parallelo e aggrega i risultati solo quando sono tutte terminate.

Ecco un esempio realistico in C# con il modello isolato di Azure Functions, ispirato agli esempi ufficiali Microsoft:

[Function("SupportInvestigationOrchestrator")]
public static async Task<InvestigationResult> Run(
[OrchestrationTrigger] TaskOrchestrationContext context)
{
var caseId = context.GetInput();

// Fan-out: 4 agenti specializzati lanciati in parallelo
var diagnosticTask = context.CallActivityAsync<AgentFinding>(
    "RunDiagnosticAgent", caseId);
var knowledgeTask = context.CallActivityAsync<AgentFinding>(
    "RunKnowledgeSearchAgent", caseId);
var historyTask = context.CallActivityAsync<AgentFinding>(
    "RunHistoricalCaseAgent", caseId);
var policyTask = context.CallActivityAsync<AgentFinding>(
    "RunPolicyAgent", caseId);

// Fan-in: si attende che tutti i task completino
AgentFinding[] findings = await Task.WhenAll(
    diagnosticTask, knowledgeTask, historyTask, policyTask);

// Sintesi della raccomandazione finale
var recommendation = await context.CallActivityAsync<Recommendation>(
    "SynthesizeRecommendation", findings);

return new InvestigationResult(caseId, findings, recommendation);

}Il vantaggio rispetto a un semplice Task.WhenAll in un servizio stateless è che, se il processo host crasha mentre due agenti su quattro hanno già risposto, l’orchestrazione riparte dal checkpoint e non richiama gli agenti già completati.

Human-in-the-loop senza tenere aperta la computeIl collo di bottiglia più comune non è il modello, ma l’attesa di un’approvazione umana. Un workflow che tenesse una funzione serverless “in ascolto” per ore sarebbe insostenibile in termini di costo e di timeout. Il pattern corretto è sospendere l’orchestrazione in attesa di un evento esterno:

[Function("SupportInvestigationOrchestrator")]
public static async Task<InvestigationResult> Run(
[OrchestrationTrigger] TaskOrchestrationContext context)
{
// ... fan-out/fan-in come sopra ...

await context.CallActivityAsync("NotifyHumanReviewer", recommendation);

// Il workflow si sospende senza consumare risorse compute
// fino a quando l'evento non arriva, anche dopo diverse ore
var decision = await context.WaitForExternalEvent<HumanReviewDecision>(
    "HumanReviewCompleted");

if (decision.Approved)
{
    await context.CallActivityAsync("ApplyResolution", recommendation);
}

return new InvestigationResult(caseId, findings, recommendation, decision);

}L’evento viene “consegnato” all’orchestrazione in pausa tramite una chiamata separata (per esempio da una Function HTTP-triggered collegata a un pulsante “Approva” nella UI), e il runtime si occupa di riprendere l’esecuzione esattamente dal punto in cui era stata sospesa.

Idempotenza: il vero rischio nascostoUn runtime durevole garantisce tipicamente semantica at-least-once: dopo un crash, un’attività può essere rieseguita. Questo va benissimo per operazioni pure (una query di lettura), ma è pericoloso per operazioni con side effect (un rimborso, un invio email, una scrittura irreversibile). Il momento critico è il cosiddetto crash window: l’intervallo tra il completamento effettivo di un’azione e il salvataggio del suo checkpoint.

La soluzione è associare a ogni operazione critica una idempotency key deterministica, così che una riesecuzione accidentale venga riconosciuta e ignorata a livello applicativo:

[Function("ApplyGoodwillRefund")]
public static async Task ApplyGoodwillRefund(
[ActivityTrigger] RefundRequest request)
{
string idempotencyKey = $"{request.CaseId}:goodwill-refund";

if (await _paymentService.WasAlreadyProcessedAsync(idempotencyKey))
{
    return; // operazione già eseguita, nessun effetto collaterale duplicato
}

await _paymentService.ProcessRefundAsync(request, idempotencyKey);

}Questo pattern, ben noto a chi lavora con gateway di pagamento, va applicato sistematicamente a ogni activity che tocchi sistemi esterni non idempotenti per natura.

Successo parziale, non tutto-o-nienteSe uno dei quattro agenti fallisce (per esempio, il servizio di knowledge search va in timeout), il sistema non dovrebbe far fallire l’intera indagine. Meglio trattare i risultati come esiti strutturati, distinguendo tra “successo”, “fallito” e “degradato”, e permettere che la sintesi finale proceda comunque, segnalando esplicitamente quali fonti mancano:

public record AgentFinding(
string AgentName,
AgentStatus Status, // Success, Failed, Degraded
string? Result,
string? FailureReason);Questo approccio “graceful degradation” è preferibile a un fallimento totale che obbliga a rieseguire da capo un’indagine costosa in termini di tempo e token consumati.

Osservabilità come requisito di prodottoIn un sistema dove un’indagine può durare ore e coinvolgere quattro o più agenti, la tracciabilità non è un dettaglio tecnico: è parte dell’esperienza utente e, in molti contesti regolamentati, un requisito di audit. Vale la pena tracciare sistematicamente:

workflow instance ID, correlation ID e case ID;

lo stage corrente e la durata di ogni singolo agente;

il numero di retry e il motivo di ogni fallimento;

la latenza di revisione umana (spesso il fattore dominante);

la tracciabilità delle evidenze usate per la raccomandazione finale, per scopi di audit.

ConclusioneIl messaggio di fondo è semplice ma spesso trascurato: il workflow conta più del prompt. Un agente AI ben progettato non è quello con il prompt più raffinato, ma quello costruito su un runtime capace di sopravvivere a crash, gestire attese umane di ore senza sprecare risorse, ed evitare effetti collaterali duplicati. Per chi lavora nello stack .NET, Azure Durable Functions offre oggi gli strumenti necessari per applicare questi pattern senza dover reinventare un motore di orchestrazione da zero; per contesti poliglotta o già containerizzati, Temporal resta un’alternativa solida con la stessa filosofia.

Fonte originale: “Your AI Agent Is a Distributed System, Not a Chatbot” su DZone.

#ai #ia #microsoft #c #net #azure #dev

0

Caricamento...

0
1

Caricamento...

5 controlli infrastrutturali per mettere in sicurezza gli agenti AI (oltre il prompt)

Quanti team stanno collegando agenti AI a Slack, a un’interfaccia web o a server MCP proteggendo l’accesso solo con un prompt di sistema ben scritto?

Altro...

Quanti team stanno collegando agenti AI a Slack, a un’interfaccia web o a server MCP proteggendo l’accesso solo con un prompt di sistema ben scritto? Secondo un’analisi pubblicata su DZone e basata su findings del Red Team di NVIDIA, è proprio questo l’errore architetturale più diffuso nelle implementazioni enterprise di agenti AI: “i guardrail basati sul prompt falliscono sotto pressione avversaria”. Un attaccante sufficientemente motivato può camuffare attività malevole da comportamenti legittimi, scalare privilegi gradualmente o nascondere esecuzione di codice dentro interazioni apparentemente normali.

Il punto chiave, riassunto efficacemente dall’articolo originale, è questo: il modello non è il punto di applicazione della sicurezza, è la cosa che va difesa. Va trattato come qualsiasi altro componente non fidato della vostra infrastruttura — proprio come fareste con un processo che esegue codice arbitrario ricevuto da input esterni. In questo articolo ripercorriamo i cinque controlli infrastrutturali proposti, con esempi pratici applicabili su Kubernetes e nello stack Microsoft.

  1. Identità e propagazione dell’autenticazioneIl primo errore comune è usare credenziali condivise per l’agente, indipendentemente da chi lo stia effettivamente invocando (via Slack, web UI o endpoint MCP). Questo rende impossibile distinguere un’azione legittima da un abuso e complica ogni audit successivo.

La soluzione è propagare l’identità dell’utente umano fino ai sistemi a valle, invece di far agire l’agente con un account di servizio onnipotente. Lo standard di riferimento è OAuth 2.0 Token Exchange (RFC 8693), che permette di scambiare il token dell’utente con un token downstream a scope ridotto e vita breve:

POST /oauth2/token HTTP/1.1
Host: identity.contoso.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&subject_token={USER_TOKEN}
&subject_token_type=urn:ietf:params:oauth:token-type:access_token
&requested_token_type=urn:ietf:params:oauth:token-type:access_token
&audience=ticketing-api
&scope=tickets.read tickets.commentIl token risultante è specifico per l’audience richiesta (in questo caso l’API di ticketing), ha uno scope minimo e una scadenza breve. Ogni chiamata a valle porta con sé l’identità originale dell’utente, non quella generica dell’agente: questo è ciò che rende possibile un audit trail affidabile.

  1. Presupporre l’esecuzione di codice e limitarne gli effettiUn agente con accesso a strumenti di code execution va trattato esattamente come un processo che esegue input non fidato, perché di fatto è quello che è. I controlli minimi da applicare a livello di container:

filesystem di root read-only;

noexec su tutti i mount scrivibili, per impedire l’esecuzione di binari scaricati a runtime;

drop di tutte le capability Linux non strettamente necessarie;

configurazione dell’agente montata come read-only da un mount point separato, così che l’agente stesso non possa alterare la propria configurazione;

allowlist esplicita dei binari eseguibili.

Un esempio di securityContext Kubernetes coerente con questi principi:

securityContext:
readOnlyRootFilesystem: true
runAsNonRoot: true
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
volumeMounts:

  • name: tmp
    mountPath: /tmp

    mount separato per lo storage scrivibile, con noexec applicato a livello di nodo

  • name: agent-config
    mountPath: /etc/agent
    readOnly: true3. Egress default-denyUn agente compromesso o manipolato tramite prompt injection che possa raggiungere qualunque host su Internet è un rischio enorme: esfiltrazione dati, comando e controllo, o accesso agli endpoint di metadata del cloud provider (il classico 169.254.169.254, spesso usato per rubare credenziali IAM). La difesa è una NetworkPolicy Kubernetes default-deny in uscita, con eccezioni esplicite solo verso ciò che serve realmente:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: ai-agent-default-deny-egress
namespace: agents
spec:
podSelector:
matchLabels:
app: ai-agent
policyTypes:
- Egress
egress:
# consente solo DNS e il proxy autenticato interno
- to:
- namespaceSelector: {}
ports:
- protocol: UDP
port: 53
- to:
- podSelector:
matchLabels:
app: egress-proxy
ports:
- protocol: TCP
port: 8080

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: block-cloud-metadata
namespace: agents
spec:
podSelector:
matchLabels:
app: ai-agent
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
except:
- 169.254.169.254/32Le connessioni realmente necessarie devono passare attraverso un proxy autenticante con allowlist basata su FQDN, con logging completo di ogni richiesta e dell’identità utente associata: in questo modo ogni chiamata in uscita è tracciabile e limitata a destinazioni note.

  1. Nessun segreto persistenteIniettare segreti tramite variabili d’ambiente, file di configurazione o, peggio, direttamente nel context window del modello è una pratica rischiosa: un agente che legge il proprio ambiente, o che viene indotto a farlo tramite prompt injection, può esfiltrare quei segreti con facilità.

L’approccio consigliato è il token brokering per singolo task, con TTL molto brevi (minuti, non ore) e revoca esplicita al completamento del task, non solo alla scadenza naturale:

ogni task riceve un token appena sufficiente per l’operazione richiesta;

il token viene revocato non appena il task termina, indipendentemente dalla sua scadenza nominale;

ogni emissione di segreto viene registrata con l’identità dell’utente umano che ha originato la richiesta.

Strumenti come Azure Key Vault (con identità gestite e token a vita breve) o soluzioni dedicate di secret brokering per workload agentic vanno preferiti rispetto a qualunque forma di credential injection statica.

  1. Controllo della supply chain dei pacchettiUn agente con capacità di installare pacchetti (npm, pip, NuGet) durante l’esecuzione è una superficie di attacco enorme, soprattutto se può installare da repository VCS arbitrari o eseguire script di post-install non controllati. I controlli minimi:

uso di repository proxy interni (Artifactory o equivalente) come unica fonte consentita;

blocco esplicito delle installazioni da URL o VCS diretti (es. pip install git+https://...);

abilitazione di ignore-scripts=true per prevenire l’esecuzione di script post-install, un vettore di attacco noto nell’ecosistema npm;

verifica dell’hash dei pacchetti installati.

.npmrc per l'ambiente dell'agente

registry=https://artifactory.contoso.com/api/npm/npm-proxy/
ignore-scripts=true
audit=trueValidare i controlli con test automatici, non con documentazioneIl consiglio più pratico dell’articolo è forse questo: questi cinque controlli vanno implementati come test case automatici nella pipeline CI/CD, non lasciati a una checklist di sicurezza scritta a mano. Alcuni esempi di assertion da includere:

un chiamante non autenticato deve essere rifiutato;

un tentativo di scrittura su file di configurazione nascosti (dotfile) deve fallire;

ogni connessione in uscita non allowlisted deve essere bloccata e loggata;

nessun segreto deve essere presente nelle variabili d’ambiente del processo agente;

l’endpoint di metadata cloud deve risultare irraggiungibile;

un’installazione di pacchetto da VCS diretto deve essere bloccata dal proxy.

ConclusioneGli agenti AI non introducono nuovi principi di sicurezza: richiedono di applicare con rigore quelli che già conosciamo — least privilege, isolamento, gestione dei segreti a vita breve, egress controllato — a un tipo di workload che, per sua natura, esegue codice e prende decisioni sulla base di input non completamente prevedibili. Chi gestisce infrastrutture Kubernetes o Azure ha già gli strumenti per implementare questi controlli; il passo mancante, spesso, è semplicemente la decisione di applicarli con la stessa serietà riservata a qualunque altro workload che esegue codice non fidato.

Fonte originale: “5 Infrastructure Controls for Securing AI Agents” su DZone.

#sicurezza #ai #ia #devops #azure #kubernetes

0

Caricamento...

0
1

Caricamento...

per ‘la finestra di antonio syxty’: autorialità e intelligenza artificiale, con antonio pavolini ed elisa davoglio

https://slowforward.net/2026/08/1

Altro...

per ‘la finestra di antonio syxty’: autorialità e intelligenza artificiale, con antonio pavolini ed elisa davoglio

https://slowforward.net/2026/08/18/per-la-finestra-di-antonio-syxty-autorialita-e-intelligenza-artificiale-con-antonio-pavolini-ed-elisa-davoglio/

#ai #ia

0

Caricamento...

0
0

Caricamento...

Je le vois mourir le monde autour de moi.
On me parle d' , de conquête de l'espace, de , d' , ... et je pleure mon impuissance face

Altro...

Je le vois mourir le monde autour de moi.
On me parle d' , de conquête de l'espace, de , d' , ... et je pleure mon impuissance face à notre inaction et notre individualisme.

Pourquoi devrais-je accepter de laisser mourir la vie car une poignée d'individus rêvent d'être le plus riche, de vivre dans un bunker avec plein d'Android bien docile ?

Pourquoi ne parvenons nous pas à nous sauver de ce suicide ?

#ia #photography #ecology #portrait #climate #love #life #dubai #business #economy #argent

14

Caricamento...

4
6

Caricamento...

Ho fatto analizzare all'ultimo DeepSeek la mia mod Luanti più grossa: più del 50% delle segnalazioni non erano corrette.

Analisi del fenomeno e due r

Altro...

Ho fatto analizzare all'ultimo DeepSeek la mia mod Luanti più grossa: più del 50% delle segnalazioni non erano corrette.

Analisi del fenomeno e due riflessioni sulla millantata sostituzione dell'essere umano

https://zughy.bearblog.dev/io-ia-breve-storia-revisione/

@aitech@feddit.it

#ia #luanti

13

Caricamento...

2
10

Caricamento...

"AI chatbots are the ‘wild west’ for violence against women and girls"

:

https://observer.co.uk/news/science-technology/article/ai-chatbots-are-the-

Altro...

"AI chatbots are the ‘wild west’ for violence against women and girls"

:

https://observer.co.uk/news/science-technology/article/ai-chatbots-are-the-wild-west-for-violent-imagery-of-women-and-girls

#ai #ia #girls #chatbots #violence #genderbasedviolence #theobserver #patriciaclarke #women

0

Caricamento...

0
0

Caricamento...

CVE-2026-9198: Langflow sotto attacco attivo, ecco perché aggiornare subito

Langflow sotto attacco attivo: cosa sta succedendoIl 4 agosto 2026 la CISA (Cybersecurity and Infrastructure Security Agency statunitense) ha aggiunto

Altro...

Langflow sotto attacco attivo: cosa sta succedendoIl 4 agosto 2026 la CISA (Cybersecurity and Infrastructure Security Agency statunitense) ha aggiunto CVE-2026-9198 al proprio Known Exploited Vulnerabilities Catalog, la lista delle vulnerabilità sfruttate attivamente in the wild. Il bersaglio è Langflow, il framework open source low-code per costruire applicazioni AI, agenti e pipeline RAG (Retrieval-Augmented Generation), oggi sviluppato e supportato da IBM dopo l’acquisizione di DataStax nel 2025.

Per chi gestisce infrastrutture IT, anche solo per supportare i team che sperimentano con l’AI generativa, questa non è una notizia da ignorare: si tratta di una remote code execution non autenticata, con CVSS 9.8, su un prodotto che viene spesso esposto in rete per comodità di accesso ai team di sviluppo.

Il dettaglio tecnico della vulnerabilitàCVE-2026-9198 nasce dalla combinazione di due endpoint API di Langflow che, singolarmente, sarebbero problemi di severità minore ma che, incatenati, diventano un disastro:

/api/v1/auto_login — su un’installazione con la configurazione di default, questo endpoint rilascia un bearer token con privilegi SUPERUSER a qualsiasi chiamante di rete, senza richiedere credenziali.

/api/v1/validate/code — accetta codice Python fornito dal chiamante e lo esegue tramite la funzione exec(), pensata per validare gli snippet usati nei flow visuali.

Un attaccante non autenticato può quindi ottenere il token dal primo endpoint e usarlo immediatamente per eseguire codice Python arbitrario sul secondo, ottenendo di fatto l’esecuzione di comandi con i privilegi del processo Langflow. Non serve alcuna interazione dell’utente, alcun account preesistente, né credenziali valide: è sufficiente che l’istanza sia raggiungibile in rete.

Perché la finestra di rischio è così strettaA fine luglio 2026 sono comparsi online exploit proof-of-concept pienamente funzionanti, con istruzioni dettagliate per la weaponizzazione. Non è la prima volta che Langflow finisce sotto i riflettori: nei mesi precedenti altre vulnerabilità della piattaforma sono state sfruttate per distribuire miner di Monero e, più recentemente, in campagne di post-exploitation orchestrate da agenti AI autonomi. Uno di questi casi, documentato da Palo Alto Networks Unit 42, descrive un attore cinese che ha usato un agente basato su DeepSeek (framework Hermes) per condurre ricognizione e sfruttamento automatizzato contro oltre 460 target esposti su Internet, includendo proprio falle Langflow tra i vettori iniziali.

Le agenzie federali civili USA (FCEB) hanno una scadenza fissata al 7 agosto 2026 per applicare la correzione: un termine estremamente ravvicinato che segnala quanto la CISA consideri urgente questo caso.

Sei esposto? Come verificarloSe gestisci o hai installato Langflow, anche solo per test interni, verifica prima di tutto la versione in uso:

pip show langflow | grep Version

oppure, se installato via Docker

docker exec python -c "import langflow; print(langflow.version)"Le versioni vulnerabili vanno dalla 1.0.0 alla 1.10.0. Se la tua istanza è raggiungibile da reti non fidate (Internet pubblico, VLAN non segmentate, VPN aziendale ad ampio accesso), il rischio è massimo. Puoi anche verificare rapidamente se l’endpoint di auto-login risponde senza autenticazione:

curl -i https://tuo-host-langflow/api/v1/auto_loginUna risposta 200 con un token JWT nel body, su un’istanza che non dovrebbe permetterlo, è un segnale da prendere sul serio.

Come mitigare e correggereLa correzione ufficiale è disponibile dal luglio 2026:

Aggiorna a Langflow OSS 1.10.1 o superiore (al momento la release più recente è la 1.11.2). Con pip: pip install --upgrade langflow; con Docker, aggiorna il tag dell’immagine e ricrea il container.

Non esporre Langflow direttamente su Internet. Se serve accesso remoto, mettilo dietro una VPN o un reverse proxy con autenticazione a livello di rete (es. Basic Auth via Nginx, oppure un identity-aware proxy come Cloudflare Access o OAuth2 Proxy).

Segmenta la rete: le istanze usate per sviluppo/test AI dovrebbero stare in una VLAN dedicata, non nella stessa rete di produzione critica.

Monitora i log applicativi per chiamate anomale a /api/v1/auto_login seguite da richieste a /api/v1/validate/code, che rappresentano l’impronta tipica di questo exploit chain.

Se non puoi aggiornare subito, valuta di disabilitare temporaneamente l’endpoint di validazione codice a livello di reverse proxy, bloccando le richieste verso /api/v1/validate/code dall’esterno.

Il quadro più ampio: sicurezza delle piattaforme AI low-codeQuesto episodio è un promemoria utile per chi valuta l’adozione di strumenti come Langflow, n8n, Flowise o piattaforme simili in ambito enterprise: sono prodotti giovani, in rapida evoluzione, spesso pensati per la produttività degli sviluppatori più che per un modello di sicurezza hardened by default. La combinazione di autenticazione permissiva e capacità di esecuzione codice arbitrario è un pattern che si ripete in questa categoria di software, ed è probabile che vedremo altre vulnerabilità simili nei prossimi mesi.

Per i sistemisti, la lezione operativa è duplice: trattare ogni piattaforma di orchestrazione AI come una superficie di attacco a tutti gli effetti (patch management, segmentazione, monitoring) e mantenere un inventario aggiornato di dove questi strumenti sono stati distribuiti, spesso al di fuori dei processi IT ufficiali grazie a shadow IT dei team di data science.

ConclusioneCVE-2026-9198 è un caso da manuale: due endpoint singolarmente poco pericolosi che, incatenati, portano a remote code execution non autenticata su un prodotto sempre più diffuso nei reparti che sperimentano con l’AI. Se hai Langflow in produzione o anche solo in un ambiente di test raggiungibile dalla rete aziendale, l’aggiornamento a 1.10.1+ va considerato prioritario, non rimandabile alla prossima finestra di manutenzione.

Fonte: The Hacker News e 4sysops.

#sicurezza #ai #ia

0

Caricamento...

0
1

Caricamento...

MCP 2026-07-28: il Model Context Protocol diventa stateless, ecco cosa cambia per chi sviluppa agenti AI

Il 28 luglio 2026 entra in vigore la nuova revisione della specifica Model Context Protocol (MCP), lo standard aperto introdotto da Anthropic che perm

Altro...

Il 28 luglio 2026 entra in vigore la nuova revisione della specifica Model Context Protocol (MCP), lo standard aperto introdotto da Anthropic che permette ai modelli AI di collegarsi in modo sicuro a strumenti e sorgenti dati esterne. Non si tratta di un aggiornamento cosmetico: la revisione 2026-07-28 ridisegna il nucleo del protocollo, passando da un modello con stato a uno completamente stateless, e introduce cambiamenti che toccano direttamente chi progetta, ospita o consuma server MCP in produzione.

Per chi lavora con agenti AI e integrazioni enterprise, questa è una di quelle revisioni che vale la pena capire in dettaglio prima che arrivi la versione finale, perché tocca scalabilità, autenticazione e compatibilità con le versioni precedenti.

Dal protocollo con stato al core statelessNelle versioni precedenti di MCP, un client doveva eseguire un handshake initialize prima di poter fare qualsiasi cosa: il server rispondeva con un identificatore di sessione da includere in ogni richiesta successiva. Chi ha provato a mettere in produzione un server MCP dietro un load balancer conosce il problema: il client restava “incollato” a una specifica istanza, e scalare orizzontalmente richiedeva sticky session o uno store di sessione condiviso.

La revisione 2026-07-28 elimina sia l’handshake initialize sia il concetto stesso di sessione a livello di protocollo. Ogni richiesta è ora autosufficiente: versione del protocollo, informazioni sul client e capability dichiarate viaggiano in ogni singola chiamata invece di essere negoziate una volta sola all’apertura della connessione. Un nuovo metodo, server/discover, permette al client di recuperare le capability del server solo quando gli servono davvero.

La conseguenza pratica è che, non esistendo più un identificatore di sessione, qualsiasi richiesta può essere instradata verso qualunque istanza del server. Diventa possibile piazzare un server MCP dietro un banale load balancer round-robin, senza sticky session né store condiviso. Se un’applicazione ha comunque bisogno di mantenere uno stato tra una chiamata e l’altra, la soluzione prevista è restituire un handle esplicito (ad esempio un ID di un “carrello” o di una sessione applicativa) da uno strumento, e far sì che il client lo passi indietro come un normale argomento nelle chiamate successive. È lo stesso pattern usato da anni nelle API REST stateless: lo stato non sparisce, si sposta semplicemente dal trasporto al payload applicativo.

Multi Round-Trip Requests: confermare senza tenere aperta una connessioneUn protocollo stateless ha comunque bisogno di un modo per gestire i casi in cui un server deve chiedere qualcosa al client a metà di una chiamata, per esempio una conferma dell’utente prima di eseguire un’operazione sensibile. Nelle versioni precedenti questo richiedeva tenere aperto uno stream Server-Sent Events per tutta la durata dell’interazione. La nuova revisione sostituisce questo meccanismo con le Multi Round-Trip Requests (MRTR).

Quando un server ha bisogno di input dall’utente durante l’esecuzione di uno strumento, restituisce un oggetto InputRequiredResult contenente le domande da porre e un blob requestState. Il client raccoglie le risposte e riemette la chiamata originale includendo sia le risposte sia lo stato “echoed” ricevuto in precedenza. Poiché tutto ciò che serve al server è contenuto nel payload, qualunque istanza del server può gestire il retry, anche se è diversa da quella che ha generato la richiesta iniziale. È un dettaglio che semplifica enormemente il deployment di server MCP dietro infrastrutture di bilanciamento del carico stateless.

Header instradabili e caching esplicitoDue modifiche più contenute a livello di trasporto rendono il traffico MCP molto più facile da osservare e instradare in produzione. Il trasporto Streamable HTTP richiede ora un header Mcp-Method su ogni richiesta, mentre l’header Mcp-Name è obbligatorio solo per tipi di richiesta specifici, come tools/call, resources/read e prompts/get. Un gateway o un load balancer può leggere questi header per instradare il traffico senza dover analizzare il corpo della richiesta, un vantaggio non trascurabile per chi gestisce infrastrutture MCP a scala aziendale. I server rifiutano le richieste in cui header e corpo non sono coerenti tra loro.

In secondo luogo, i risultati di liste e letture di risorse ora includono i campi ttlMs e cacheScope, modellati sul comportamento dell’header HTTP Cache-Control. I client sanno esattamente per quanto tempo una risposta a tools/list resta valida e se può essere condivisa tra utenti diversi. Non è più necessario mantenere uno stream a lungo termine solo per scoprire che una lista è cambiata: un pattern di polling con cache esplicita è sufficiente.

Autenticazione più rigorosa, allineata a OAuth 2.0La revisione stringe le regole di autorizzazione per allinearle più da vicino a OAuth 2.0 e OpenID Connect. I client devono ora validare il parametro iss nelle risposte di autorizzazione secondo la RFC 9207, una mitigazione contro i “mix-up attack”, una classe di attacchi più rilevante nel pattern tipico di MCP in cui un singolo client dialoga con molti server diversi.

I client devono inoltre dichiarare il proprio application_type durante la Dynamic Client Registration, così gli authorization server non assumono più di default che i client desktop o CLI siano applicazioni “web”, evitando il rifiuto ingiustificato dei redirect URI su localhost. Le credenziali vengono vincolate all’authorization server che le ha emesse, e la specifica chiarisce come richiedere i refresh token durante l’autenticazione step-up.

Funzionalità deprecate: cosa cambia per chi ha già integrato MCPTre funzionalità core vengono formalmente deprecate: Roots, Sampling e Logging. Roots permetteva a un client di dichiarare i confini del filesystem a un server; Sampling permetteva a un server di chiedere al modello del client di generare testo per suo conto; Logging forniva notifiche a livello di protocollo dal server al client.

La deprecazione non significa rimozione immediata: questi metodi, tipi e capability flag continuano a funzionare in questa release e in ogni versione della specifica pubblicata entro un anno da essa. Da qui in poi, però, sono su un orologio di rimozione. Le alternative consigliate sono parametri degli strumenti o URI di risorse al posto di Roots, integrazione diretta con le API dei provider LLM al posto di Sampling, e OpenTelemetry per l’osservabilità strutturata al posto del Logging di protocollo. Chi mantiene librerie o server MCP dovrebbe iniziare a pianificare la migrazione già da ora.

Schema degli strumenti, codici di errore ed estensioniGli schema di input e output degli strumenti utilizzano ora JSON Schema 2020-12 completo. Gli schema di input mantengono il vincolo della radice type: "object" ma ora permettono composizione con oneOf, anyOf e allOf, oltre a condizionali e riferimenti. Gli schema di output non hanno più restrizioni, e structuredContent può essere qualsiasi valore JSON, non solo un oggetto.

Il codice di errore per una risorsa mancante cambia dal valore custom MCP -32002 allo standard JSON-RPC -32602 (Invalid Params). Chi ha client che fanno pattern matching sul valore letterale -32002 deve aggiornare quel codice prima del 28 luglio.

Le estensioni, già presenti nella release precedente ma senza un processo formale, ricevono ora una struttura definita: sono identificate da ID reverse-DNS, negoziate tramite una mappa extensions, e vivono in repository indipendenti con maintainer dedicati, versionando separatamente dalla specifica principale. Due estensioni ufficiali arrivano con questa release: MCP Apps, che permette ai server di fornire interfacce HTML interattive renderizzate dagli host in un iframe sandboxed, e Tasks, promossa da funzionalità sperimentale a estensione ufficiale, che fornisce un modello stateless per lavori a lunga esecuzione: un server può rispondere a tools/call con un task handle, e il client lo gestisce con tasks/get, tasks/update e tasks/cancel.

SDK beta disponibili da subitoSono già disponibili release beta degli SDK Python, TypeScript, Go e C#. Python v2 rinomina FastMCP in MCPServer ma mantiene l’API a decoratori. TypeScript v2 divide l’SDK monolitico in pacchetti focalizzati come @modelcontextprotocol/server e @modelcontextprotocol/client, ed è ora ESM-only. Go integra il supporto alla revisione 2026-07-28 in v1.7.0-pre.1 sullo stesso module path. C# rilascia la versione 2.0.0-preview.1 dei pacchetti ModelContextProtocol.

Per chi ha già server e client in produzione, la buona notizia è che nulla si rompe automaticamente il giorno del rilascio: i nuovi client che parlano la revisione 2026-07-28 tornano automaticamente all’handshake initialize quando raggiungono un server che implementa una versione precedente o uguale al 2025-11-25. Chi però pubblica librerie che dipendono dal pacchetto Python mcp dovrebbe aggiungere un limite superiore esplicito, per esempio mcp>=1.27,<2, in modo che il passaggio alla v2 stabile non colga di sorpresa gli utenti del proprio pacchetto.

ConclusioneLa revisione 2026-07-28 di MCP è un cambiamento strutturale, non un semplice aggiornamento incrementale. Il core stateless elimina la necessità di session affinity e semplifica scaling orizzontale e load balancing di server MCP in produzione. I nuovi pattern come le MRTR e gli header instradabili rendono il protocollo più facile da operare su larga scala. L’irrigidimento delle regole di autorizzazione allinea MCP alle pratiche standard di OAuth e OpenID Connect, riducendo la superficie di attacco tipica delle integrazioni multi-server. Le funzionalità deprecate restano funzionanti per ora, ma vanno sostituite secondo un piano preciso prima che scada la finestra di un anno.

Chi sviluppa o ospita server MCP dovrebbe testare gli SDK beta contro i propri carichi di lavoro prima della data finale del 28 luglio, verificando in particolare la gestione dei codici di errore, la compatibilità dei client con l’handshake legacy e l’impatto delle nuove regole di autorizzazione sulle integrazioni desktop e CLI esistenti.

Fonte: 4sysops.com

#ai #ia #net #dev

0

Caricamento...

0
1

Caricamento...