Gå til indhold
atlas

Værktøjskald (tool calling)

Også kendt som: function calling, værktøjsbrug

Måden, en sprogmodel beder et program uden for sig selv om at gøre noget - slå noget op, udføre en opgave - og så læser svaret.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

En arbejdsform, hvor modellen får en liste over navngivne værktøjer med en beskrivelse af, hvad hvert af dem tager imod; i stedet for almindelig tekst kan den svare med en struktureret anmodning, der nævner et værktøj og dets input, som programmet rundt om den udfører, før resultatet sendes tilbage til modellen.

Forklaret enkelt

Som en chef, der ikke kan forlade kontoret, men kan udfylde bestillingssedler - hver seddel nævner en hjælper og siger præcis, hvad der skal hentes, og en anden bærer den ned ad gangen.

I praksis

En sagsbehandler i en kommunes borgerservice spørger chatassistenten, hvornår der hentes affald på en adresse; modellen svarer med en anmodning til affaldskalenderens værktøj med adressen udfyldt, og appen kører den og sender datoerne tilbage til svaret.

Hvorfor det betyder noget

Det er det, der lader en model handle i verden i stedet for kun at tale, så hvert værktøj, den kan kalde, er også noget, et trick eller en fejl kan sætte i gang.

Teknisk uddybning

Forskningsprototyper kom først: ReAct (Yao et al., 2022) flettede ræsonnement og handlinger sammen, og Toolformer (Schick et al., 2023) lærte selvsuperviseret en model, hvor den skulle indsætte API-kald. Kommercielle API'er standardiserede mønsteret, da OpenAI lancerede function calling i juni 2023, fulgt af Anthropic, Google og familier af modeller med åbne vægte. Under motorhjelmen gengives værktøjslisten, typisk navne, beskrivelser og parameterdefinitioner i JSON Schema, i prompten via modellens chatskabelon, og finjustering lærer modellen at udsende et kald i et reserveret format i stedet for prosa, når et værktøj vil hjælpe.

Protokollen er en udveksling i to trin. I Anthropics Messages API indeholder assistentens tur en tool_use-blok med et id, værktøjets navn og et input-objekt, og svarets stop_reason er tool_use; applikationen udfører kaldet og sender en brugertur med en tool_result-blok, der henviser til samme id og eventuelt er markeret med is_error. OpenAI's modstykke returnerer tool_calls, hvis argumenter kommer som en JSON-kodet streng, og besvares med en besked med rollen tool og et tilsvarende tool_call_id. Begge understøtter flere kald i samme tur (parallelle værktøjskald) og en tool_choice-indstilling, hvor udvikleren kan tillade, gennemtvinge eller forbyde værktøjsbrug. Løkken fortsætter, indtil modellen svarer uden at kalde et værktøj, og det er præcis kontrolløkken i en AI-agent.

Pålideligheden afhænger af skemaet og dekoderen. Uden begrænsninger kan en model lave ugyldig JSON, opfinde parametre eller vælge det forkerte værktøj; OpenAI's strict mode (august 2024) og tilsvarende grammatikbegrænset dekodning garanterer argumenter, der overholder skemaet, men ikke korrekte argumenter. Hver værktøjsdefinition koster kontekst-tokens i hver forespørgsel, og træfsikkerheden i valget af værktøj falder, når kataloget vokser til flere dusin, og derfor indlæser større systemer værktøjer efter behov eller router først. Fejl bør returneres til modellen som resultater i stedet for at blive kastet som undtagelser, så den kan rette sit kald; træfsikkerhed ved værktøjsbrug måles af testsuiter som Berkeley Function Calling Leaderboard.

Sikkerhedsmodellen er let at tage fejl af. Modellen udfører aldrig noget selv; det gør applikationen, så applikationen er håndhævelsespunktet. Argumenter er upålideligt input, der skal valideres og autoriseres mod slutbrugerens rettigheder frem for servicekontoens, og værktøjer med sideeffekter kræver idempotens og, ved handlinger med stor betydning, menneskelig bekræftelse. Værktøjsresultater er også upålidelige: tekst fra et webopslag eller et e-mailværktøj er den primære vej for indirekte prompt injection. OWASP Top 10 for LLM Applications 2025 dækker de deraf følgende risici som LLM06 Excessive Agency og LLM05 Improper Output Handling. Structured output er den ikke-udførende søskende; Model Context Protocol standardiserer, hvordan værktøjer beskrives og udbydes på tværs af applikationer.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Inferens
  2. →Token
  3. →Netværk
  4. →Forudsigelse af næste token
  5. →IP-adresse
  6. →Protokol
  7. →Sampling (udtrækning af tokens)
  8. →Klient
  9. →Port
  10. →Struktureret output
  11. →Server
  12. →API
  13. →Værktøjskald (tool calling)

Relationer

Del af
AI-agent

Kilder og videre læsning

Officiel dokumentation

  • OpenAI API documentation - Function calling · OpenAI
  • Anthropic documentation - Tool use with Claude · Anthropic

Opslagsværker

  • Schick et al. (2023), Toolformer: Language Models Can Teach Themselves to Use Tools

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Test dig selv

Indlæser…

Atlas er i beta.