Que ce soit ChatGPT pour rédiger des emails, ou GitHub Copilot pour auto compléter notre code, nous prenons de plus en plus l'habitude de travailler avec ses outils. Ils sont sympa : ils attendent sagement vos instructions et vous répondent.
Mais imaginez vouloir automatiser un processus réel comme chercher les dernières actualités ou interroger votre base de données.
C'est là que ça devient intéressant, on parlera d'agents IA. Alors oui, des outils no-code très connus comme n8n permettent de faire ça. Mais ici on a envie de faire du Python 😛 et coder notre propre agent.
Qu'est-ce qu'un agent IA ?
Aujourd'hui les interfaces que l'on utilise tous les jours comme ChatGPT, Gemini ou Claude sont des cerveaux extraordinairement puissants : ils possèdent énormément de connaissances et savent raisonner. Et il est assez simple de leur attacher des outils pour qu'ils aillent chercher des informations ou exécuter des actions.
Mais si on greffe des mains et des yeux à ce cerveau, et qu'on lui donne la capacité d'agir de façon autonome, planifier, utiliser ses outils, s'adapter aux résultats, on va créer un agent IA.
Je vous rassure, on va arrêter de parler corps humain, ça fait un peu trop Terminator 😅 ! En programmation, ces extensions s'appellent tout simplement des Outils (Tools).
Il faut voir un agent comme un système automatisé qui :
-
Reçoit une requête
-
Planifie des actions
-
Utilise des outils (recherche web ou vos propres outils par exemple !)
-
Synthétise les résultats pour fournir une réponse finale
Créer son propre agent avec smolagents
Il est temps de créer notre propre agent ! Pour notre exemple, nous allons utiliser smolagents, une bibliothèque open-source développée par Hugging-Face.
Les deux écoles : CodeAgent vs ToolCallingAgent
Cette bibliothèque nous permet de travailler de deux façons différentes avec un agent :
-
Le
ToolCallingAgentoù l'agent rédige ses actions sous forme de JSON. Fiable, sécurisé, mais rigide -
Le
CodeAgentqui écrit et exécute des scripts Python pour appeler vos outils. Il peut faire preuve d'une vraie logique de programmation
Pour un détail des forces et faiblesses, n'hésitez pas à aller consulter la documentation.
Pour la suite de cet article, nous adopterons la doctring CodeAgent 😎.