Un agent combine un modèle et un harness qui organise les outils, le prompt et les middlewares. Contrairement à une chaîne fixe, le modèle peut décider d’appeler un outil, observer son résultat puis poursuivre jusqu’à produire une réponse.
Installer et préparer le projet
Créez un environnement Python isolé, installez langchain et l’intégration de votre fournisseur, puis fournissez la clé par variable d’environnement. Ne placez jamais une clé dans le code ou le dépôt.
Définir un outil étroit
Décorez une fonction avec @tool, ajoutez des types et une docstring précise. L’outil doit effectuer une action limitée, valider ses paramètres et retourner une erreur exploitable. Évitez un outil générique capable d’exécuter n’importe quelle commande.
Créer l’agent
Importez create_agent, passez le modèle, la liste d’outils et un system_prompt court. Appelez agent.invoke avec un état contenant messages. Lisez le dernier message pour présenter la réponse, mais conservez la trace complète pour le diagnostic.
Tester le comportement
Essayez un cas nécessitant l’outil, un cas qui n’en a pas besoin et un cas avec argument invalide. Vérifiez que l’agent ne fabrique pas de résultat quand l’outil échoue. Avant toute action externe, ajoutez permissions, quotas et approbation humaine.
Checklist avant mise en production
- Valider les entrées, les sorties et les permissions des outils.
- Tester les erreurs du fournisseur, les délais d’attente et les limites de coût.
- Ajouter des traces sans enregistrer de secrets ni de données personnelles inutiles.
- Mesurer la qualité sur un jeu de cas représentatifs avant chaque évolution.
Questions fréquentes
Un agent appelle-t-il toujours un outil ?
Non. Le modèle peut répondre directement s’il estime qu’aucun outil n’est nécessaire.
Quel modèle choisir ?
Choisissez un modèle compatible avec le tool calling, puis mesurez qualité, latence et coût sur votre propre jeu de tâches.