Guide
Architecture d'un agent IA : boucle, outils, mémoire
Les briques d'un agent IA : modèle, boucle, outils, contexte et mémoire, limites et journaux. Schéma et rôle de chaque pièce, d'après la documentation.
Mis à jour le
Un agent IA repose sur cinq briques : un modèle de langage qui décide, une boucle qui l'appelle à répétition, des outils que votre code exécute, un contexte qui sert de mémoire de travail, et des limites (tours, budget, droits) avec leurs journaux. Anthropic appelle « LLM augmenté » la brique de base : un grand modèle de langage (LLM, large language model) enrichi de recherche d'informations, d'outils et de mémoire.
Vue d'ensemble
Demande ──► [ Modèle ] ──► réponse finale (aucun appel d'outil)
│ ▲
appel │ │ résultat
d'outil ▼ │
[ Votre code : contrôle des droits ─► exécution de l'outil ─► journal ]
La documentation du Claude Agent SDK décrit ce cycle en cinq temps :
- Réception : le modèle reçoit la demande avec le message système, les définitions d'outils et l'historique.
- Évaluation : il répond par du texte, par un ou plusieurs appels d'outils, ou les deux.
- Exécution : chaque outil demandé est exécuté et son résultat renvoyé au modèle.
- Répétition : les étapes 2 et 3 se répètent.
- Fin : la boucle s'arrête quand le modèle répond sans appel d'outil.
La même documentation donne un ordre de grandeur : une question simple prend deux ou trois tours, une tâche complexe peut enchaîner des dizaines d'appels d'outils.
Le modèle : celui qui décide
Le modèle ne fait qu'une chose : choisir la prochaine action à partir de ce qu'il voit. Il n'exécute rien lui-même ; la documentation de Mistral et celle de Google le rappellent explicitement pour le function calling. C'est votre code qui agit. Cela a une conséquence d'architecture importante : le contrôle des droits se place dans votre code, pas dans le message envoyé au modèle (voir permissions).
Les outils : ce que l'agent peut faire
Un outil est une fonction décrite par un nom, une description et un schéma de paramètres. La documentation d'Anthropic distingue :
| Type | Où le code s'exécute | Exemples cités |
|---|---|---|
| Outils client | Dans votre application | vos propres fonctions, bash, text_editor |
| Outils serveur | Sur l'infrastructure d'Anthropic | web_search, web_fetch, code_execution |
Les outils peuvent aussi venir d'un serveur Model Context Protocol (MCP), un protocole ouvert pour brancher des outils et des sources de données à un modèle ; son fonctionnement est expliqué dans comment fonctionne MCP. Le détail de l'appel d'outils chez chaque éditeur est sur la page function calling.
Le contexte : la mémoire de travail
Tout ce que le modèle voit à un tour donné forme la fenêtre de contexte. D'après la documentation de l'Agent SDK, elle ne se vide pas entre les tours : message système, définitions d'outils, historique, paramètres et résultats d'outils s'accumulent. Un gros fichier lu ou une commande bavarde peuvent consommer des milliers de jetons en un seul tour.
Anthropic note, dans « Effective context engineering for AI agents » (29/09/2025), que plus le contexte grossit, plus la capacité du modèle à retrouver une information précise diminue. D'où trois techniques, détaillées dans la mémoire d'un agent : le résumé automatique (compaction), les notes structurées écrites hors du contexte, et la délégation à des sous-agents qui ne renvoient qu'un résumé.
Les limites : ce qui arrête la boucle
Sans limite, la boucle tourne jusqu'à ce que le modèle s'arrête de lui-même. Anthropic recommande des conditions d'arrêt, comme un nombre maximal d'itérations. Dans le Claude Agent SDK :
| Réglage | Effet | Valeur par défaut |
|---|---|---|
max_turns |
Nombre maximal de tours | Aucune limite |
max_budget_usd |
Dépense estimée à laquelle la boucle s'arrête | Aucune limite |
permission_mode |
Niveau de validation des appels d'outils | default |
Quand une limite est atteinte, le résultat porte un sous-type d'erreur (error_max_turns ou error_max_budget_usd) au lieu de success, ce qui permet à votre code de réagir.
Les journaux : ce qui permet de comprendre
Les points d'accroche (« hooks ») de l'Agent SDK illustrent ce qu'il faut tracer : avant l'exécution d'un outil (PreToolUse, pour valider ou bloquer), après (PostToolUse, pour auditer), à la fin (Stop), avant un résumé de contexte (PreCompact, pour archiver la trace complète). Quel que soit votre outil, gardez pour chaque session : la demande, chaque appel d'outil avec ses paramètres et son résultat, la réponse finale, le coût.
Variantes d'architecture
Toutes les architectures ne sont pas des agents autonomes. Anthropic décrit des briques plus contrôlées (enchaînement d'appels, aiguillage, parallélisation, orchestrateur et exécutants, générateur et évaluateur), présentées dans agent ou workflow. Quand plusieurs agents coopèrent, voyez systèmes multi-agents.
Questions fréquentes
Qu'est-ce qu'un tour dans la boucle d'un agent ?
Un passage complet : le modèle produit sa réponse ; si elle contient des appels d'outils, ils sont exécutés et leurs résultats lui sont renvoyés. La boucle s'arrête quand le modèle répond sans appel d'outil.
Où se trouve la mémoire d'un agent ?
D'abord dans la fenêtre de contexte, qui accumule l'historique, les définitions d'outils et les résultats. Pour les tâches longues, on y ajoute un résumé automatique et des notes écrites hors du contexte.
Sources
Pages consultées pour écrire cet article :
- https://www.anthropic.com/engineering/building-effective-agents
- https://code.claude.com/docs/en/agent-sdk/agent-loop
- https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview
- https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
- https://docs.mistral.ai/capabilities/function_calling/
- https://aistudio.google.com/docs/function-calling