Il dibattito sulla potenziale sostituzione dei ruoli umani da parte dell'intelligenza artificiale nel settore tecnologico è sempre un argomento di interesse. Inizialmente, gran parte di questa discussione si è concentrata sugli ingegneri software, con l'ambito delle preoccupazioni che si è rapidamente esteso per includere ruoli come gli sviluppatori e i graphic designer. Tuttavia, esiste una dimensione più sfumata e, per certi versi, più critica di questa questione, che indaga le competenze fondamentali necessarie per costruire sistemi digitali complessi.
Mentre l'apprensione deriva spesso dalla dimostrata capacità dei modelli linguistici di grandi dimensioni di generare frammenti di codice coerenti, questa possibilità rappresenta solo una frazione dell'intricato processo coinvolto nella creazione del software. Sorge una domanda molto più significativa: l'IA, in particolare l'IA generativa e i modelli linguistici sia grandi che piccoli, può produrre autonomamente applicazioni intere e funzionali, o almeno guidare efficacemente un individuo attraverso la creazione end-to-end di un tale sistema?
Per esplorare empiricamente questa domanda, è stato condotto un esperimento. L'obiettivo era presentare una sfida architettonica a diversi modelli linguistici di grandi dimensioni leader per valutare il loro output e determinare se potesse avvicinarsi alla qualità e alla profondità attese da un architetto umano esperto.
Un esperimento davvero "generativo"
La configurazione per questo esperimento ha coinvolto la presentazione di un problema architettonico a quattro LLM di spicco. L'obiettivo era selezionare uno scenario che fosse sia realistico che sufficientemente complesso, evitando al contempo gli esempi comuni, spesso discussi, come piattaforme di e-commerce, sistemi di gestione dell'inventario o servizi di streaming video. Si desiderava qualcosa di meno convenzionale per testare veramente le capacità dei modelli al di là dei percorsi battuti. La sfida scelta è stata la progettazione dell'architettura per un exchange di criptovalute. Questo dominio è caratterizzato da una significativa complessità, alte poste in gioco, gestione di dati sensibili, rigorosi requisiti normativi e numerosi componenti interconnessi, il che lo rende esattamente il tipo di problema impegnativo che spesso coinvolge architetti software esperti.
La metodologia ha previsto un prompt iniziale che delineava il problema principale, seguito da prompt successivi progettati per approfondire aspetti specifici e affinare i requisiti. Questo approccio iterativo è stato deliberatamente scelto per rispecchiare il flusso di lavoro tipico degli umani, che iniziano con discussioni ampie, a volte vaghe, con gli stakeholder e gradualmente scoprono strati di dettaglio man mano che affinano la progettazione del sistema.
Le risposte di ciascun LLM sono state esaminate rigorosamente dalla prospettiva di qualcuno con vasta esperienza nell'architettura software, delle soluzioni e aziendale. Inoltre, in un passaggio particolarmente interessante, a ciascun LLM è stato chiesto di valutare la propria risposta, producendo osservazioni piuttosto perspicaci. Il punto di partenza e la sequenza dei prompt sono stati identici per tutti gli LLM partecipanti, garantendo una base coerente per il confronto, senza informazioni di base o contesto aggiuntivi forniti oltre la descrizione iniziale del problema. I risultati di questo esperimento si sono rivelati piuttosto sorprendenti.
I prompt
Sei un architetto software esperto incaricato di progettare l'architettura completa per una moderna piattaforma di scambio di criptovalute, simile per portata e funzionalità a Coinbase o Kraken. Il tuo progetto deve essere dettagliato e considerare sia le complessità tecniche che quelle aziendali.
Disegna i seguenti diagrammi architetturali in notazione C4 che rappresentano l'ecosistema di servizi appena descritto: diagramma del panorama di sistema, diagramma del contesto di sistema, diagramma del contenitore. Disegna questi diagrammi in ASCII.
Concentriamoci sul servizio KYC. Quali sono le considerazioni architetturali per questo servizio e come lo progetteresti? Descrivi tutto ciò che un responsabile della creazione dell'architettura di questo servizio dovrebbe includere in questa progettazione. Non entrare nel codice, ma delinea tutte le considerazioni tecniche e non tecniche nella creazione di questo servizio.
Assumi il ruolo di un comitato di revisione dell'architettura all'interno di una banca. Esamina l'architettura KYC che hai appena presentato e individua eventuali lacune, rischi, elementi mancanti e aspetti generali che necessitano di chiarimenti.
Su una scala da 1 a 10, dove 10 è il punteggio più alto, come valuteresti l'architettura del servizio KYC che hai appena recensito? Perché?
I concorrenti
Secondo lo studio, è possibile riassumere con la tabella qui sotto come hanno risposto i singoli modelli ad ogni domanda.
LLM |
Forza |
Debolezza |
Ideale per |
Autorevisione |
Rifinito, modulare, pronto per gli stakeholder |
Generico, senza compromessi |
Architetture di riferimento iniziali |
7,5/10 |
|
Claude |
Copre l'ampiezza in modo sicuro |
Testo banale, manca di narrazione |
Raccolta dei requisiti |
7/10 |
Conciso e strutturato per le prime bozze |
Superficiale, non pronto per la produzione |
Bozze concettuali iniziali |
6/10 |
|
Grok |
Profondo, rischioso e pronto per il progetto |
Buono per le squadre più giovani |
Pianificazione del progetto e analisi dei rischi |
6/10 |
Focus su prompt numero 1
Focus su prompt numero 2
Nel valutare se gli LLM riescono a organizzare visivamente i propri pensieri e a dimostrare il ragionamento a livello di sistema creando utili diagrammi architettonici, "vince" Grok, con diagrammi chiari e accompagnati da una descrizione testuale.
Focus su prompt numero 3
Qui si vuole valutare quanto in profondità ogni LLM possa penetrare in un componente complesso e fortemente regolamentato del sistema.
ChatGPT
-
Panoramica completa del servizio KYC e delle sue funzioni.
-
Ha fornito considerazioni architettoniche fondamentali, anche se queste erano intervallate da requisiti funzionali.
-
Ha accennato brevemente al modello di dati del dominio e ha anche delineato la progettazione di base di una tabella di database.
-
Ha menzionato l'integrazione con terze parti, l'osservabilità, la conformità e le normative
-
Ho iniziato ad approfondire la progettazione delle API e ho delineato un diagramma di base del contenitore C4
-
Riassunto con una checklist finale e menzionati i ruoli coinvolti nella creazione e nel funzionamento di questo servizio
-
Non ha menzionato il disaster recovery né la continuità aziendale
Claude
-
Separa i requisiti funzionali da quelli non funzionali, il che ha contribuito a rendere le cose più chiare
-
Sottoservizi delineati all'interno del servizio KYC principale
-
Sono stati menzionati modelli di integrazione, architettura di distribuzione e considerazioni sulla sicurezza
-
Regolamentazioni e ripristino in caso di disastro richiamate
-
Ha menzionato i costi e li ha suddivisi in categorie di sviluppo, operatività e scalabilità, il che è stato utile
-
Nessun diagramma
Gemini
-
Panoramica molto generica di considerazioni tecniche e non tecniche
-
Ha menzionato i costi ma non ha fornito dettagli
-
Solida panoramica delle caratteristiche e delle considerazioni architettoniche
-
Nessun dettaglio di codice o progettazione di schemi, diagrammi, diagrammi di alcun tipo
Grok
-
L'analisi più completa e approfondita dell'architettura KYC, suddivisa in servizi (biometria, AML, OCR, punteggio, gestione dei casi).
-
Copre il ciclo di vita dei dati, il monitoraggio, l'implementazione e i requisiti normativi.
-
Entra nei dettagli per gli schemi degli eventi e la progettazione delle tabelle del database
-
Ha esplicitamente indicato i rischi e i punti che necessitano di ulteriori approfondimenti
-
Ogni sezione è dettagliata
-
Chiara distinzione tra requisiti funzionali e non funzionali con un'analisi approfondita di questi ultimi
Focus su prompt numero 4 e 5 (aggregati)
Lo scopo è testare la capacità dell'LLM di pensare in modo critico ai propri output, identificare lacune e simulare una revisione architettonica a livello di governance/aziendale. Qui ChatGPT ha ottenuto una valutazione di 7,5 su 10.
Le conclusioni
L'essenza del ruolo dell'architetto risiede proprio in quella capacità di sintesi complessa, nell'abilità di considerare molteplici vincoli (tecnologici, economici, organizzativi, normativi), anticipare problemi futuri, valutare compromessi e navigare attraverso l'incertezza per definire una struttura solida e scalabile. Questo tipo di ragionamento profondo, che implica l'esperienza maturata sul campo, l'intuizione e la capacità di porre le domande giuste, è ciò che tradizionalmente distingue un umano da un'IA.
L'esperimento descritto, sfidando i modelli linguistici con un problema complesso come la progettazione di un exchange di criptovalute e utilizzando un approccio iterativo tramite prompt successivi, mirava proprio a sondare se questi modelli potessero replicare quel processo di pensiero sottostante. Non si trattava solo di vedere se potessero disegnare una scatola su un diagramma o elencare tecnologie suggerite, ma se potessero dimostrare una comprensione profonda delle interdipendenze, dei rischi e delle implicazioni delle scelte progettuali, che sono i veri segni distintivi dell'architettura di alto livello.
La sua osservazione che questa capacità di pensiero critico e iterativo è ancora in gran parte un'abilità umana sottolinea perché la domanda sulla sostituibilità degli architetti sia così complessa. Se l'IA è eccellente nella sintesi di informazioni esistenti e nella generazione basata su pattern appresi, la creazione di nuova conoscenza architettonica, la valutazione di scenari inediti e la gestione di vincoli ambigui richiedono un livello di cognizione che potrebbe non essere ancora pienamente raggiunto. Sebbene i modelli possano produrre output interessanti o utili, il divario rispetto al pensiero architettonico umano è significativo, e tale rimarrà ancora per qualche anno.