🔧 Module 03

Skills & Outils

Les capacités que l'on greffe à un agent — ce qui lui permet d'agir sur le monde réel

La métaphore centrale
Un LLM de base, c'est comme un smartphone sans apps — du potentiel, mais peu d'utilité pratique. Les outils (tools), ce sont les apps que tu installes. Chaque outil donne à l'agent une nouvelle capacité concrète : chercher sur le web, lire des fichiers, envoyer des emails, exécuter du code, appeler une API tierce. Plus l'agent a d'outils, plus il peut faire de choses.

Comment fonctionne le Function Calling ?

Le mécanisme technique derrière les outils s'appelle le function calling. Le LLM ne peut pas appeler directement des fonctions — il génère du texte structuré qui décrit quelle fonction appeler et avec quels paramètres. C'est le framework qui exécute réellement l'appel et renvoie le résultat au LLM.

Le cycle d'un appel d'outil
1
L'agent décide qu'il a besoin d'un outil. Il génère une réponse structurée : {"tool": "search_web", "query": "météo Paris"}
2
Le framework intercepte cette réponse, reconnaît l'appel d'outil, et l'exécute réellement (appel API, lecture fichier, etc.).
3
Le résultat est injecté dans le contexte de l'agent, qui peut maintenant l'utiliser pour formuler sa réponse ou décider de la prochaine action.
ℹ️ Le LLM ne "fait" rien directement
Un point souvent mal compris : le LLM lui-même n'exécute jamais d'outil. Il décrit l'action à effectuer. C'est toujours le code côté serveur (le framework agent) qui exécute réellement l'appel. Le LLM reçoit ensuite le résultat.

Les grandes catégories d'outils

🔍
Recherche & Web
Accéder à des informations récentes ou spécifiques que le LLM ne connaît pas.
search_web get_url news_search
📁
Fichiers & Système
Lire, écrire, modifier des fichiers. Exécuter des commandes shell. Naviguer dans les dossiers.
read_file write_file bash
💻
Exécution de code
Lancer du code Python, JS, SQL — obtenir des résultats réels plutôt qu'une simulation.
python_exec sql_query js_eval
🔌
APIs & Services
Se connecter à n'importe quel service tiers : agenda, email, CRM, base de données…
send_email calendar_add db_query
🗄
Mémoire & RAG
Chercher dans une base de connaissance vectorielle pour enrichir le contexte de l'agent.
vector_search memory_store memory_recall
👁
Vision & Médias
Analyser des images, générer du contenu visuel, transcrire de l'audio.
analyze_image transcribe generate_image

Comment l'agent choisit son outil ?

L'agent ne tire pas au sort — il choisit l'outil le plus adapté en fonction de la description de l'outil et de la situation. C'est pourquoi la qualité des descriptions d'outils est cruciale : un outil mal décrit est un outil mal utilisé.

💡 Exemple de description d'outil
Mauvaise description : « Recherche des choses »

Bonne description : « Effectue une recherche web en temps réel. À utiliser quand l'utilisateur demande des informations récentes, des actualités, des prix actuels, ou tout ce qui peut avoir changé depuis l'entraînement du modèle. »