Files
novi-lessons/Samenvattingen/Les12-Samenvatting.md
2026-06-07 15:15:11 +02:00

78 lines
2.3 KiB
Markdown

# Les 12: Tool Calling — Laat AI zelf functies kiezen
> ✅ **Deze les is volledig uitgewerkt**
## Lesmateriaal
- [Slide Overzicht](../Les12-Tool-Calling/Les12-Slide-Overzicht.md)
- [Docenttekst](../Les12-Tool-Calling/Les12-Docenttekst.md)
- [Lesstof](../Les12-Tool-Calling/Les12-Lesstof.md)
- [Lesopdracht](../Les12-Tool-Calling/Les12-Lesopdracht.md)
- [Huiswerk](../Les12-Tool-Calling/Les12-Huiswerk.md)
---
## Deel
**Deel 3 — AI Development** (Les 11-16)
## Beschrijving
Vervolg op Les 11. We lossen het schaalprobleem op: niet alles in de context proppen, maar de AI laten kiezen welke tool (functie) hij nodig heeft. We bouwen 6 tools voor de Polderfest-app: search, stats, schedule, favorites en meer.
---
## Te Behandelen
### Theorie
- Wat is Tool Calling? (vergelijking met traditionele API-call)
- Het schaalprobleem: 30.000 tokens per call werkt niet voor 50.000 records
- `tool({ description, inputSchema, execute })` met Zod
- `stopWhen: stepCountIs(5)` — multi-step reasoning
- Wanneer tool calling NIET de oplossing is
### Live demo's
1. Eerste tool: `searchBands` met Zod-schema
2. Multi-step setup + extra tools (stats, schedule)
3. Streaming + tool-results renderen in de UI
4. Debug-view: zien welke tools de AI kiest
---
## Tools
- Vercel AI SDK v6 (`tool`, `stepCountIs`)
- Zod voor input-validatie
- Supabase queries vanuit tools
- Polderfest-demo (in repo: `Les12-Tool-Calling/polderfest-demo`)
---
## Lesopdracht (in-class, 60 min)
Studenten kijken klassikaal mee. In-class oefening:
- Voeg een eigen tool toe aan de Polderfest-app (bv. `getBandsByGenre`)
- Test of de AI je tool spontaan gebruikt
- Check de debug-view: hoeveel stappen nam de chain?
**Inleveren:** Screenshot van debug-view met meerdere tool-calls.
---
## Huiswerk (take-home)
Bouw vanuit je eigen Les 11-project:
- Minimaal 3 tools met Zod-schemas
- Multi-step setup (max 5 stappen)
- README documenteert elk tool: doel + voorbeeld-prompt
- Reflectie 300 woorden: wanneer kies je tool calling vs. all-in-context?
**Inleveren:** GitHub URL via Teams.
---
## Leerdoelen
Na deze les kan de student:
- Een Tool definiëren met `tool()` en Zod-schema
- Multi-step tool calling configureren met `stopWhen`
- Een Supabase-query als tool blootstellen aan de LLM
- Bepalen wanneer tool calling de juiste oplossing is
- Tool-calls debuggen via de AI SDK debug-output