I have just realized that Il Post released part of an interview I gave on the topic of vibe coding a few months ago (article in Italian). I have many problems with the term Vibe Coding, but I suspect the expression will gradually fade, and it will return to being just “coding”, like wireless phones are now just phones or online banking is now just banking.
I’m adding here the full context of the interview. (Scroll down for translation)
Il vibe coding non è una moda, ma uno spostamento tettonico nel campo dell’Informatica.
Personalmente, ho cominciato a usare i LLM per scrivere codice nel 2022 quando GPT-3 era lo stato dell’arte. Quando è uscito GPT-4 circa 8 mesi dopo, ho notato un forte cambiamento nelle mie abitudini da programmatore. Anziché fare domande precise su come risolvere un problema, ho cominciato a fare domande più generiche, praticamente descrivendo quello che desideravo in output, di fatto dando al modello maggiore autonomia di risolvere il problema nel modo che preferiva. Il sentimento prevalente di quei giorni è un misto di esaltazione e panico. Alan Warburton ha fatto un ottimo lavoro nel descrivere il wonder panic nel suo documentario sugli effetti delle AI nel mondo degli artisti, te lo raccomando. Molto di quello che dice è applicabile per gli sviluppatori.
Neanche un anno dopo, intorno a inizio 2024, ho notato che persone vicine a me che non erano sviluppatori, ma erano un pochino smanettoni o avevano una tendenza al pensiero analitico, avevano cominciato a usare i LLM nello stesso modo e stavano avendo successo a lavoro, accelerando il loro processi e rivelando inefficienze nel loro campo.
Fra i miei amici sviluppatori c’è una divisione che quella fra democratici e repubblicani a confronto è nulla. Da una parte ci sono quelli che come me hanno abbracciato questi strumenti e sono entusiasti di poter esplorare più idee con più facilità e più rapidamente. Dall’altra parte ci sono quelli che giurano di voler morire prima di usare un LLM (“just a giant autocomplete”, “just a stupid markov chain”, etc.) e sono convinti che un LLM non sostituirà mai il loro lavoro. Io sono convinto che nel giro di 5 anni al massimo si dovranno ricredere e trasformare/adattare la loro professione.
Arrivando alla tua seconda domanda: credo che il tuo futuro sia già il presente per molti! Allo stato attuale, usando LLM per scrivere un programma non molto modulare, si giunge presto a un punto in cui il modello comincia a perdersi pezzi e fare errori ed è necessario che qualcuno capisca quello che sta succedendo. Questo punto di rottura con Claude 3.7 è già molto alto, parliamo di decine di migliaia di righe di codice. Ma sono convinto che a breve questo limite sarà meno evidente e anche società con grandi codebase cominceranno a usare questi nuovi strumenti.
Ovviamente gli umani insisteranno per rimanere sul sedile del guidatore. Ovviamente vorremo accertarci che tutto quello prodotto da un modello sia vagliato da un esperto, specialmente quando il suo uso è critico. Ovviamente capire quello che sta succedendo è essenziale per noi. Un buon modello di esempio è il pilota automatico degli aerei. La maggior parte del volo è nelle mani del PA, ma per decollo e atterraggio, le fasi più critiche, gli umani insistono ad avere il controllo totale. Lo stesso avverrà per il codice scritto per fini commerciali.
Ci sarà sempre bisogno di qualcuno che capisce quello che sta succedendo dietro le quinte. Il numero di persone in grado di programmare l’intera stack stava già diminuendo (io conosco solo tre o quattro persone in grado di scrivere in qualche dialetto del linguaggio assembly, per esempio), e credo che i LLM renderanno questo fenomeno ancora più evidente. Il che non significa necessariamente meno lavoro per i programmatori (anche se è una possibilità), ma semplicemente uno spostamento di ruolo un gradino più alto. I coder diventano manager e fanno supervisione del lavoro dei LLM. Molte persone adorano scrivere codice, e quando le società decideranno che è più economico lasciare quel task alle macchine, quelle persone soffriranno.
Vibe coding isn’t a fad, but a tectonic shift in the field of computing.
Personally, I started using LLMs to write code in 2022, when GPT-3 was the state of the art. When GPT-4 came out about eight months later, I noticed a strong change in my programming habits. Instead of asking precise questions about how to solve a problem, I began asking more generic ones—basically describing what I wanted as output—effectively giving the model more autonomy to solve the problem however it preferred. The prevailing feeling in those days was a mix of exhilaration and panic. Alan Warburton did a great job describing this “wonder panic” in his documentary about AI’s effects on the world of artists—I recommend it. Much of what he says applies to developers.
Not even a year later, around early 2024, I noticed that people close to me who weren’t developers but were a bit tech-savvy or had an analytical bent had started using LLMs the same way and were finding success at work, speeding up their processes and revealing inefficiencies in their field.
Among my developer friends there’s a divide that makes the one between Democrats and Republicans look mild by comparison. On one side are those who, like me, have embraced these tools and are excited to explore more ideas more easily and more quickly. On the other side are those who swear they’d rather die than use an LLM (“just a giant autocomplete,” “just a stupid Markov chain,” etc.) and are convinced an LLM will never replace their job. I’m convinced that within at most five years they’ll have to change their minds and transform/adapt their profession.
Coming to your second question: I think your future is already the present for many! As things stand, when you use LLMs to write a not-very-modular program, you quickly hit a point where the model starts losing track of pieces and making mistakes, and someone has to understand what’s going on. With Claude 3.7 this breaking point is already very high—we’re talking tens of thousands of lines of code. But I’m convinced that soon this limit will be less apparent, and even companies with large codebases will start using these new tools.
Obviously, humans will insist on staying in the driver’s seat. Obviously, we’ll want to make sure everything produced by a model is vetted by an expert, especially when its use is critical. Obviously, understanding what’s going on is essential for us. A good analogy is the airplane autopilot. Most of the flight is in the autopilot’s hands, but for takeoff and landing—the most critical phases—humans insist on having full control. The same will happen for code written for commercial purposes.
There will always be a need for someone who understands what’s happening behind the scenes. The number of people capable of programming the entire stack was already shrinking (I personally know only three or four people who can write in some dialect of assembly language, for example), and I believe LLMs will make this phenomenon even more pronounced. That doesn’t necessarily mean less work for programmers (though it’s a possibility), but rather a shift in role one rung higher. Coders become managers, supervising the work of LLMs. Many people love writing code, and when companies decide it’s cheaper to leave that task to machines, those people will suffer.
Post a Comment through Mastodon
If you have a Mastodon account, .