22 settembre 2026

Oltre i componenti: come cambia la UI quando la genera un modello (e non solo il dev)

Dallo SPA “a props” alla UI dichiarativa e fino alle interfacce davvero generative: vantaggi, limiti e un’idea più concreta del futuro.

I modelli sanno già produrre UI di ottima qualità, spesso più velocemente di noi. Ma allora perché continuiamo a ragionare in termini di componenti statici e layout predefiniti? In questo articolo metto in fila i tre approcci principali con cui oggi si costruisce UI “AI-assisted” (statico, dichiarativo, generativo), evidenziando trade-off reali: consistenza, accessibilità, costi, sicurezza e — soprattutto — collaborazione uomo-agente.

Negli ultimi anni abbiamo visto un’accelerazione brutale: prima il flusso era “copio-incolla un componente React, lo aggiusto, ripeto”; poi siamo passati a modelli capaci di generare schermate complete con interazioni sensate e attenzione all’accessibilità. A quel punto la domanda non è più se un modello sappia costruire UI, ma come vogliamo che lo faccia — e quali garanzie servono per portare quel risultato in un prodotto reale.

Il tema interessante, oggi, non è soltanto dove vive l’interfaccia (dentro un agente “super-app”, dentro il tuo prodotto, dentro un client che integra servizi esterni). È soprattutto come viene generata: con componenti predefiniti? con una descrizione strutturata? oppure con markup e logica creati sul momento?

Qui sotto trovi i tre approcci principali che stanno emergendo, con i relativi trade-off.


1) UI a componenti statici: tool call → props → render

È la versione più vicina al frontend tradizionale.

  • L’agente invoca un tool (o un endpoint)
  • Il tool ritorna dati/parametri
  • Il client assembla e renderizza componenti già esistenti

In pratica è uno schema simile a quello che abbiamo sempre usato: qualcuno “a monte” prepara dati e il client li monta su UI nota. Anche quando la fonte è un agente, il rendering resta vincolato a un catalogo di componenti che hai già nel prodotto.

Pro

  • Affidabilità alta: UI deterministica
  • Accessibilità e design system sotto controllo
  • Debug più semplice: lo spazio di variabilità è nei dati

Contro

  • Flessibilità bassa: l’agente può solo “colorare dentro le righe”
  • Personalizzazione limitata alle varianti previste

È un buon punto di partenza, ma non risolve il desiderio di UI davvero dinamiche.


2) UI dichiarativa: l’agente scrive JSON, il client compone

Qui l’agente non decide quale componente chiamare, ma costruisce una descrizione dell’interfaccia (spesso JSON): layout, gerarchie, contenuti, parametri. Poi un renderer traduce quella descrizione in componenti reali.

Il dettaglio importante: anche qui i componenti restano predefiniti (quindi coerenti con design system e accessibilità), ma l’agente guadagna molta più libertà nel combinare struttura e contenuto.

Questo modello è parente stretto di ciò che viene spesso chiamato server-driven UI: la “pagina” non è hardcoded nel client, ma arriva come struttura dati che il client sa interpretare.

Pro

  • Ottimo equilibrio: creatività controllata
  • Stabilità: catalogo componenti governato dal team
  • Personalizzazione spinta senza rigenerare l’app

Contro

  • Sei comunque vincolato al catalogo: ciò che non esiste non può apparire
  • Serve progettare bene:
    • schema/versioning
    • fallback
    • validazione
    • mapping tra JSON e componenti

Se oggi dovessi scegliere un approccio “da produzione” per UI guidate da agenti, questo è spesso quello più sensato: dinamico, ma con guardrail.


3) UI pienamente generativa: il modello produce markup (e talvolta logica)

All’estremo opposto c’è l’approccio più “wow”: il modello genera direttamente HTML/CSS (e spesso anche JS) per presentare dati e flussi.

È molto utile quando l’obiettivo è consumare informazioni in modo visuale (dashboard al volo, report, spiegazioni interattive, prototipi). L’interfaccia diventa quasi “usa e getta”: viene generata per quella specifica richiesta, poi si passa oltre.

Pro

  • Libertà totale: non sei limitato a un catalogo
  • Velocità di iterazione altissima
  • Ottimo per visualizzazioni ad-hoc e prototipi

Contro (quelli che contano davvero)

  • Costo: generare UI “da zero” continuamente può essere caro
  • Incoerenza: senza vincoli, ogni render può variare (layout, pattern, stile)
  • Familiarità: gli utenti vogliono ritrovare le cose dove se le aspettano
  • Sicurezza: se generi ed esegui codice (JS), devi sandboxare e limitare in modo serio

Questo approccio non è “sbagliato”, ma è difficile da rendere un’interfaccia di prodotto stabile. Brilla in contesti dove l’output è temporaneo o dove la UI è un artifact che serve soprattutto a capire, esplorare, decidere.


Il punto: la UI non è solo output, è collaborazione

C’è un aspetto che spesso viene sottovalutato: la UI generata non dovrebbe essere soltanto una pagina mostrata all’utente, ma uno spazio di lavoro condiviso tra umano e agente.

Quando puoi:

  • spostare elementi
  • annotare
  • modificare un diagramma
  • fare “aggiustamenti” manuali
  • e poi chiedere all’agente di adattarsi a quelle modifiche

…non stai più “guardando” una UI. Stai co-progettando con un sistema.

Questa idea sposta il focus dal “render perfetto” alla ciclicità dell’interazione: il valore arriva quando l’interfaccia diventa un canvas dove l’agente e la persona iterano insieme.


Implicazione pratica per chi fa frontend oggi

Se stai costruendo UI con agenti (o prevedi di farlo), la decisione cruciale non è “componenti sì o no”, ma quali vincoli vuoi imporre e dove.

  • Se ti serve solidità di prodotto: UI dichiarativa + catalogo componenti è la base più pragmatica.
  • Se ti serve esplorazione veloce: UI generativa è potente, ma trattala come artifact, non come superficie primaria.
  • Se vuoi il salto di qualità: investi in collaborazione (stato condiviso, editing, feedback loop), non solo in generazione.

Sintesi

La “fine dell’era dei componenti” non significa buttare via componenti e design system. Significa riconoscere che, con i modelli, la UI può diventare una funzione del contesto: generata, adattata e negoziata in tempo reale. Il futuro credibile non è una UI che cambia casualmente a ogni prompt, ma un sistema che bilancia creatività e controllo — e che rende la collaborazione uomo-agente la nuova interazione primaria.