Tool calling: tools ontwerpen die de agent goed gebruikt

Agents bouwen 9 min lezen

Een hand steekt een gelabelde stekker in een aansluiting op een patchpaneel
Een tool is een aansluiting met een vorm. Maak de vorm foutbestendig en de agent stopt met gokken.

Als een agent zich misdraagt is de reflex de prompt te herschrijven. In onze ervaring is de prompt misschien een derde van de keren de oorzaak; de rest van de tijd zijn de tools ontworpen voor een programma en niet voor een lezer die uit namen en beschrijvingen moet afleiden wat een functie doet.

Tools zijn het hele vermogen van de agent om de wereld te beïnvloeden, en hun definities zijn letterlijk deel van de modelcontext. Ze goed ontwerpen is goedkoper en veel duurzamer dan prompttuning.

Zeven regels die de meeste slechte aanroepen voorkomen#

  1. Eén tool, één taak. `search_orders` en `refund_order` verslaan een `manage_order` met modus.
  2. Types in plaats van proza. Enums, bereiken en formaten doen wat een beschrijving nooit doet.
  3. Namen die zeggen wat er gebeurt. `send_email_to_customer` is eenduidig; `notify` niet.
  4. Fouten als instructie: wat er mis was en wat nu te doen, in één korte zin.
  5. Lege resultaten zijn resultaten. Een expliciet niet-gevonden verslaat een exception.
  6. Idempotentiesleutels op alles met bijwerking.
  7. Kleine returns. Snijd terug tot de nodige velden; 40 KB JSON koopt verwarring.

Voor en na#

Tool calling: tools ontwerpen die de agent goed gebruikt — Voor en na
Zwak ontwerpWaarom het faaltBeter
`query(sql)`Onbegrensde macht, niet controleerbaar`get_orders_by_customer(customer_id, limit)`
`date: string`Model verzint formaten`date: string, formaat JJJJ-MM-DD`
`HTTP 500`Impliceert geen actie, eindeloos herhaald`Orderservice niet bereikbaar. Zeg de klant het later te proberen.`
Geeft het hele record terugVult context, verdunt aandachtGeeft zes benoemde velden terug
`update_status(id, status)`Elke status, elk record`cancel_order(id)` met rechtencontrole

Beschrijvingen zijn prompt#

Het beschrijvingsveld is geen documentatie voor collega's; het is tekst die het model leest tijdens het beslissen. Zeg wanneer u de tool gebruikt en wanneer niet, noem de ene voorwaarde die telt en geef één voorbeeldargument. Drie zinnen verslaan drie alinea's.

Kunnen twee tools hetzelfde verzoek bedienen, dan kiest de agent soms verkeerd. Voeg ze samen of maak de grens expliciet.

Valideer altijd vóór uitvoering#

Geef modeluitvoer nooit ongecontroleerd door aan een systeemaanroep. Valideer argumenten tegen het schema, los identifiers op tegen records die deze gebruiker mag zien, en wijs af wat niet past in plaats van het passend te maken.

Veelgestelde vragen

Hoeveel tools is te veel?

Boven ongeveer tien in één lus daalt de selectienauwkeurigheid en vullen beschrijvingen de context.

Moeten tools ruwe API-antwoorden teruggeven?

Nee. Geef een kleine, stabiele vorm terug met de velden die echt nodig zijn.

Hoe voorkom ik verzonnen argumenten?

Door te begrenzen: enums in plaats van vrije tekst, expliciete formaten en identifiers die moeten oplossen.

tool callingfunction calling agentstoolontwerpjson schema toolsllm toolfouten

Alle gidsen

Laatst bijgewerkt 2026-08-04 door aiagentdevelopment.info · Over ons

Door bouwers geschreven

Elke gids is geschreven door engineers die agents in productie draaien, niet overgeschreven van andere sites.

Periodiek herzien

Dit vakgebied beweegt snel. Elke gids draagt de datum van de laatste herziening, ook als er niets veranderde.

Geen betaalde plaatsingen

Geen modelaanbieder, framework of agentplatform kan hier een vermelding, positie of link kopen.

Twaalf talen

Elke gids is vertaald, niet machinaal vervangen — elke taal heeft een eigen URL en eigen herzieningsdatum.

Grenzen benoemd

We zeggen ronduit wanneer een taak geen agent nodig heeft en een eenvoudig script goedkoper en betrouwbaarder is.