Punti chiave

  • Il vibe coding e lo sviluppo assistito da IA producono codice funzionante velocemente, così come gli errori architetturali. La velocità è reale. La coerenza no.
  • Un prompt contiene solo ciò che l'autore conosce. L'IA amplifica l'output di chi sa il dominio e moltiplica gli errori di chi non lo sa.
  • La maggior parte di qualsiasi software aziendale è l'impianto tecnico di cui ogni applicazione ha bisogno: account, ruoli, permessi, traccia di audit, validazione, import, export, job in background, un'API. Generare questo da prompt è dove si accumula il debito tecnico.
  • Una piattaforma dati come AtroCore fornisce questo impianto come configurazione, lasciando al codice generato da IA la responsabilità solo della parte specifica della tua azienda.
  • Starbucks sta sostituendo il software che i suoi stessi ingegneri stavano già riscrivendo. Quel test vale per qualsiasi dimensione. La capacità di costruire una fondazione da zero no.

Le aziende stanno costruendo di nuovo software personalizzato

Per decenni, la domanda se costruire o acquistare aveva una risposta consolidata. Acquistavi software standard e piegavi i processi per adattarlo, perché costruire era più lento e il costo totale di proprietà nessuno voleva difenderlo.

Starbucks è il segno più chiaro che il calcolo è cambiato. L'azienda spende circa 400 milioni di dollari all'anno in software, e il chief technology officer Anand Varadarajan ha detto a un forum interno che c'erano chiare opportunità per ridurlo, secondo una presentazione interna trapelata. Gli ingegneri usano il coding assistito da IA per costruire sostituzioni per un sistema di monitoraggio inventario Microsoft e uno strumento di gestione della manutenzione IBM.

Il dettaglio che vale la pena copiare è quale software Starbucks ha scelto: strumenti che i suoi ingegneri stavano già modificando pesantemente. Quel test non ha nulla a che fare con la dimensione dell'azienda. Un produttore di materiali da costruzione la cui determinazione dei prezzi dipende da clausole di indicizzazione sepolte negli accordi con i fornitori affronta la stessa questione. I prodotti di gestione dei contratti gestiscono la clausola. Collegarla ai stabilimenti e ai gruppi di materiali già presenti nella master data del produttore è dove quelli che abbiamo valutato si fermano.

Il comportamento si sta diffondendo. L'indagine 2026 di Retool su più di 800 professionisti ha rilevato che il 35% delle aziende aveva già sostituito almeno uno strumento SaaS con qualcosa di costruito internamente, e il 78% si aspetta di costruirne di più.

La storia ha due lati. Il software interno sposta i costi dalle sottoscrizioni alla manutenzione e alla manodopera piuttosto che eliminarli, e la sostituzione del punto vendita per Oracle Simphony è in corso da diversi anni, precedente agli strumenti IA. L'IA comprime parte di questo lavoro e non ha compresso quello. Starbucks assorbe anche ciò che la maggior parte delle aziende non può: un'organizzazione di ingegneria abbastanza grande da costruire una fondazione e mantenerla per un decennio. Un produttore di 200 persone affronta la stessa decisione senza quella capacità. Per loro, la domanda utile è su cosa costruire, e una piattaforma dati che non dovevano scrivere è la risposta più economica disponibile. Il vibe coding nomina la fine di questo, dove qualcuno converte un'applicazione in un prompt e spedisce tutto quello che ne esce.

Quanto segue si applica anche al caso più ampio: sviluppatori professionisti che usano l'assistenza IA su codice che revisionano. Costruiamo software personalizzato con produttori e distributori, quindi gli argomenti vengono da progetti piuttosto che da una lavagna.

Cosa l'IA scrive bene e cosa scrive male

Veracode ha eseguito lo stesso test su modelli IA dal 2023: 80 compiti di codifica, quattro linguaggi, quattro classi di vulnerabilità, nessuna istruzione di sicurezza nel prompt. Nel suo aggiornamento della primavera 2026, la correttezza sintattica ha passato il 95% mentre il tasso di sicurezza è rimasto vicino al 55%. Java ha avuto il peggio con il 29%.

Il motivo dietro questi numeri è più utile dei numeri stessi. I modelli sono forti nei pattern locali e deboli nel tracciare i dati tra i file. L'SQL con parametri è un pattern che il modello ha visto segnalato migliaia di volte. Sanitizzare l'input che passa attraverso quattro funzioni in un template è una questione di flusso di dati, e il flusso di dati ha bisogno di contesto che il modello non tiene.

Per un team professionale, i fallimenti interessanti sono quelli che sopravvivono alla revisione. Un revisore nota una verifica null mancante o un nome di variabile sbagliato. La revisione è molto più debole su qualsiasi cosa visibile solo tra i file e tra le settimane, perché ogni cambio sembrava ragionevole da solo. La logica non documentata passa anche, poiché il codice generato che funziona è difficile da contestare in una pull request. Quello che si accumula è il debito di comprensione: codice che funziona correttamente e che nessuno nel team riesce ora a spiegare.

La manutenibilità mostra la stessa debolezza. GitClear ha analizzato 211 milioni di righe di codice modificate dal 2020 al 2024 e, come riferito da LeadDev, ha trovato blocchi duplicati di cinque o più righe che appaiono otto volte più spesso nel 2024. Le righe copiate hanno superato le righe spostate per la prima volta nel dataset. Le righe spostate sono l'impronta del refactoring, il lavoro di consolidare qualcosa in un posto riutilizzabile.

Nel sondaggio Stack Overflow 2025, la frustrazione più alta, nominata dal 66% dei rispondenti, era l'output IA quasi corretto senza essere corretto. Lo stesso sondaggio dimensiona le pratiche: l'84% usa o prevede di usare strumenti IA e il 51% degli sviluppatori professionali li usa quotidianamente, mentre solo il 15% circa chiama il vibe coding parte del loro lavoro professionale. Il coding assistito da IA è il caso predefinito. Spedire output non letto è ancora raro.

Un prompt contiene solo ciò che l'autore conosce

L'IA risponde al prompt che le è stato dato, quindi il limite massimo per il codice generato è la comprensione del dominio di chi ha scritto il prompt. Su problemi di dati B2B, quella comprensione raramente risiede con lo sviluppatore. Un responsabile degli acquisti che ha negoziato accordi fornitori per quindici anni sa cosa una clausola di prezzo indicizzata deve sopportare. Uno sviluppatore che scrive un prompt senza quella conoscenza ottiene codice che soddisfa l'esempio e niente oltre, e il divario rimane invisibile finché non arriva un vero contratto.

Per i team professionali, questo sposta il collo di bottiglia. La velocità di digitazione ha smesso di essere il vincolo da tempo, e la sintassi è andata con essa. Quello che limita l'output ora è quanto bene qualcuno ha estratto prima la conoscenza del dominio.

Un presupposto correlato merita di essere nominato. Le aziende software che hanno speso dieci anni sullo stesso prodotto raramente hanno sprecato quegli anni. Quel tempo contiene i casi limite che nessuno aveva anticipato, il modello di permessi che ha superato un audit, l'import che affronta il foglio di calcolo che un fornitore invia effettivamente piuttosto che quello che la specifica descriveva. Nulla di ciò raggiunge un prompt, perché nessuno lo scrive finché non si rompe una volta in produzione.

Uno sviluppatore esperto con buoni strumenti IA può riprodurre la forma di un prodotto maturo in settimane. Riprodurre ciò che ha imparato richiede più o meno lo stesso tempo che ha preso la prima volta. Vendiamo software, quindi pesate di conseguenza, poi testate: prendete un prodotto che conoscete bene e contate quanti dei suoi comportamenti avreste potuto specificare in anticipo.

Il debito tecnico risiede nell'impianto tecnico

Immaginate un'applicazione di gestione fornitori. Prima di gestire un singolo fornitore, ha bisogno di una lunga lista di cose che non hanno nulla a che fare con i fornitori.

Account, gruppi e ruoli, più permessi a livello di campo così gli acquisti vedono i termini commerciali e il responsabile dello stabilimento no. Una traccia di audit che registra chi ha modificato quale campo e quando. Validazione su ogni campo. Ricerca, filtri salvati e modifica in massa. Import dal foglio di calcolo che un fornitore ha inviato per email, export all'ERP. Job in background che sopravvivono a un aggiornamento di 40.000 righe. Un'API REST per la visualizzazione mobile che qualcuno richiederà più tardi.

Niente di ciò è il tuo problema aziendale. Tutto deve funzionare.

Fai un prompt per questo, e ottieni il controllo del ruolo implementato in un modo nel modulo fornitore e in un altro modo nel modulo contratti tre settimane dopo. Due meccanismi di permessi che non sono d'accordo su casi limite. Componenti sovrapposti, perché il modello ha ottimizzato ogni prompt localmente e non ha mai visto il tutto. Cambia la cronologia su quattro entità e non la quinta. Ogni pezzo funziona quando dimostrato. Insieme sono la fattura di manutenzione, e arriva indipendentemente dal fatto che qualcuno abbia chiamato il processo vibe coding.

Attraverso le implementazioni che abbiamo eseguito, la divisione tra impianto tecnico e logica specifica dell'azienda è sbilanciata in un modo coerente.

La parte specifica del business di un cliente è raramente più di un decimo di quello che viene costruito. Il resto è lo stesso in ogni applicazione aziendale mai scritta, ed è esattamente la parte che l'IA scrive in modo incoerente.

Quel rapporto decide l'economia. Il vibe coding è economico dove il lavoro è piccolo e costoso dove il lavoro si ripete.

Cosa una piattaforma dati ti fornisce prima del primo prompt

La piattaforma dati AtroCore è software open source sotto GPLv3, in sviluppo attivo dal 2018, costruita per master data management e integrazione di sistemi. I casi d'uso documentati includono servire come piattaforma low-code open source per software personalizzato.

Disponibile attraverso configurazione, prima che qualcuno scriva una riga di codice:

  • Modello dati.
    Entità e relazioni configurabili, oltre 20 tipi di campo con validazione automatica, layout configurabili, gerarchie multi-livello con ereditarietà, classificazione e tassonomie.
  • Accesso e cronologia.
    Utenti e gruppi illimitati, gestione dei ruoli, controllo dell'accesso a livello di campo, query di accesso configurabili, log di azioni, cronologia dei cambiamenti, commenti, proprietà del record, dashboard, filtri salvabili.
  • Movimento dei dati.
    Feed di import e export, richieste API configurabili e query di database, trasformazioni applicate prima dell'import o export, XLSX, CSV, JSON e XML, connessioni su REST, GraphQL, SOAP e OData.
  • Elaborazione.
    Un job manager dove imposti il conteggio dei worker rispetto alla capacità del server, job programmati, azioni basate su eventi, flussi di lavoro configurabili, e controlli di qualità dei dati. Pulsanti di azioni personalizzate posizionati nell'interfaccia per configurazione, ognuno eseguito su un singolo record o una selezione intera.
  • Output.
    Template PDF, documenti Office e email, più un'API REST che copre tutto, inclusa la tua configurazione.

Quello che rimane per il vibe coding è la parte che è effettivamente tua. La formula di adeguamento del prezzo indicizzato. La logica di confronto dei tender. Il connettore a quel modulo ERP che nessuno ha integrato prima.

Quel codice ha posti definiti dove vivere. AtroCore si estende attraverso moduli che scrivi tu stesso, e la logica più leggera si adatta a azioni, script e condizioni configurabili allegati alle entità esistenti. Il trigger è solitamente un pulsante configurato, il che significa che un'operazione in massa su 300 record selezionati non ha bisogno di nessuna schermata, nessuna route, e nessuna logica di permessi propria.

I risultati di Veracode si applicano ancora a tutto ciò che il modello scrive lì. Quello che cambia è il raggio di esplosione. Una formula di prezzo all'interno di un sistema che gestisce già l'autenticazione, i permessi a livello di campo, e la validazione dell'input ha meno modi di farti male di uno in un endpoint fatto a mano che ha anche inventato la sua stessa gestione delle sessioni.

Il contratto API svolge il lavoro dei guardrail

Un dettaglio nell'architettura di AtroCore importa più per il lavoro assistito da IA di quanto appaia. Lo strato HTTP segue rigorosamente PSR-7 e PSR-15. I handler si registrano attraverso attributi PHP e sono documentati automaticamente come OpenAPI 3.0. Secondo la documentazione del progetto, una route che non è completamente documentata non è registrata, e ogni richiesta e risposta è validata rispetto allo schema in runtime.

Considera quello che fa per un agente di codifica. Scrive un client, inventa un nome di campo plausibile, e la richiesta fallisce immediatamente con un errore di schema. Stessa sessione, il contesto è ancora aperto, la correzione costa trenta secondi. Gli errori catturati all'interno della sessione non si trasformano mai in debito tecnico. Senza un contratto al confine, quel campo inventato scrive da nessuna parte silenziosamente e riappare quattro mesi dopo come un'indagine sulla qualità dei dati. Il feedback veloce e implacabile è quello che rende il codice generato da IA economico da correggere, e la piattaforma lo fornisce senza che nessuno lo costruisca.

Quello schema è anche quello che dai all'agente. Perché la documentazione è generata dai handler piuttosto che mantenuta accanto a loro, la descrizione OpenAPI delle tue stesse entità configurate è attuale per costruzione, il che è raramente vero per una specifica mantenuta a mano. Dai a un modello quello schema più le tue convenzioni di naming e accesso, e scrive contro il contratto reale. Estendi il modello dati per configurazione più tardi, e lo schema si muove con esso, quindi il contesto dell'agente rimane accurato senza che nessuno aggiorni un documento.

La ricerca indica la fondazione, non lo strumento

Il rapporto DORA 2025 di Google ha trovato che l'IA agisce come un amplificatore, amplificando i punti di forza esistenti e la disfunzione esistente, con i maggiori ritorni che provengono dal sistema sottostante piuttosto che dagli strumenti. Il modello di capacità IA inaugurale di Google Cloud è più specifico: l'influenza positiva dell'IA sulla performance organizzativa è amplificata dove esistono piattaforme interne di qualità. Una seconda capacità copre ecosistemi dati sani: dati interni di alta qualità, accessibili e unificati. Una piattaforma dati configurabile sotto il tuo software personalizzato affronta entrambi.

Le affermazioni sulla velocità continuano a muoversi. La sperimentazione di METR dell'inizio 2025 ha trovato che gli sviluppatori esperti hanno impiegato il 19% più tempo nei repository maturi quando gli è stato consentito l'uso di strumenti IA, mentre il suo aggiornamento di febbraio 2026 punta verso un acceleramento e segnala effetti di selezione abbastanza forti da richiedere una riprogettazione. Tratta i numeri di produttività come non risolti. I risultati sulla manutenibilità non si sono mossi dal 2023.

Un esempio di contratto fornitori dai nostri progetti

I nostri clienti si rivolgono a noi con una versione riconoscibile dello stesso problema. Un produttore mantiene gli accordi fornitori come PDF su un'unità condivisa, termini chiave in un foglio di calcolo, date di rinnovo nel calendario di un solo responsabile degli acquisti. Nessuno può dire quali accordi contengono una clausola di adeguamento del prezzo legata a un indice di materia prima, perché quella clausola è una frase all'interno di un documento.

Strumenti standard di gestione dei contratti esistono, e presumono un flusso di lavoro del dipartimento legale che termina alla firma. Questa azienda aveva bisogno di contratti uniti a gruppi di materiali, stabilimenti, e record fornitori già nella loro master data, con obblighi che continuano a produrre lavoro per anni dopo la firma.

Sulla piattaforma dati, contratto, clausola, rinnovo e obbligo sono diventati entità configurate correlate ai record fornitore e materiale che già esistevano. L'accesso a livello di campo ha separato i termini commerciali dagli obblighi di consegna. La cronologia dei cambiamenti è venuta con la piattaforma, il che è importante la prima volta che due persone non erano d'accordo su uno sconto. Un job programmato ha segnalato le finestre di rinnovo.

Il codice personalizzato ha coperto due cose: il calcolo dell'adeguamento del prezzo basato su indice, e un connettore che alimenta il controllo della fattura nel loro ERP. Entrambi erano abbastanza ristretti da essere precisati e testati correttamente. La piattaforma vincola quello che il codice generato può toccare, e il vibe coding copre quello che non sarebbe mai stato in grado di conoscere su uno specifico business.

Dove tracciare la linea tra configurazione e vibe coding

La maggior parte delle best practice del vibe coding si riduce a due domande. Cosa viene configurato e cosa viene generato. L'IA ha un ruolo da giocare su entrambi i lati di quella linea, e i due ruoli non sono lo stesso lavoro.

Configura qualsiasi cosa che sia un record con campi, relazioni, permessi e un ciclo di vita. Questo copre più di quello che la maggior parte dei team si aspetta, inclusi flussi di approvazione, escalation e controlli programmati. I team nuovi a questo in modo coerente sotto-configurano, poi scrivono codice per fare quello che un'azione configurata già fa.

L'IA aiuta qui in un modo che viene trascurato. Chiedile come modellare un rinnovo di contratto con ereditarietà, o quale tipo di campo si addice a un intervallo di tolleranza, e un modello capace ti guida attraverso la configurazione. Puntala all'API REST, e può applicare quella configurazione stessa. Suggerire e applicare configurazione è un lavoro diverso da costruire il sistema, e comporta il miglior ritorno, perché una configurazione sbagliata si mostra nell'interfaccia entro minuti mentre un'architettura sbagliata si mostra al mese sei.

Genera le trasformazioni e i calcoli. Una formula, un mapping, un parser, una query di report. Superficie piccola, output atteso chiaro, facile da testare.

La verifica ha una forma concreta qui. Configura le regole di validazione e i controlli di qualità dei dati prima di generare qualsiasi cosa, poi esegui la logica generata su record le cui risposte conosci già, incluse quelle strane come il contratto senza data di fine. La piattaforma rifiuta quello che rompe le sue stesse regole, quindi il calcolo fallisce ad alta voce sul record che altrimenti avrebbe fallito silenziosamente in produzione. Mantieni quel set di record come il test di regressione per il prossimo modello che proverai.

Una categoria non appartiene a nessuna delle due. Dove una risposta sbagliata è costosa e silenziosa, scrivila tu stesso. Denaro, tasse, documentazione di sicurezza, qualsiasi cosa un regolatore legge. L'IA può produrre quel codice perfettamente bene. Il motivo per scriverlo a mano è che hai bisogno di averlo capito prima.

Se puoi descriverlo come dati più un cambio di stato, configuralo. Se ottenere un risultato sbagliato costa più di scriverlo lentamente, scrivilo lentamente.

Cosa questo approccio ti costa

Adotti le convenzioni di qualcun altro per come i record, le relazioni, i permessi e i processi funzionano. Dove il tuo modello mentale differisce, il tempo va nel combattere la piattaforma invece di usarla. Leggi la documentazione per gli sviluppatori prima di impegnarti.

AtroCore viene eseguito su PHP e ha bisogno di un server Linux con accesso root più PostgreSQL o MySQL. L'hosting condiviso ordinario non lo eseguirà. Nei nostri progetti, una volta che qualcuno conosce il sistema, un primo modello dati funzionante di quattro o cinque entità con relazioni, layout, ruoli e cronologia richiede giorni. Raggiungere quella familiarità richiede più tempo, il che è il motivo per cui il ritorno arriva al mese tre.

L'adattamento è limitato. Una piattaforma organizzata intorno a record, relazioni e processi aziendali costituisce una fondazione povera per il controllo in tempo reale o l'elaborazione dei segnali. Partisci da un framework per quelli. La sovra-configurazione è il suo stesso debito tecnico: venti entità dove cinque basterebbero è debito tecnico anche, più tranquillo del codice duplicato e più difficile da sciogliere una volta che i dati reali vi vivono.

Come giudicare una fondazione prima di iniziare a fare prompt

Due alternative competono con una piattaforma dati, e ognuna fallisce un test diverso. Un framework nudo ti lascia possedere ogni pezzo dell'impianto tecnico. Un costruttore low-code risolve questo e fa pagare in una valuta diversa: il vendor possiede il tuo modello dati, hosting e runtime, e i prezzi seguono il conteggio degli utenti. Quel compromesso funziona per una dashboard interna, male per un software che tiene i contratti fornitori per il prossimo decennio.

Tieni qualsiasi candidato rispetto a questa lista, incluse entrambe le alternative sopra.

  • Un'entità, un campo e una relazione, aggiunti senza un deployment.
  • Un singolo meccanismo di permesso che copre l'intero sistema, piuttosto che diversi che si allontanano.
  • Un'API generata dal codice e validata in runtime, piuttosto che documentata a mano e sbagliata entro un mese.
  • Una cronologia dei cambiamenti che nessuno nel tuo team ha dovuto costruire.
  • Lavoro in background che viene eseguito senza una nuova voce cron per job.
  • Un'uscita chiara: i tuoi dati, il tuo database, e il tuo diritto di continuare a far funzionare il sistema se il vendor scompare.

La maggior parte delle fondazioni fallisce diversi di questi. Sapere quali, prima del primo prompt, è la differenza tra debito tecnico che hai scelto e debito tecnico che hai ereditato.


Voto 0/5 basato su 0 valutazioni