Versiebeheer
Als je het had vastgelegd, ben je binnen een minuut klaar. Dit is de enige echte oplossing.
Het overkomt iedereen die met agents werkt: je vraagt om een kleine wijziging en krijgt een bestand terug dat op tien plekken anders is, inclusief het stuk waar je een uur aan hebt gewerkt. Wat nu.
De meeste schade ontstaat in de minuut ná de ontdekking.
De reflex is om de agent meteen te vragen het terug te draaien. Doe dat niet: hij weet niet wat er stond, dus hij verzint een reconstructie die er plausibel uitziet. Dat maakt het moeilijker om te zien wat er werkelijk verdwenen is.
Sluit ook je editor niet af en sla niets op tot je hebt gekeken wat er nog beschikbaar is. Elke actie kan de laatste kopie overschrijven.
Neem eerst een minuut om vast te stellen wat er precies is gebeurd. Is het bestand overschreven, of staat je werk er nog en is er iets bijgekomen dat het onbruikbaar maakt? Dat verschil bepaalt of je aan het terughalen bent of aan het opruimen, en dat zijn twee heel andere klussen.
Maak daarna een kopie van de huidige staat, hoe kapot die ook is. Dat klinkt tegenstrijdig, maar je wilt niet in de situatie belanden waarin je bij het terughalen van gisteren ook het goede werk van vanochtend kwijtraakt. Een kopie kost niets en geeft je de vrijheid om te proberen.
Als je het had vastgelegd, ben je binnen een minuut klaar. Dit is de enige echte oplossing.
De meeste editors houden lokale versies bij, ook zonder versiebeheer. Vaak uren terug.
In de agent-log staat vaak het oude fragment, omdat het is meegestuurd als context.
De tool is niet slechter geworden; je speelveld is groter.
Bij een editor-assistent die meetypt, gebeurt dit zelden. Je ziet elke wijziging ontstaan en je kunt op elk moment ingrijpen. Bij een agent die zelfstandig een opdracht uitvoert, zie je pas het eindresultaat, en dan is er al van alles gebeurd. Dat is geen fout in de tool maar de prijs van zelfstandigheid.
Daar komt bij dat agents steeds vaker meerdere bestanden tegelijk aanpakken. Een opdracht om 'de foutafhandeling consistent te maken' raakt in de praktijk twaalf bestanden, waarvan er eentje toevallig het bestand is waar jij vanochtend precisiewerk in deed. De agent weet niet dat dat stuk bijzonder was; voor hem is het gewoon code.
De conclusie is niet dat je terug moet naar meetypen. Het is dat je expliciet moet maken wat af is. Een opmerking in de code, een instructiebestand, of simpelweg een vastlegging voordat je hem loslaat: allemaal manieren om te zeggen 'hier niet aankomen' tegen een systeem dat het anders niet kan weten.
Van de meest complete kopie naar de minst complete.
Begin bij versiebeheer, ook als je denkt dat je niets hebt vastgelegd. Veel editors leggen automatisch iets vast bij het wisselen van tak of bij het opslaan, en er bestaat een categorie herstelopdrachten die werk terughaalt dat nooit officieel is vastgelegd. Dat is de plek waar de meest complete versie staat.
Werkt dat niet, kijk dan in de lokale geschiedenis van je editor. Vrijwel elke moderne editor houdt per bestand een reeks momentopnamen bij, los van versiebeheer, en bewaart die dagen. Dit is de vaakst vergeten redding.
Daarna pas het gesprek met de agent zelf. Als hij je bestand heeft gelezen voordat hij ging schrijven, staat de oude inhoud vaak letterlijk in de conversatie. Dat is geen volledige kopie — hij las misschien maar een deel — maar het redt vaak precies het stuk waar je een uur aan hebt gezeten.
En als laatste: je eigen geheugen plus wat er nog draait. Een oude versie die nog in een browsertabblad of op een testomgeving staat, is soms de enige kopie die over is.
Terughalen is niet altijd de goedkoopste route.
Er is een punt waarop het reconstrueren van verloren werk meer kost dan het opnieuw maken. Dat punt ligt eerder dan mensen denken, vooral als je nog goed weet wat je aan het doen was. Een uur werk dat je gisteren hebt bedacht, bouw je vandaag vaak in twintig minuten opnieuw, en meestal beter.
Wat je in dat geval wél moet doen, is eerst opschrijven wat er stond voordat je gaat bouwen. Niet de code, maar wat het moest doen en welke keuzes je onderweg hebt gemaakt. Dat is het deel dat je echt kwijtraakt, en het is in vijf minuten vastgelegd.
Behandel het daarna als een gewone opdracht, inclusief vastleggen vooraf. De neiging om na een verlies snel en slordig te werken om de tijd in te halen, is precies hoe je het een tweede keer meemaakt.
Dit is geen storing maar een eigenschap. Een agent die bestanden mag wijzigen, zal soms te veel wijzigen. Je beschermt je werk niet door betere prompts te schrijven, maar door te zorgen dat weggooien niets kost. Dat is dezelfde reden waarom je in een bouwdag vaak vastlegt: niet uit netheid, maar omdat het je vrijheid geeft om iets te proberen.
Vastleggen als handeling, niet als mijlpaal.
De meeste mensen leggen hun werk vast als er iets af is. Dat is een gewoonte uit een tijd waarin jij de enige was die je bestanden aanraakte. Zodra een agent zelfstandig mag schrijven, verandert de functie van vastleggen: het is geen markering van vooruitgang meer, maar de terugweg die je nodig hebt voordat je iets loslaat.
Praktisch betekent dat: leg vast vóór je een opdracht geeft die veel mag aanraken, niet erna. Het kost een handeling van vijf seconden en het maakt het verschil tussen een schouderophalen en een verloren middag. Wie dit een week volhoudt, doet het daarna vanzelf.
Het tweede stuk van de gewoonte is kleiner werken. Een opdracht die één ding verandert, is makkelijker te beoordelen en makkelijker terug te draaien dan een opdracht die 'de hele module opschoont'. Dat is niet trager; het is alleen minder spannend.
Sommige tools houden een eigen geschiedenis bij en kunnen dat. Vertrouw er niet op als enige vangnet: die geschiedenis is vaak beperkt tot de sessie.
Nee, het is een reden om versiebeheer te gebruiken. Dat is sowieso de gewoonte die het meest oplevert als je met AI bouwt.
Elke keer voordat je iets loslaat wat veel mag aanraken. Dat is vaker dan je gewend bent, en het kost niets.
Als vraag naar zijn eigen gedrag: beperkt, want hij reconstrueert. Wat wel werkt is hem vragen de huidige inhoud van het bestand te tonen en die te vergelijken met wat jij nog weet. Feiten uit het heden zijn betrouwbaarder dan zijn herinnering.
Dat is de schoonste route en hij kost je bijna niets. Een aparte tak per klus betekent dat de hoofdversie altijd de laatste staat is waarvan je zeker weet dat hij goed was, ongeacht wat er in de tak gebeurt.
Bij de meeste tools wel, via een instructiebestand of een uitsluitlijst. Doe dat voor alles wat af is en waar niets meer aan hoeft. Het is minder waterdicht dan het klinkt, maar het scheelt de meeste ongelukken.
In een bouwdag ontsluiten we één systeem met leesrechten en bouwen we een assistent die er vragen over beantwoordt. Dan weet je of het idee hout snijdt.
Een korte intake volgt na je inschrijving. Daarna stemmen we scope en datum af.
We nemen contact op om de intake in te plannen.
We gebruiken cookies om je ervaring te verbeteren en het gebruik van de site te meten.