Lärarhandledning · L6
AI-genererade Instruktionsfiler
Studenterna genererar, itererar och versionshanterar instruktionsfiler — och ser konkret hur varje iteration förbättrar AI:s kodkvalitet.
Lektionsmål
- Generera en projektspecifik instruktionsfil med AI från befintlig kod
- Skilja mellan generella regler (inte ok) och projektspecifika regler (ok)
- Iterera instruktionsfilen tre gånger och dokumentera förbättringen
- Committa instruktionsfiler med beskrivande commit-meddelanden
Agenda
0:00–0:30
Vad som gör en bra regel — teori
Visa exempel: "Följ SOLID" (dålig) vs "Returnera alltid Result<T>, aldrig exception" (bra). Gå igenom de sex filtypsscopen och deras applyTo-mönster.
0:30–1:10
Demo — Generera och iterera live
Kör promptmallen från del 07 på L5-koden. Visa det genererade resultatet. Identifiera tre svagheter live med klassen. Iterera promoten. Visa skillnaden.
1:10–1:25
Versionshantering och commit-strategi
Visa git-kommandona från del 07. Poängtera: varje meningsfull regeländring = en commit.
1:40–2:55
Workshop
Se workshopbeskrivning nedan.
Demo-script — Iterera instruktionsfilen
Iteration 1 — Generera med promptmallen
Kör promptmallen från del 07. Resultatet är ofta för generellt — visa det. Be klassen identifiera vilka regler som är generella och kan tas bort.
Iteration 2 — Rensa generella regler, lägg till projektspecifika
Ta bort regler som "Följ SOLID-principerna". Lägg till: "Använd alltid OrderId (record), aldrig Guid direkt, för ordrelaterade aggregat." Kör Copilot igen — bättre?
Iteration 3 — Testa negativa regler
Lägg till "Förbjudna mönster"-sektionen. Testa om Copilot nu undviker de förbjudna mönstren. Committa med: git commit -m "chore(instructions): add forbidden patterns for domain layer"
Workshop — instruktioner
Workshop L6 — Generera och iterera dina instruktionsfiler
- Ta din
domain.instructions.md från L5 (eller generera en ny med promptmallen)
- Identifiera tre svagheter: (a) generella regler, (b) saknade regler, (c) oklara formuleringar
- Korrigera varje svaghet — en iteration per svaghet, en commit per iteration
- Skapa även
tests.instructions.md med namnkonvention och AAA-krav
- Testa båda filerna: be Copilot generera en klass och ett test — dokumentera vad som förbättrades
FAQ
| Fråga | Svar |
| "Hur vet jag om en regel är tillräckligt specifik?" |
Testa: kan en erfaren C#-utvecklare som inte känner till projektet förstå och följa regeln utan mer kontext? Om ja, är den troligen tillräckligt specifik. Om svaret är "det beror på", är den för vag. |
| "Hur många regler bör en instruktionsfil ha?" |
Del 07 rekommenderar max 35. I praktiken: börja med 10–15 och lägg till vid behov. Fler regler ger mer kontext men också mer brus. Prioritera de regler som faktiskt påverkar AI:s output. |
| "Ska jag ha instruktionsfiler för varje lager?" |
Ja, och det är poängen. Domänlagret har andra regler än API-lagret. Scope dem med applyTo så att Copilot ser rätt regler för rätt fil. |
Nästa lektion — förberedelse
Läs del 08 (Code Review). Ta med din code-review-prompt-idé — vad vill du att AI ska granska i ditt specifika projekt?