# Les 14: Agents — LLM in een loop met tools > ✅ **Deze les is volledig uitgewerkt** ## Lesmateriaal - [Slide Overzicht](../Les14-Agents/Les14-Slide-Overzicht.md) - [Docenttekst](../Les14-Agents/Les14-Docenttekst.md) - [Lesstof](../Les14-Agents/Les14-Lesstof.md) - [Lesopdracht](../Les14-Agents/Les14-Lesopdracht.md) - [Huiswerk](../Les14-Agents/Les14-Huiswerk.md) --- ## Deel **Deel 3 — AI Development** (Les 11-16) ## Beschrijving We gaan een stap verder dan multi-step tool calling. Een agent kan 20-50 stappen autonoom uitvoeren, eigen plannen maken en dynamisch bijsturen. We bouwen een research-agent from scratch met `ToolLoopAgent`, `stopWhen` en `prepareStep`. --- ## Te Behandelen ### Theorie - Wat is een agent eigenlijk? (LLM + loop + tools + stopconditie) - Wanneer wel/niet een agent gebruiken - AI SDK v6 agent-primitives: `ToolLoopAgent`, `stopWhen`, `prepareStep` - `prepareStep`: dynamisch model + tools per stap wisselen - Cost & latency van agents — wat moet je weten? ### Live demo's 1. Setup nieuwe research-agent (los project) 2. Tools: webSearch, fetchPage, summarize, writeReport 3. `stopWhen: stepCountIs(20)` + `hasToolCall("writeReport")` 4. `prepareStep` om Sonnet te gebruiken voor summarize, Haiku voor search 5. Live: vraag de agent een onderwerp te onderzoeken --- ## Tools - Vercel AI SDK v6 (`ToolLoopAgent`, `stopWhen`, `prepareStep`) - Tavily of Exa API voor web search - Anthropic + OpenAI providers --- ## Lesopdracht (in-class, 60 min) Studenten kijken mee. In-class oefening: - Voeg een eigen tool toe aan de research-agent - Tweak de stopconditie: laat de agent na 5 minuten stoppen - Bekijk de trace: welke stappen koos de agent? **Inleveren:** Screenshot van werkende agent-loop. --- ## Huiswerk (take-home) Bouw je eigen agent voor een eigen use-case: - Minimaal 3 tools - Slimme stop-conditie - `prepareStep` voor model-routing - Reflectie 500 woorden: kan dit ook met gewone tool calling? **Inleveren:** GitHub URL via Teams. --- ## Leerdoelen Na deze les kan de student: - Het verschil uitleggen tussen tool calling en een agent - Een agent opzetten met `ToolLoopAgent` en custom tools - Een doordachte stopconditie schrijven met `stopWhen` - Modellen dynamisch routen per stap via `prepareStep` - Inschatten wanneer een agent de juiste oplossing is