Ik gebruik Claude Code op productiecodebases genoeg dat ik de maximale limieten bereik. "Vibe coding" beschrijft mijn werk niet. Een diepgaand begrip van software-engineering en computersystemen is vereist om de beslissingen te nemen die een complexe codebase gezond houden en ervoor zorgen dat de engineeringorganisatie van mijn bedrijf in staat is om onze productie-apps en -diensten te onderhouden. LLM's krijgen veel details goed, maar het is ook normaal dat een paar dingen verkeerd zijn of niet overeenkomen met hoe wij over software-engineering denken. Het vergt een expert om te zien welke 1 van de 10 uitkomsten herziening nodig heeft, of simpelweg verkeerd is. Een novice die de capaciteiten van de LLM meer vertrouwt dan zijn eigen oordeel, zal alle 10 geloven. Dit is een fragment uit een memo over AI-agenten die ik heb gedeeld met onze CRO @joe_d_ryan: LLM's accepteren onnauwkeurigheid. Je kunt details van je probleem en oplossing weglaten en LLM's zullen de leemtes invullen. Ze zullen vaak verkeerd zijn, maar je krijgt iets dat van begin tot eind werkt, wat waardevol is om op voort te bouwen. Maar je moet in staat zijn om hiaten en fouten in je prompts te spotten, omdat de LLM ze niet betrouwbaar zal identificeren. LLM's creëren onnauwkeurigheid. Je moet in staat zijn om fouten in de uitkomsten van de LLM te zien, en de LLM kan niet altijd zijn eigen werk controleren. Je moet al een visie hebben voor de eindtoestand en de richting waarin deze ligt, en de LLM gebruiken om sneller daar te komen. Experts die een probleem begrijpen en op zoek zijn naar versnelde oplossingen zullen positief worden versterkt, zichzelf schalend. Novices die LLM's vertrouwen, zullen negatief worden versterkt, zelfverzekerd in verkeerde oplossingen. De grens van wat het betekent om een expert te zijn, zal veranderen. Experts moeten weten hoe ze AI moeten toepassen en de grenzen van de mogelijkheden ervan. Een expert software-engineer moet de behendigheid hebben om een coderingsagent goed te gebruiken. Die behendigheid komt voort uit ervaring, intuïtie en talent. Een senior vaardigheid zal zijn om codebases, teams en bedrijven productief te laten samenwerken met agenten. Het is altijd een senior vaardigheid geweest om organisaties op te zetten voor succes en dat vervolgens te bereiken. Het typen van source code is grotendeels dood. We zullen hier en daar nog een paar regels bewerken. Het lezen, en belangrijker nog, het begrijpen van source code is zeer levend. We zullen hier meer van doen naarmate code sneller wordt geschreven. De kunst en wetenschap van software-engineering bloeien weer op. Dit is geen renaissance; software-engineering was nooit dood en wordt niet herboren. "Vibe coding" is anders. Het is iets nieuws dat geboren wordt. De dominante verandering is echter dat de industrie en discipline van software-engineering zich meer ontwikkelen dan ooit sinds het internet, zo niet sinds het begin.