Når din AI-kodeassistent mister tråden i projektet – og hvordan du fikser det
Hvorfor din AI-kodeassistent glemmer projektet (og hvordan du løser det)
De fleste kender situationen. Du starter et større projekt sammen med en AI-kodeassistent. Første dag går det strygende – API’et bliver sat op, tests skrives, og dokumentationen kommer på plads. Næste dag starter en ny samtale, og assistenten er forvirret. Du må forklare hele projektets struktur igen. Efter et par dage bruger du timer på at gennemgå gamle chats for at finde ud af, hvad der egentlig blev besluttet.
Problemet virker som et spørgsmål om kontekstvinduer, men det handler om noget mere grundlæggende: projektets tilstand ligger det forkerte sted.
Chat er ikke et projektarkiv
Chat-samtaler er gode til samarbejde, men dårlige som database. Her er de konkrete problemer:
- Beslutninger forsvinder i historikken og er svære at finde igen.
- Der findes ingen officiel kilde til sandheden.
- En ny samtale starter uden nogen hukommelse af tidligere arbejde.
- Modstridende beslutninger opstår, når forskellige agenter arbejder videre uden at vide, hvad de andre har gjort.
Den største udfordring er ikke, om AI’en kan skrive kode. Den er, om den forstår, hvad du bygger, og hvorfor.
Gem projektets tilstand som filer i repoet
Løsningen er simpel: Gem projektets tilstand som strukturerede Markdown-filer direkte i dit repository – ikke i chats, ikke i eksterne værktøjer.
En typisk fil kan se sådan ud:
# Projektbeslutning
Lifecycle: active
Role: spec
Project: payment-service
Updated: 2024-01-15
Related:
- implements: charter-payment-api
- pairs-with: implementation-log-payment-core
## Oversigt
Vi bruger Stripe direkte i stedet for en wrapper...
## Vigtige beslutninger
- Idempotensnøgler på alle operationer
- Asynkron webhook-håndtering med exponential backoff
- PII gemmes aldrig lokalt
Formatet er bevidst simpelt. Ingen speciel syntax, ingen database. Bare en titel, metadata og indhold.
CLI-værktøjet gør arbejdet
Med et simpelt CLI-værktøj kan du:
- Oprette nye filer med ensartet struktur
- Arkivere færdige filer uden at slette dem
- Flytte filer og opdatere alle relationer automatisk
- Liste alle aktive specs eller logs med filtre
- Validere at alle relationer peger på eksisterende filer
Frisk agent – kendt tilstand
Det interessante sker, når du starter en ny samtale. I stedet for at bede AI’en om at læse hele chathistorikken, giver du den en kommando:
docs list --project=payment-service --role=spec
Agenten kan nu spørge direkte ind til projektets tilstand. Den ser, hvad der er besluttet, hvad der arbejdes på, og hvad der mangler. Den kan også opdatere tilstanden gennem kommandoer i stedet for at redigere filer manuelt.
Hvem har brug for det?
Mønsteret er relevant, hvis du:
- Bruger AI til pair programming over flere dage
- Har agent-workflows, der skal genoptages uden fuld kontekst
- Kører CI/CD-pipelines, der skal validere projektets sammenhæng
- Arbejder i teams, hvor alle skal vide, hvad der er besluttet
Det erstatter ikke Git eller tests. Det er det lag, der gør AI-assisteret udvikling sammenhængende over tid.