346 lines
7.5 KiB
Markdown
346 lines
7.5 KiB
Markdown
# Les 13: Prompt Engineering & Custom GPTs
|
|
|
|
---
|
|
|
|
## Hoofdstuk
|
|
**Deel 4: Advanced AI Features** (Les 13-18)
|
|
|
|
## Beschrijving
|
|
Verdiep je in advanced prompt engineering en leer eigen AI assistenten maken met Custom GPTs en Claude Projects. Focus op no-code manieren om AI te personaliseren voor jouw workflow.
|
|
|
|
---
|
|
|
|
## Te Behandelen
|
|
|
|
### Groepsdiscussie (15 min)
|
|
Bespreek klassikaal de Cursor reflecties uit Les 12 - welke features werken het beste voor welke taken?
|
|
|
|
### Advanced Prompt Engineering
|
|
|
|
**Recap van basis technieken (Les 4):**
|
|
- Zero-shot vs few-shot prompting
|
|
- Chain-of-thought reasoning
|
|
- Role prompting
|
|
|
|
**Nieuwe technieken:**
|
|
|
|
#### 1. Structured Output Prompting
|
|
```
|
|
Analyseer deze code en geef feedback in dit exacte format:
|
|
|
|
## Samenvatting
|
|
[1 zin over de code]
|
|
|
|
## Sterke punten
|
|
- [punt 1]
|
|
- [punt 2]
|
|
|
|
## Verbeterpunten
|
|
- [punt 1 met code voorbeeld]
|
|
- [punt 2 met code voorbeeld]
|
|
|
|
## Prioriteit
|
|
[Hoog/Medium/Laag]: [waarom]
|
|
```
|
|
|
|
#### 2. Constraint-Based Prompting
|
|
```
|
|
Schrijf een React component met deze constraints:
|
|
- Maximaal 50 regels code
|
|
- Geen externe dependencies
|
|
- TypeScript met strict types
|
|
- Alleen Tailwind voor styling
|
|
- Inclusief error handling
|
|
```
|
|
|
|
#### 3. Iterative Refinement
|
|
```
|
|
Stap 1: "Schrijf een basis login form"
|
|
Stap 2: "Voeg validatie toe"
|
|
Stap 3: "Voeg loading states toe"
|
|
Stap 4: "Voeg error handling toe"
|
|
Stap 5: "Optimaliseer voor accessibility"
|
|
```
|
|
|
|
---
|
|
|
|
### Custom GPTs
|
|
|
|
**Wat zijn Custom GPTs?**
|
|
Gespecialiseerde ChatGPT versies met:
|
|
- Specifieke instructies (personality, expertise)
|
|
- Eigen kennis (uploaded files)
|
|
- Optioneel: Actions (API calls)
|
|
|
|
**Wanneer een Custom GPT maken:**
|
|
- Repetitieve taken met dezelfde context
|
|
- Specifieke expertise nodig
|
|
- Delen met team of anderen
|
|
|
|
**Custom GPT maken:**
|
|
1. Ga naar chat.openai.com/gpts
|
|
2. Klik "Create"
|
|
3. Configureer in "Create" tab OF gebruik "Configure"
|
|
|
|
**Voorbeeld: Code Review GPT**
|
|
```
|
|
Instructions:
|
|
Je bent een code reviewer gespecialiseerd in React/Next.js.
|
|
|
|
Bij elke code review check je:
|
|
1. TypeScript best practices
|
|
2. React hooks correct gebruik
|
|
3. Performance (unnecessary re-renders)
|
|
4. Accessibility basics
|
|
5. Error handling
|
|
|
|
Geef feedback in dit format:
|
|
- ✅ Goed: [wat goed is]
|
|
- ⚠️ Suggestie: [verbeterpunten]
|
|
- ❌ Issue: [problemen die gefixed moeten worden]
|
|
```
|
|
|
|
**Voorbeeld: Project Assistant GPT**
|
|
```
|
|
Instructions:
|
|
Je bent mijn persoonlijke development assistant voor [project naam].
|
|
|
|
Tech stack:
|
|
- Next.js 14 met App Router
|
|
- TypeScript strict mode
|
|
- Tailwind CSS
|
|
- Supabase voor backend
|
|
|
|
Je kent de volgende conventies:
|
|
- Named exports (geen default exports)
|
|
- Nederlandse comments
|
|
- Error handling met try/catch
|
|
|
|
Wanneer ik code vraag:
|
|
1. Vraag eerst om context als die ontbreekt
|
|
2. Geef TypeScript code met types
|
|
3. Voeg korte uitleg toe
|
|
```
|
|
|
|
---
|
|
|
|
### Claude Projects
|
|
|
|
**Wat is een Claude Project?**
|
|
- Verzameling van context specifiek voor één doel
|
|
- Blijft behouden over conversaties
|
|
- Kan bestanden bevatten als knowledge base
|
|
|
|
**Wanneer gebruiken:**
|
|
- Terugkerend werk aan hetzelfde project
|
|
- Consistente coding style nodig
|
|
- Documentatie die AI moet kennen
|
|
|
|
**Project aanmaken:**
|
|
1. Ga naar claude.ai → Projects
|
|
2. Klik "New Project"
|
|
3. Voeg project knowledge toe (files, instructies)
|
|
4. Start conversaties binnen het project
|
|
|
|
**Voorbeeld Project Instructions:**
|
|
```
|
|
Je bent een expert React/Next.js developer die mij helpt met [project].
|
|
|
|
Technologie stack:
|
|
- Next.js 14 met App Router
|
|
- TypeScript strict mode
|
|
- Tailwind CSS
|
|
- Supabase voor backend
|
|
- React Query voor data fetching
|
|
|
|
Coding conventions:
|
|
- Functional components met TypeScript
|
|
- Named exports (geen default exports)
|
|
- Error handling met try/catch
|
|
- Nederlandse comments in code
|
|
|
|
Wanneer je code schrijft:
|
|
- Gebruik altijd TypeScript types
|
|
- Voeg JSDoc comments toe voor complexe functies
|
|
- Denk aan edge cases en error handling
|
|
```
|
|
|
|
**Project Knowledge toevoegen:**
|
|
- Upload je belangrijkste files (schema, README, .cursorrules)
|
|
- Upload voorbeeldcode die je stijl toont
|
|
- Upload documentatie van libraries die je gebruikt
|
|
|
|
---
|
|
|
|
### Custom GPTs vs Claude Projects
|
|
|
|
| Aspect | Custom GPT | Claude Project |
|
|
|--------|------------|----------------|
|
|
| **Beschikbaar** | ChatGPT Plus ($20/maand) | Claude Pro ($20/maand) |
|
|
| **Knowledge** | File uploads (tot 20 files) | File uploads (tot 200k tokens) |
|
|
| **Delen** | Kan gepubliceerd worden | Alleen persoonlijk |
|
|
| **Actions** | Ja (API calls) | Nee |
|
|
| **Context window** | ~128k tokens | ~200k tokens |
|
|
| **Beste voor** | Gedeelde tools, API integratie | Persoonlijke projecten, grote codebases |
|
|
|
|
---
|
|
|
|
### Prompt Templates Library
|
|
|
|
**Code Generation:**
|
|
```
|
|
Context: [beschrijf je project/stack]
|
|
Taak: [wat moet er gemaakt worden]
|
|
Requirements:
|
|
- [requirement 1]
|
|
- [requirement 2]
|
|
Constraints:
|
|
- [constraint 1]
|
|
Output: [gewenst format]
|
|
```
|
|
|
|
**Debugging:**
|
|
```
|
|
Error message:
|
|
[plak error]
|
|
|
|
Relevante code:
|
|
[plak code]
|
|
|
|
Wat ik verwacht:
|
|
[gewenst gedrag]
|
|
|
|
Wat er gebeurt:
|
|
[actueel gedrag]
|
|
```
|
|
|
|
**Code Review:**
|
|
```
|
|
Review de volgende code op:
|
|
1. Best practices voor [framework]
|
|
2. Potentiële bugs
|
|
3. Performance issues
|
|
4. Security vulnerabilities
|
|
|
|
[plak code]
|
|
|
|
Geef feedback in format: ✅ Goed / ⚠️ Suggestie / ❌ Issue
|
|
```
|
|
|
|
**Refactoring:**
|
|
```
|
|
Refactor deze code met de volgende doelen:
|
|
- [doel 1, bijv. "verbeter leesbaarheid"]
|
|
- [doel 2, bijv. "reduceer duplicatie"]
|
|
|
|
Behoud dezelfde functionaliteit.
|
|
Leg uit wat je verandert en waarom.
|
|
|
|
[plak code]
|
|
```
|
|
|
|
---
|
|
|
|
## Tools
|
|
- ChatGPT (Custom GPTs)
|
|
- Claude (Projects)
|
|
- Prompt template documenten
|
|
|
|
---
|
|
|
|
## Lesopdracht (2 uur)
|
|
|
|
### Bouw Je Eigen AI Assistants
|
|
|
|
**Deel 1: Claude Project (45 min)**
|
|
|
|
Maak een Claude Project voor je eindproject:
|
|
1. Ga naar claude.ai → Projects → New Project
|
|
2. Schrijf project instructions:
|
|
- Tech stack
|
|
- Coding conventions
|
|
- Project specifieke regels
|
|
3. Upload relevante files (schema, README)
|
|
4. Test met 3 verschillende vragen
|
|
|
|
**Deel 2: Custom GPT (45 min)**
|
|
|
|
Maak een Custom GPT voor code review:
|
|
1. Ga naar chat.openai.com/gpts
|
|
2. Klik "Create"
|
|
3. Schrijf instructions voor jouw stack
|
|
4. Test met code uit je project
|
|
|
|
**Deel 3: Vergelijking (30 min)**
|
|
|
|
Test dezelfde taak met beide:
|
|
- "Review deze component op best practices"
|
|
- Noteer verschillen in output
|
|
- Welke is beter voor welk doel?
|
|
|
|
### Deliverable
|
|
- Claude Project URL of screenshot
|
|
- Custom GPT (als je ChatGPT Plus hebt) of instructies doc
|
|
- Vergelijkingsnotities
|
|
|
|
---
|
|
|
|
## Huiswerk (2 uur)
|
|
|
|
### Optimaliseer Je AI Assistants
|
|
|
|
**Deel 1: Iteratie (1 uur)**
|
|
|
|
Verbeter je Claude Project:
|
|
1. Test met 5 verschillende taken
|
|
2. Noteer waar instructies tekortschieten
|
|
3. Pas instructies aan
|
|
4. Test opnieuw
|
|
|
|
Documenteer in `docs/AI-ASSISTANTS.md`:
|
|
- Originele instructies
|
|
- Wat niet werkte
|
|
- Verbeterde instructies
|
|
- Resultaat verschil
|
|
|
|
**Deel 2: Prompt Library (30 min)**
|
|
|
|
Maak een persoonlijke prompt library:
|
|
```markdown
|
|
# Mijn Prompt Templates
|
|
|
|
## Code Generation
|
|
[template]
|
|
|
|
## Debugging
|
|
[template]
|
|
|
|
## Code Review
|
|
[template]
|
|
|
|
## Refactoring
|
|
[template]
|
|
```
|
|
|
|
**Deel 3: Reflectie (30 min)**
|
|
|
|
Schrijf reflectie (300 woorden):
|
|
- Welke AI assistant gebruik je waarvoor?
|
|
- Wat is het verschil tussen Claude Projects en Custom GPTs?
|
|
- Hoe heeft dit je workflow verbeterd?
|
|
|
|
### Deliverable
|
|
- Geoptimaliseerde AI assistant instructies
|
|
- Prompt library document
|
|
- Reflectie (300 woorden)
|
|
|
|
---
|
|
|
|
## Leerdoelen
|
|
Na deze les kan de student:
|
|
- Advanced prompt engineering technieken toepassen (structured output, constraints, iterative refinement)
|
|
- Een Custom GPT maken met specifieke instructies en knowledge
|
|
- Een Claude Project opzetten met project context
|
|
- De juiste tool kiezen (Custom GPT vs Claude Project) per use case
|
|
- Een persoonlijke prompt library opbouwen en onderhouden
|