De LLM à agent
1. Principe d'un agent IA
- Un agent = LLM + outils + boucle d'exécution
- Le LLM seul prédit du texte. Il n'exécute aucune action
- Le programme fournit des outils : recherche, fichiers, calcul, BDD, API, etc
- Le LLM demande l'utilisation d'un outil
- Le programme exécute l'outil et renvoie le résultat au LLM
Raisonner → Agir → Observer → Raisonner → Agir → Observer → ... → Terminer
Ce fonctionnement est notamment formalisé par ReAct (2022).
2. La boucle agentique
À chaque tour :
- Le modèle analyse l'état actuel.
- Il choisit une action.
- Il demande l'appel d'un outil.
- Le programme exécute l'action.
- Le résultat est ajouté au contexte.
- Le modèle décide de la suite.
La tâche complexe est ainsi découpée en plusieurs actions simples.
graph TD
START([Utilisateur<br/>Donne une tâche]) --> LLM
LLM{{LLM<br/>Raisonne}} --> DECISION
DECISION{Action nécessaire ?} -->|Non| FINAL
DECISION -->|Oui| TOOL
TOOL[Appel d'un outil] --> EXEC
EXEC[Exécution<br/>par le programme] --> OBS
OBS[Observation<br/>Résultat de l'outil] --> CONTEXT
CONTEXT[Historique + résultats] --> LLM
3. Mémoire
- Le LLM n'a pas de mémoire persistante entre deux appels.
- Sa mémoire de travail est le contexte fourni à chaque tour.
- L'historique doit donc contenir :
- la tâche
- les actions
- les résultats
- les observations
- Le contexte est limité par une fenêtre de taille fixe.
- Une tâche longue peut donc finir par saturer le contexte.
4. Arrêt
Deux mécanismes principaux :
- Arrêt naturel : le modèle produit une réponse finale sans demander d'outil.
- Limite d'itérations : le programme arrête la boucle après un nombre maximal de tours.
La limite protège notamment contre les boucles infinies.
5. Appels d'outils
Le modèle doit produire un format exploitable par le programme :
- nom de l'outil
- arguments
- format structuré, généralement JSON
Les mécanismes de Function Calling / Tool Calling permettent de standardiser ces appels.
6. Échecs fréquents
Appel invalide
- Outil inexistant.
- Mauvais nom.
- Arguments incorrects ou incomplets.
Réponse :
- Valider l'appel avant exécution.
- Retourner l'erreur au modèle.
- Lui permettre de corriger au tour suivant.
Boucle
- Répétition d'une même action.
- Alternance entre plusieurs étapes sans progression.
Protection :
- Limite d'itérations.
Fausse piste
- Une mauvaise hypothèse est conservée.
- Les actions suivantes s'appuient dessus.
- L'erreur peut contaminer toute la boucle.
Protections :
- Validation des actions.
- Intervention humaine pour les actions sensibles.
- Découpage en sous-agents pour isoler les contextes.
7. Actions à conséquences
Pour les actions sensibles :
Agent propose → Humain valide → Action exécutée
L'agent ne doit pas nécessairement exécuter automatiquement une action irréversible ou ayant des conséquences importantes.
8. Architecture minimale
Un agent fiable repose sur :
- LLM
- Outils
- Boucle raisonner / agir / observer
- Mémoire de contexte
- Appels structurés
- Conditions d'arrêt
- Validation des actions
- Limites d'itérations
- Humain dans la boucle si nécessaire
- Sous-agents pour les tâches complexes