Utilisez des outils lorsqu’un agent doit lire les données de l’application, appeler un service interne ou effectuer une action. L’Agent SDK valide les limites des outils et exécute leur code dans votre application.
Définir un outil local
defineTool() accepte une description, des paramètres JSON facultatifs, des validateurs d’exécution, un délai d’attente et une fonction execute().
À l’expiration du délai, le runtime annule context.signal, marque l’exécution comme échouée et renvoie l’erreur de délai.
Les schémas peuvent être des fonctions ou des objets exposant parse() ou safeParse(). Les arguments de modèle et les résultats d’outil non valides échouent avant de franchir la limite de l’outil.
Exécuter le travail dans votre application
Définissez execute: false lorsque le travail est réalisé par votre application plutôt que par le processus du SDK. Reprenez l’exécution en pause en fournissant le résultat dans toolOutputs.
Pour un outil interactif, renvoyez null depuis onToolCalled. Après la reprise, onResponseReceived peut valider ou transformer la réponse fournie.
Publier la progression
Un générateur asynchrone peut produire des résultats préliminaires avant de renvoyer un résultat final :
La progression est accessible via les événements tool.preliminary_result et le champ preliminaryResults de l’étape.
Exécuter des outils indépendants en parallèle
Si un tour de modèle peut appeler plusieurs outils indépendants sans risque, configurez une limite de concurrence :
Le runtime conserve l’ordre des messages de résultat, même lorsque les exécutions locales se chevauchent.
Guides associés
Dernière modification le 2 octobre 2026