Perché il codice generato dall'IA deraglia (e come lo Contract-Driven Development salva la situazione)
La Verità Nascosta sulla Velocità dell'AI
Tutti l'hanno provata. Quel primo mese con Claude o Cursor è pura magia. Le feature spuntano veloci. Lo scaffolding si materializza da solo. Il boilerplate sparisce. Poi arriva il secondo mese. Il codice compila. I test passano. I deployment funzionano. Ma qualcosa non torna. Non stai più costruendo ciò che avevi in mente.
Non è pigrizia. È drift.
Studi recenti lo confermano. SlopCodeBench (marzo 2026) mostra che il 90% dei percorsi degli AI agent diventa prolisso nei task lunghi. Lo studio CMU su Cursor rivela che i guadagni iniziali di 3-5x svaniscono dopo due mesi, con 30% di warning in più e 41% di complessità extra. Peggio: il 22,7% dei problemi introdotti dall'AI resta anche nelle revisioni finali, su centinaia di migliaia di commit.
L'AI non è guasta. È il governance model che fallisce.
Tre Modi in Cui Tutto Va Storto
Drift Semantico
La tua spec dice "leggero e intuitivo". Dopo tre mesi e cinquanta prompt, il sistema è tecnicamente conforme. Ma ora pesa 5MB e gira su tre microservices. I concetti si sono distorti piano piano. Nessun via libera ufficiale. Il codice compila. Lo scopri solo in production.
Governance Invisibile
Da dove arriva quella scelta architetturale? Dal tuo chat history. Su quale versione della spec? Controlla Slack. Chi ha deciso che l'API restituisca oggetti nested invece di flat? Probabilmente l'ingegnere che ha chiesto. Non c'è traccia duratura, né audit trail. Un disastro quando arrivano regolatori o audit.
Frammentazione del Contesto
Il tuo codebase ha superato il context window di un AI tre sprint fa. Nessun agent vede il quadro completo. L'ownership è diventata informale, poi approssimativa. Ora hai dieci versioni diverse dell'architettura su branch paralleli, tutte "approvate" per mancanza di review coerenti.
Il Momento della Consapevolezza
Nei primi cinque mesi del 2026, lo stesso problema ha ricevuto sei nomi diversi:
- Intent debt (Storey, Canada Research Chair)
- Cognitive debt (MIT Media Lab)
- Paradox of supervision (Anthropic)
- Scaffolding fragility (virale su HN)
- Comprehension debt (O'Reilly)
- AI slop (Baltes et al.)
Tutti vedevano la ferita. Nessuno ha portato una cura.
Fino all'arrivo del contract-driven development.
Contratto Battere Spec
Lo spec-driven era un passo avanti. Scrivi cosa vuoi, l'AI genera, tutti spediscono. Ha funzionato per i frutti facili.
Ma le spec decadono in silenzio. Vivono sul wiki. Si invecchiano. Non sai se il codice le rispetta ancora, senza un legame continuo.
Il contract-driven ribalta tutto.
Il codice non si misura contro una spec statica. Si genera e valuta su un contratto vivo, multilivello, che fissa:
- Intent: Lo scopo del sistema (tu lo possiedi e approvi)
- Product & UX: Cosa vede l'utente (generato dall'intent, tu decidi il gate)
- System: L'architettura (generata da intent e product, tu decidi il gate)
Ogni layer ha un hash. Ogni layer è tracciabile. Quando il drift emerge – e succederà – hai:
- Detection: Tutto fingerprinted; il drift salta fuori al prossimo giro
- Reconciliation: Un percorso chiaro per rimediare, non tentativi a caso
- Re-evaluation: Il codice rivalutato sul contratto, non isolato
Rigore con Flessibilità
VibeLoom (e i sistemi contract-driven) opera in cinque modalità, a seconda della maturità del progetto:
Vibe — Velocità prototype. Un solo gate (intent). Il resto avanza da solo. Spedisci, impara veloce.
Product-led — Tu controlli intent e product. System auto. Ideale per team design-oriented.
Tech-led — Tu su intent e system. Product auto. Perfetto per progetti infra-heavy.
Design-led — Tu su intent e UX. Mockup guidano product. Per shop user-centric.
Expert — Ogni layer esplicito. Zero auto-advance. Per industrie regolamentate o mission-critical.
Non partire dal massimo. Inizia con vibe. Scala quando serve.
Perché Conta Oggi
Sta arrivando lo sviluppo dark factory. Sistemi interi scritti da agent con intervento umano minimo. Non è se usare AI per generare codice. È se avrai visibilità e controllo quando lo fai.
Spec-driven cattura l'intent. Contract-driven lo preserva.
Questa differenza si accumula. Con i modelli che accelerano, un sistema che resta coerente (contract-driven) surclassa uno che accumula debito (spec-driven) di ordini di grandezza.
Un codebase che sa cosa deve essere, rileva il drift e ha un fix definito: quello scala con l'AI, non contro.
Il Messaggio Chiave
Se spedisci codice AI-generated in production, chiediti:
- Posso tracciare il perché di questa decisione?
- Saprei se il codice ha deviato dall'intent?
- Ho una procedura per correggerlo?
Se una risposta è "no", serve un contract layer. Non domani. Ora.
Vuoi approfondire? VibeLoom è open-source, compatibile con Claude Code e Python 3.10+. Zero dipendenze runtime. Licenza MIT. Il codice è pronto per team che vogliono superare lo spec-driven.
I guadagni di velocity dall'AI sono veri. Mantenere la coerenza è la prossima sfida.