promptgarten đŸŒ±
🌍 ZH
Concept●●○4 min · +40 XP

Tool Use : comment les LLM appellent des outils

Le tool use (appel de fonctions) permet Ă  un LLM de ne pas seulement Ă©crire du texte, mais d'appeler de vraies fonctions – c'est la base de tout agent IA.

Le problĂšme de base

Un LLM ne peut, Ă  lui seul, que gĂ©nĂ©rer du texte. Il ne peut pas enregistrer un fichier, interroger une base de donnĂ©es, ni envoyer un e-mail. Le tool use (aussi appelĂ© function calling) rĂ©sout ce problĂšme : tu dĂ©cris au modĂšle les « outils » (tools) disponibles – par exemple une fonction « envoie_email » ou « obtiens_meteo » – avec un schĂ©ma qui prĂ©cise quelles entrĂ©es elles attendent.

Comment se déroule l'échange

Quand le modĂšle reconnaĂźt qu'un outil est nĂ©cessaire, il ne rĂ©pond pas avec du texte normal, mais avec un bloc structurĂ© « tool_use » : le nom de l'outil plus les paramĂštres d'entrĂ©e en JSON. Ton application lit ce bloc, exĂ©cute l'action rĂ©elle (l'appel API, la requĂȘte base de donnĂ©es) et renvoie le rĂ©sultat au modĂšle sous forme de « tool_result ». Le modĂšle utilise ce rĂ©sultat pour continuer Ă  travailler ou formuler une rĂ©ponse.

Pourquoi c'est la base de tous les agents

Un agent n'est au fond rien d'autre qu'un LLM qui appelle des outils en boucle : demander, utiliser un outil, lire le résultat, choisir le prochain outil, jusqu'à ce que la tùche soit terminée. Sans tool use, un modÚle reste un simple générateur de texte, sans effet sur le monde réel.

Une propriété importante

Le modĂšle n'exĂ©cute jamais lui-mĂȘme de code. Il dĂ©cide seulement quand et avec quels arguments appeler un outil. L'exĂ©cution rĂ©elle – et donc le contrĂŽle des risques – reste du cĂŽtĂ© de ton application.

EXEMPLE

Un outil météo est défini comme { name: 'get_weather', input_schema: {location: string} }. L'utilisateur demande : « Quel temps fait-il à Berlin ? » Claude répond avec un bloc tool_use : { name: 'get_weather', input: {location: 'Berlin'} }. Ton application appelle la vraie API météo et renvoie le résultat sous forme de tool_result. Ce n'est qu'ensuite que Claude formule la réponse en mots.

đŸ› ïž EXERCICE — À TOI DE JOUER

Définis un schéma d'outil simple pour une tùche de ton choix (par exemple « cherche_produit ») et fais générer par un LLM l'appel tool_use correspondant.

  1. Écris un schĂ©ma JSON avec un nom, une description et 1-2 paramĂštres d'entrĂ©e pour ton outil.
  2. Formule une question utilisateur qui a clairement besoin de cet outil, et donne-la à un modÚle avec le schéma.
  3. Vérifie la réponse : as-tu obtenu un bloc tool_use correct avec des arguments pertinents ?

✅ AUTO-VÉRIFICATION

  • ☐ Le modĂšle a-t-il choisi le bon outil (au lieu de, par exemple, deviner directement une rĂ©ponse) ?
  • ☐ Les arguments dans le bloc tool_use Ă©taient-ils correctement extraits de la question de l'utilisateur ?
  • ☐ Que se passerait-il si la description de l'outil Ă©tait vague – l'as-tu testĂ© ?

QUIZ RAPIDE

Que se passe-t-il quand Claude veut appeler un outil ?

SOURCES

SUJETS LIÉS

Qu'est-ce qu'un agent IA ? (par rapport Ă  un chatbot) ●○○L'agent loop : rĂ©flĂ©chir → agir → vĂ©rifier → recommencer ●●○MCP (Model Context Protocol) : comment les outils IA se connectent ●●○Qu'est-ce qu'une API ? (sans jargon) ●○○