Documentazione dell'architettura basata sull'AI: il futuro e' gia' qui - Archyl Blog

La documentazione manuale dell'architettura e' una battaglia persa in partenza. Il codice cambia ogni giorno; i diagrammi vengono aggiornati ogni trimestre. L'AI sta cambiando questa equazione scoprendo l'architettura dal codice, rilevando automaticamente la deriva e fornendo consapevolezza architetturale agli agenti AI. Ecco come funziona e dove sta andando.

Documentazione dell'architettura basata sull'AI: il futuro e' gia' qui

C'e' una tensione fondamentale al cuore della documentazione dell'architettura software. Il codice e' vivo -- cambia con ogni commit, ogni refactoring, ogni hotfix. La documentazione e' statica -- cambia quando qualcuno si ricorda di aggiornarla. Il divario tra i due cresce silenziosamente fino a quando il diagramma sulla wiki descrive un sistema che non esiste piu'.

Non e' un problema di disciplina. Anche i team piu' diligenti alla fine restano indietro. Uno studio di Lattix ha dimostrato che la documentazione dell'architettura diventa obsoleta entro poche settimane dalla creazione nella maggior parte delle organizzazioni. Lo sforzo necessario per mantenere manualmente diagrammi accurati cresce linearmente con la complessita' del sistema, mentre il ritmo di cambiamento del codice resta costante o accelera.

L'AI sta cambiando questa equazione. Non sostituendo il giudizio architetturale umano, ma automatizzando le parti della documentazione in cui gli umani non eccellono: la scoperta, la sincronizzazione e il rilevamento della deriva. Il risultato e' una documentazione dell'architettura che parte dal codice, resta aggiornata automaticamente e funge da livello di conoscenza sia per gli umani che per gli agenti AI.

Il problema della documentazione manuale dell'architettura

Prima di esplorare come l'AI puo' aiutare, definiamo con precisione cosa non funziona.

Il problema della creazione

Creare la documentazione dell'architettura da zero per un sistema esistente e' doloroso. Si legge il codice, si tracciano le dipendenze, si intervistano i membri del team e lentamente si costruisce un modello mentale che si traduce in diagrammi. Per un sistema di medie dimensioni (20-30 servizi), ci vogliono settimane. Per un sistema grande (100+ servizi), ci vogliono mesi.

Durante quel periodo, il sistema continua a cambiare. Quando la documentazione e' "pronta", alcune parti sono gia' obsolete. Si sta documentando un bersaglio mobile.

Il problema della manutenzione

Anche creando una documentazione perfetta, mantenerla accurata richiede uno sforzo continuo. Ogni nuovo servizio, ogni modulo rinominato, ogni API deprecata deve riflettersi nei diagrammi dell'architettura. In pratica, questo significa:

  • Gli sviluppatori devono aggiornare i diagrammi insieme alle modifiche del codice
  • Qualcuno deve revisionare gli aggiornamenti dei diagrammi per verificarne l'accuratezza
  • I diagrammi obsoleti devono essere individuati e corretti

La maggior parte dei team cerca di risolvere il problema con il processo: "aggiorna il diagramma dell'architettura quando modifichi l'architettura." Questo funziona per circa tre mesi prima che la pressione delle scadenze e del lavoro sulle funzionalita' spinga gli aggiornamenti della documentazione in fondo alla lista delle priorita'.

Il problema della scoperta

Quando un nuovo ingegnere entra nel team, deve comprendere l'architettura prima di poter essere produttivo. Se la documentazione esiste ma e' obsoleta, e' peggio di nessuna documentazione perche' induce attivamente in errore. Il nuovo ingegnere costruisce un modello mentale basato su diagrammi sbagliati, poi passa giorni a fare debugging delle proprie ipotesi.

Senza documentazione, la scoperta ricade sulla conoscenza tribale: chiedere all'ingegnere che e' in azienda da piu' tempo. Questo non scala, crea colli di bottiglia e fallisce completamente quando le persone chiave se ne vanno.

Il problema della coerenza

Nelle organizzazioni con piu' team, ogni team documenta la propria architettura in modo diverso. Il Team A usa Visio. Il Team B usa Miro. Il Team C ha un README con arte ASCII. Il Team D non documenta affatto. Non c'e' una visione unificata dell'architettura dell'organizzazione, nessuna notazione coerente e nessun modo per comprendere le dipendenze tra team.

Come l'AI cambia l'equazione

L'AI affronta ciascuno di questi problemi, non eliminando il coinvolgimento umano ma automatizzando le parti noiose e soggette a errori e amplificando il giudizio umano.

Scoperta dell'architettura basata sull'AI

L'applicazione piu' immediata dell'AI nella documentazione dell'architettura e' la scoperta automatizzata. Invece di leggere manualmente il codice e costruire diagrammi, si punta un sistema AI sulla propria codebase e questo genera una bozza del modello architetturale.

Ecco come funziona in pratica con Archyl:

  1. Connessione al repository. Si connette il proprio repository Git (GitHub, GitLab, Bitbucket o Azure DevOps).

  2. Scansione del codice. Il sistema attraversa la codebase, identificando strutture dei file, file di configurazione, entry point e grafi delle dipendenze.

  3. Analisi AI. I large language model analizzano il codice in blocchi, identificando:

    • Di cosa e' responsabile ogni modulo o servizio
    • Quali tecnologie e framework sono in uso
    • Con quali sistemi esterni il codice si integra
    • Come i componenti comunicano tra loro
  4. Generazione del modello C4. L'AI mappa le sue scoperte sugli elementi del modello C4: sistemi, container, componenti, elementi di codice e relazioni.

  5. Revisione umana. Si revisiona il modello generato, si accettano gli elementi accurati, si correggono gli errori e si aggiunge il contesto che l'AI non ha potuto dedurre.

Il risultato e' un modello architetturale C4 creato in minuti invece che in settimane. Non e' perfetto -- l'AI non comprende il dominio di business o il contesto organizzativo. Ma e' un punto di partenza drasticamente migliore rispetto a una tela bianca.

Cosa l'AI fa bene

L'AI eccelle negli aspetti strutturali della documentazione dell'architettura:

Rilevamento delle tecnologie. I LLM riconoscono pattern di framework, idiomi di librerie e formati di configurazione in decine di linguaggi ed ecosistemi. Un file go.mod con github.com/gofiber/fiber identifica immediatamente un servizio Go che usa il framework Fiber. Un package.json con next identifica un'applicazione Next.js.

Rilevamento dei confini dei servizi. Nelle architetture a microservizi, l'AI identifica in modo affidabile i confini dei servizi dalla struttura delle directory, dalle configurazioni Docker e dai manifesti di deployment. Un docker-compose.yml con cinque servizi offre all'AI una topologia chiara su cui lavorare.

Mappatura delle dipendenze. Le istruzioni di import, le librerie client delle API e i file di configurazione rivelano le dipendenze tra servizi e verso sistemi esterni. Ogni import di SDK, ogni URL base di API, ogni stringa di connessione e' un indizio.

Riconoscimento dei pattern. L'AI e' stata addestrata su milioni di codebase. Riconosce strutture MVC, architettura esagonale, pattern event-driven e decine di altri pattern architetturali. Quando il codice segue convenzioni consolidate, l'AI le identifica rapidamente.

Cosa l'AI sbaglia

Essere onesti sui limiti e' importante per definire le aspettative:

Dominio di business. L'AI puo' dire che processOrder() esiste, ma non puo' spiegare cosa significa "elaborare un ordine" nel contesto specifico del business. Nomenclature specifiche del dominio, workflow personalizzati e regole di business richiedono interpretazione umana.

Architetture non convenzionali. Se il sistema usa un framework di plugin personalizzato, un sistema di build fatto in casa o una struttura di progetto insolita, l'AI potrebbe avere difficolta'. Si aspetta che le app React appaiano come app React e che i servizi Go appaiano come servizi Go.

Dipendenze runtime. L'analisi statica del codice non puo' rilevare dipendenze che esistono solo a runtime: container sidecar, configurazioni del service mesh, integrazioni specifiche dell'ambiente o infrastruttura non rappresentata nel codice.

Intento. L'AI puo' descrivere cosa fa il codice, ma non perche' e' stato scritto in quel modo. Le decisioni architetturali, i compromessi e i vincoli che hanno plasmato il sistema non sono visibili nel codice stesso. Ecco perche' gli ADR (Architecture Decision Records) restano essenziali -- l'AI scopre la struttura, ma gli umani documentano l'intento.

Rilevamento della deriva: mantenere onesta la documentazione

La scoperta risolve il problema della creazione. Il rilevamento della deriva risolve il problema della manutenzione.

La deriva architetturale e' il divario tra cio' che la documentazione dice e cio' che il codice fa effettivamente. E' il servizio rinominato che e' ancora etichettato con il vecchio nome nel diagramma. Il componente deprecato che e' ancora mostrato come attivo. Il nuovo microservizio che non e' mai stato aggiunto al modello architetturale.

Come funziona il rilevamento automatico della deriva

Il rilevamento della deriva di Archyl adotta un approccio leggero. Non riesegue l'intera pipeline di scoperta AI (che sarebbe lenta e costosa). Invece, esegue validazioni mirate:

  • Sistemi: il nome del sistema documentato corrisponde al nome del repository?
  • Container: i container documentati corrispondono a directory effettive nella codebase?
  • Componenti: i componenti documentati sono ancora validi data l'esistenza del loro container padre?
  • Elementi di codice: il percorso del file di ogni elemento di codice documentato esiste ancora nel repository?
  • Relazioni: entrambi gli endpoint di ogni relazione documentata sono ancora validi?

Il risultato e' un punteggio di deriva tra 0 e 100, che rappresenta la percentuale dell'architettura documentata che corrisponde ancora alla realta'. Un punteggio di 95% significa che la documentazione e' molto accurata. Un punteggio di 50% significa che meta' della documentazione e' finzione.

Rendere la deriva azionabile

Un punteggio da solo non basta. Archyl fornisce un'analisi dettagliata che mostra esattamente cosa e' cambiato:

  • Quali container sono documentati ma assenti dalla codebase
  • Quali elementi di codice fanno riferimento a file che non esistono piu'
  • Quali relazioni collegano elementi che hanno subito una deriva
  • Quali nuovi elementi esistono nella codebase ma non sono documentati

Questa analisi trasforma una vaga sensazione di "la nostra documentazione e' probabilmente obsoleta" in un elenco specifico e azionabile di cose da correggere.

Deriva nella CI/CD

L'applicazione piu' potente del rilevamento della deriva e' nell'integrazione continua. Archyl fornisce una GitHub Action che calcola il punteggio di deriva a ogni push:

- uses: archyl-com/actions/drift-score@v1
  with:
    api-key: ${{ secrets.ARCHYL_API_KEY }}
    organization-id: ${{ secrets.ARCHYL_ORG_ID }}
    project-id: 'your-project-uuid'
    threshold: '70'

Si imposta una soglia e la build fallisce se l'accuratezza della documentazione scende sotto di essa. Questo tratta la documentazione dell'architettura come i test: un gate di qualita' che previene il degrado.

I team che adottano questo approccio riportano un cambiamento fondamentale nel modo in cui pensano alla documentazione. Smette di essere un ripensamento e diventa una preoccupazione di prima classe, verificata a ogni commit.

La rivoluzione MCP: agenti AI che comprendono l'architettura

Il Model Context Protocol (MCP) e' uno standard aperto che consente agli agenti AI di interagire con strumenti e sorgenti dati esterne. Il server MCP di Archyl espone l'intero modello architetturale -- diagrammi C4, ADR, regole di conformita', punteggi di deriva -- a qualsiasi agente AI compatibile con MCP.

Questo crea un nuovo paradigma: agenti AI consapevoli dell'architettura.

Come funziona

Quando si usa Claude Code, Cursor o un altro assistente AI di coding compatibile con MCP con il server MCP di Archyl connesso:

  1. L'agente puo' chiamare get_agent_context per ricevere il modello C4 completo, gli ADR e le regole di conformita' per un progetto.
  2. Prima di scrivere codice, l'agente comprende l'architettura documentata: quali servizi esistono, come comunicano, quali tecnologie sono in uso, quali decisioni sono state prese.
  3. L'agente puo' controllare get_drift_score per valutare quanto sia affidabile la documentazione.
  4. L'agente puo' leggere ADR specifici per capire perche' sono state fatte determinate scelte architetturali.

Perche' e' importante

Senza contesto architetturale, gli agenti AI di coding sono potenti ma ciechi. Possono scrivere codice eccellente che viola i principi architetturali, introduce dipendenze indesiderate o duplica funzionalita' gia' esistenti in un altro servizio.

Con MCP, l'agente sa:

  • "Questo sistema usa PostgreSQL, non MongoDB -- devo generare query SQL, non query MongoDB."
  • "La comunicazione tra servizi usa eventi Kafka, non chiamate HTTP -- devo pubblicare un evento, non fare una richiesta REST."
  • "Il team ha deciso contro GraphQL (ADR-0019) -- non dovrei suggerire un'implementazione GraphQL."
  • "Il punteggio di deriva dell'architettura e' 45% -- devo essere cauto nell'affidarmi alla struttura documentata."

Questo trasforma gli agenti AI da generatori di codice a collaboratori consapevoli dell'architettura.

Regole di conformita'

Oltre al contesto passivo, Archyl supporta regole di conformita' che definiscono vincoli architetturali:

  • "Il container frontend non deve comunicare direttamente con il database"
  • "Tutta la comunicazione tra servizi deve passare attraverso l'API gateway"
  • "Ogni nuovo servizio deve avere un ADR associato"

Gli agenti AI possono leggere queste regole tramite MCP e assicurarsi che il codice generato sia conforme. Questa e' governance architetturale che scala con lo sviluppo assistito dall'AI.

Impatto nel mondo reale

Prima della documentazione basata sull'AI

Uno scenario tipico senza assistenza AI:

  • Un nuovo ingegnere entra nel team
  • Passa 2-3 settimane a leggere il codice, fare domande e costruire un modello mentale
  • Crea appunti personali di cui nessun altro beneficia
  • I diagrammi dell'architettura sono stati aggiornati l'ultima volta 8 mesi fa e sono sbagliati al 40%
  • Nessuno sa quali ADR sono ancora rilevanti
  • Ogni discussione architetturale parte da zero perche' il contesto e' andato perso

Dopo la documentazione basata sull'AI

Lo stesso scenario con documentazione basata sull'AI:

  • Il nuovo ingegnere apre Archyl e vede il modello C4 attuale (punteggio di deriva: 92%)
  • Naviga dal contesto di sistema ai container ai componenti
  • Clicca sui servizi complessi per leggere gli ADR collegati che spiegano le decisioni chiave
  • Usa la chat dell'architettura per fare domande: "Come comunica l'order service con il payment service?"
  • Inizia a contribuire codice in giorni, non settimane
  • Gli agenti AI che scrivono codice rispettano l'architettura e le decisioni documentate

La differenza non e' sottile. E' la differenza tra conoscenza tribale e conoscenza istituzionale. Tra documentazione che e' un peso e documentazione che e' un valore.

Il futuro della documentazione AI dell'architettura

Siamo ancora all'inizio. Ecco dove sta andando la documentazione dell'architettura basata sull'AI:

Scoperta continua

La scoperta attuale e' un'operazione puntuale: si esegue, si revisionano i risultati e si va avanti. La scoperta futura sara' continua -- monitora la codebase per i cambiamenti e suggerisce aggiornamenti al modello architetturale in tempo reale. Si fa il merge di una PR che aggiunge un nuovo servizio? Il sistema lo rileva e propone di aggiungerlo al modello C4.

Analisi comportamentale

L'attuale analisi AI e' strutturale: comprende cosa esiste nel codice. L'analisi futura comprendera' il comportamento: come i componenti interagiscono a runtime, quali dati fluiscono attraverso il sistema, come si propagano gli errori. Questo rende possibili diagrammi dinamici generati dal traffico di produzione, non solo dall'analisi statica.

Intelligenza cross-repository

La maggior parte delle organizzazioni ha architetture che si estendono su piu' repository. La futura scoperta AI comprendera' le dipendenze cross-repo: questo servizio nel repo A chiama quel servizio nel repo B, che scrive su questo database gestito nel repo C. Un modello architetturale unificato per l'intera organizzazione.

Documentazione che si auto-ripara

L'obiettivo finale: documentazione che si corregge da sola. Quando viene rilevata una deriva, l'AI genera l'aggiornamento, crea una pull request con il modello corretto e richiede l'approvazione umana. Il ruolo dell'umano passa dal creare documentazione al revisionare gli aggiornamenti proposti dall'AI -- un onere molto piu' leggero.

Generazione di codice consapevole dell'architettura

Man mano che gli agenti AI di coding diventano piu' capaci, la consapevolezza architetturale diventa critica. Gli agenti che comprendono la propria architettura possono:

  • Generare codice che segue i pattern consolidati
  • Suggerire refactoring allineati con gli obiettivi architetturali
  • Avvisare quando le modifiche proposte aumenterebbero la deriva
  • Aggiornare automaticamente i modelli architetturali quando il codice cambia

Per iniziare

Non serve adottare tutto in una volta. Ecco una progressione pratica:

Fase 1: Scoperta (Giorno 1)

Si connette il repository ad Archyl e si esegue la scoperta AI. Si revisiona il modello C4 generato. Si correggono gli errori evidenti. Ora si ha un modello architetturale di base che e' probabilmente accurato al 70-80%.

Fase 2: Arricchimento (Settimana 1)

Si aggiunge il contesto che l'AI non puo' scoprire: ADR per le decisioni chiave, documentazione per i workflow importanti, regole di conformita' per i vincoli architetturali. Si collegano gli ADR agli elementi C4 interessati.

Fase 3: Rilevamento della deriva (Settimana 2)

Si configura la GitHub Action per il punteggio di deriva. Si stabilisce un punteggio di base e si imposta una soglia. Si inizia a monitorare la deriva a ogni push.

Fase 4: Integrazione MCP (Settimana 3)

Si connette il server MCP di Archyl ai propri strumenti di coding AI. Si fornisce contesto architetturale ai propri agenti. Si osserva come generano codice che rispetta l'architettura.

Fase 5: Governance (Continua)

Si definiscono regole di conformita'. Si monitorano le tendenze della deriva. Si revisionano e aggiornano gli ADR trimestralmente. La documentazione dell'architettura diventa un asset vivo e mantenuto -- non un progetto una tantum.

Il futuro della documentazione dell'architettura non riguarda la creazione di diagrammi migliori. Riguarda la costruzione di sistemi in cui la documentazione si crea da sola, si mantiene da sola e serve sia gli umani che gli agenti AI come fonte condivisa di verita' architetturale.


Inizia a costruire la documentazione dell'architettura basata sull'AI oggi. Prova Archyl gratuitamente -- connetti un repository e scopri la tua architettura in pochi minuti. Scopri di piu': Scoperta basata sull'AI: come funziona | Punteggio di deriva dell'architettura | Server MCP: parla con la tua architettura.