Hoe ik AI gebruik om code te releasen
Stop met het proberen te schrijven van slimme prompts. Begin met het ontwerpen van context.
De meeste mensen gebruiken AI op de verkeerde manier. Ze vragen om een feature in één zin. De AI geeft code terug die de verkeerde libraries gebruikt, je naamgevingsconventies overtreedt en oude bugs opnieuw introduceert. Je brengt je middag door met het oplossen van de puinhoop.
Een AI zonder context is een junior developer die je codebase nooit heeft gelezen. Het vergeet alles van gisteren. Je zou een nieuwe medewerker ook geen ticket van één regel geven en perfecte code verwachten. Je zou ze een onboarding-document geven.
Ik gebruik een project memory file in mijn repo. Dit bestand dient als een onboarding-document dat de AI elke keer leest. Het bevat projectspecifieke regels die een buitenstaander niet zou weten:
• Niet-onderhandelbare zaken: Hoe URL's eruit moeten zien en hoe slugs moeten overeenkomen met de productieomgeving. • Logische regels: Waarden afleiden uit configuraties in plaats van getallen hardcoden. • Edge cases: Specifieke CDN-instellingen of bestandspaden die stille fouten voorkomen.
Elke fout die ik maak, wordt een regel in dit bestand. Hierdoor wordt het bestand een asset die steeds meer waarde toevoegt. De kwaliteit van de AI-output verbetert na verloop van tijd, omdat ik mezelf niet meer hoef te herhalen.
Mijn workflow volgt deze stappen:
- De context bootstrappen: Vraag de AI om een concept van het memory file te maken op basis van je code, en pas het daarna zelf aan.
- De taak herhalen: Vraag de AI om het doel samen te vatten voordat het code schrijft. Zo worden fouten vroegtijdig ontdekt.
- De prompt verbeteren: Vraag de AI wat er onduidelijk is aan je verzoek.
Gebruik AI voor deze taken:
- Het schrijven van boilerplate en scaffolding.
- Refactoring op basis van bestaande patronen.
- Het uitleggen van onbekende code.
- Mechanische controles door een hele repo.
- Het schrijven van tests en fixtures.
Vermijd het gebruik van AI voor deze taken:
- Het nemen van nieuwe architecturale beslissingen.
- Het maken van keuzes op basis van smaak of productvisie.
- Alles waarbij een fout kostbaar is.
- Beveiligingskritisch ontwerp.
- De laatste review voordat je code releaset.
De discipline is simpel:
- Houd de scope van taken klein. Zeg niet "bouw deze feature", maar "voer deze specifieke wijziging uit".
- Geef vooraf context.
- Verifieer elke output. Draai de build en lees de diff.
- Review het als de PR van een junior developer. Commit nooit code zonder dat een mens het heeft gelezen.
- Voer geleerde lessen terug in je contextbestand.
De kracht zit niet in de prompt. De kracht zit in de context die je onderhoudt.
Optionele leercommunity: https://t.me/GyaanSetuAi
