Bouw een AI-agent vanaf de basis: de lus van beslissen, handelen en observeren, tooldefinities, geheugen, staplimieten, menselijke goedkeuring en tests. Inclusief een stappensimulator.
Een AI-agent is een lus. Een taalmodel leest het doel en alles wat er tot nu toe is gebeurd, en roept dan een van de tools aan die u hebt gedefinieerd of geeft een eindantwoord. Uw code voert de tool uit, voegt het resultaat toe en vraagt opnieuw. Staplimieten, rechten, menselijke goedkeuring en tests houden die lus veilig.
De vijf onderdelen van een agent
Start de simulator om één taak door de lus te zien gaan. Zet goedkeuring uit en aan om te zien waar een guardrail een risicovolle stap onderbreekt. Het verloop is vooraf uitgeschreven zodat u het kunt bestuderen; een echte run zou bij elke beslisstap een model raadplegen.
Nee. De kern is een while-lus rond één modelaanroep en een switch over toolnamen, zoals het voorbeeld op deze pagina laat zien. Frameworks voegen retries, tracing en integraties toe, wat later helpt maar de lus verbergt terwijl u aan het leren bent.
U stuurt bij elk verzoek tooldefinities mee. Wil het model er een gebruiken, dan antwoordt het met de toolnaam en argumenten in plaats van gewone tekst. Uw code voert de functie uit en stuurt het resultaat terug als volgend bericht.
Context is wat het model bij deze aanroep ziet: instructies, het doel en het transcript tot nu toe. Geheugen is alles wat u opslaat en later bewust weer in de context zet, zoals notities van een eerdere run.
Begrens het aantal stappen en de totale uitgaven, en beëindig de run met een duidelijk bericht zodra een van beide is bereikt. OWASP noemt Unbounded Consumption bij zijn risico's van 2025 voor applicaties die op taalmodellen zijn gebouwd.
Schrijf een reeks vaste taken met controleerbare uitkomsten: de juiste tool is aangeroepen, een risicovolle actie wachtte op goedkeuring, het eindantwoord bevat een bedrag. Draai de reeks na elke wijziging aan prompt of tool en vergelijk het aantal geslaagde taken.
Geen framework en geen SDK van een leverancier. callModel is een stub die vaste beslissingen afspeelt zodat het bestand meteen draait; vervang hem door een verzoek aan de modeldienst die u gebruikt.
Tools staan in één object, risicovolle tools vereisen goedkeuring, en de lus stopt bij een staplimiet. Draai het met node agent.mjs.
Onderdelen van de OWASP Top 10 for LLM Applications 2025 die voor agents het zwaarst wegen
Doel: vind de goedkoopste van drie offertes van leveranciers en mail de samenvatting naar de officemanager.
Model kiest read_quotes om te zien wat er binnen is.
Code voert read_quotes() uit en geeft drie bestanden terug.
Resultaat toegevoegd aan geheugen: A $1,240, B $1,180, C $1,315.
Model heeft wat het nodig heeft en kiest send_email met een conceptsamenvatting.
send_email is gemarkeerd als grote impact, dus de run pauzeert tot een mens het concept goedkeurt.
Goedgekeurd. Code voert send_email() uit met de goedgekeurde tekst.
Resultaat toegevoegd aan geheugen: bericht verstuurd.
Model geeft een eindantwoord: offerte B is het goedkoopst met $1,180; samenvatting verstuurd. 3 modelaanroepen, onder de limiet van 10 stappen.
Model kiest read_quotes om te zien wat er binnen is.
Code voert read_quotes() uit en geeft drie bestanden terug.
Resultaat toegevoegd aan geheugen: A $1,240, B $1,180, C $1,315.
Model heeft wat het nodig heeft en kiest send_email met een conceptsamenvatting.
Geen goedkeuringsregel, dus de code verstuurt het concept meteen. Niemand heeft het eerst gezien.
Resultaat toegevoegd aan geheugen: bericht verstuurd.
Model geeft een eindantwoord. Deze keer ging het goed, maar een verkeerd bedrag of een geïnjecteerde instructie was ook ongecontroleerd de deur uitgegaan.
Beslissen
Handelen
Observeren
Guardrail
Klaar
Volgende stap
Opnieuw
Goedkeuring vereisen vóór send_email
Stap {n} van {v}
Run voltooid.
nog niet bereikt
Gratis beginnen · Geen creditcard nodig