Ci sono due narrazioni prevalenti sulla vibe coding. La prima è che puoi scrivere una singola frase e l'IA ti restituirà un'app da un milione di dollari. La seconda è che, poiché l'IA scrive tutto il codice, gli umani non hanno idea di cosa ci sia dentro. Deve quindi, alla fine, fallire e causare un'apocalisse su larga scala.
Entrambe queste narrazioni sono caricature della realtà. Negli articoli precedenti, ho parlato del mio lavoro su una varietà di progetti vibe-coded. Abbiamo visto come siano sia fantastici che molto impegnativi. In questo articolo, mi immergerò a fondo nelle domande di manutenzione e sostenibilità che derivano dal cedere il controllo della codifica a una macchina.
Quando ero un giovane product manager, fui mandato a Los Angeles per supportare il nostro VP delle vendite. Decise di portarmi in uno dei suoi ristoranti preferiti. Questo ristorante era specializzato in cucina fusion, il che significava che lo chef mescolava molte influenze diverse nel suo cibo. Aveva la reputazione per lo speciale dello chef, che era qualunque cosa lo chef decidesse di creare per te quella sera.
Ricordo di aver pensato: in cosa mi sono cacciato? Sapevo che avrei mangiato, ma non avevo idea di cosa mi sarei aspettato di ingerire. Come si è scoperto, il cibo che abbiamo mangiato quella sera era... strano. Era commestibile. Non era un posto in cui sarei tornato volontariamente.
La codifica agentica è molto simile ad andare in quel ristorante. Sai che la reputazione dell'IA di codifica che stai usando è buona, ma non hai davvero idea di cosa ti verrà consegnato. Hai poca visibilità sul codice effettivo proveniente dall'IA. Fondamentalmente, dovrai mangiarlo, indipendentemente da ciò che ti è stato servito.
Quando hai agenti che scrivono il tuo codice, è come avere un gruppo di appaltatori o subordinati che scrivono il tuo codice. Finché non lo testi e lo valuti, non hai idea di cosa otterrai.
Tutto si basa sul tuo prompt. Garbage-in, garbage-out ha un significato molto più profondo di quanto la vecchia frase logora implicherebbe. Se non fai il prompt in modo abbastanza chiaro e non mantieni la conversazione con sufficiente chiarezza e supervisione, il codice che riceverai dall'IA sarà difficile da digerire.
I manager di ingegneria hanno affrontato la sfida di gestire gli appaltatori sotto la loro supervisione fin dai tempi delle piramidi. Assegnare lavoro e valutare il prodotto del lavoro è ciò che fanno i manager di ingegneria. Mantenere qualità e controllo in quel processo è al centro dell'ingegneria del software.
D'altra parte, mentre gran parte del pessimismo sulla vibe coding è iperbole, c'è anche del vero. Senza standard e pratiche di qualità, potresti ritrovarti con codice problematico. In questo articolo, discuteremo i miti che circondano la codifica agentica e le migliori pratiche che ti aiuteranno a ottenere dalle IA ciò che hai chiesto.
Molti sostenitori della codifica IA raccomandano di fornire all'IA documenti di requisiti profondi e ricchi. Tuttavia, la mia esperienza è che le IA possono interpretare male un singolo elemento di quel documento profondo e andare completamente fuori strada in modi che non puoi tracciare o trovare.
Preferisco dare all'IA un compito semplice. Una volta completato con successo, gliene do un altro. In questo modo, c'è meno opportunità per l'IA o per me di perdere traccia del piano generale.
Come sviluppatore singolo, scrivevo codice riga per riga. Sudavo ogni singola riga. Sapevo tutto del mio codice. Ma quando ero un manager di ingegneria, dovevo fare affidamento sui miei team e sui singoli sviluppatori nei miei team.
Certo, avevamo programmatori (più o meno l'equivalente degli agenti). Ma avevo ancora bisogno di costruire una disciplina di test e integrazione nel sistema, per essere sicuro che ciò che veniva inviato da uno qualsiasi dei nostri programmatori o appaltatori funzionasse con tutto il resto.
Se hai intenzione di usare la codifica agentica, dovrai fare lo stesso. Punti di controllo in ogni fase. Tieni traccia attentamente dell'integrazione. Presumi di ricevere consegne da appaltatori esterni e quindi di dover controllare il loro lavoro prima di incorporarlo nel tuo progetto principale.
Ho un amico che temo condividere il mio sof