Combien d’outils par agent
4 ou 5 est optimal ; au-delà de 18, la fiabilité de la sélection diminue.
Combien d’outils par agent est une leçon Claude Architect gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Claude Architect, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Claude Architect comprend 4 leçons au total.
Le problème de la sélection
Lorsque vous donnez à un agent un ensemble d'tools, le modèle doit effectuer une tâche subtile à chaque tour : lire toutes les descriptions des outils et choisir celui qui convient à l'étape en cours.
Il s'agit d'une tâche de sélection. Plus vous ajoutez d'options, plus ce choix devient difficile. Un ensemble d'outils ciblé permet une sélection précise ; un ensemble surchargé fait hésiter le modèle, l'amène à faire un mauvais aiguillage ou à prendre le mauvais outil.
Cette leçon répond à une question en apparence simple : combien d'outils un agent doit-il avoir ?
La règle générale
Le juste équilibre pratique est de 4 à 5 outils par agent. Avec ce nombre, le modèle peut déterminer de manière fiable quel outil convient à chaque étape.
À mesure que le nombre augmente, la fiabilité de la sélection diminue. À partir d'environ 18 outils ou plus pour un seul agent, le modèle commence à confondre les options similaires et à faire de mauvais choix. Davantage d'outils ne signifie NOT pas davantage de capacités : passé un certain seuil, cela signifie des capacités moins fiables.
- 4 à 5 outils → sélection optimale
- 18 outils ou plus → fiabilité de la sélection dégradée
Un agent au périmètre bien défini
Voici un agent d'assistance doté d'un ensemble d'outils restreint et adapté à son rôle. Quatre outils, chacun ayant une fonction claire : vérifier le client, rechercher sa commande, traiter un remboursement et transmettre le dossier à un humain.
Le modèle n'a jamais à se demander lequel de vingt outils presque identiques appeler. Chacun correspond à une intention distincte.
tools = [
{"name": "get_customer", "description": "...", "input_schema": {...}},
{"name": "lookup_order", "description": "...", "input_schema": {...}},
{"name": "process_refund", "description": "...", "input_schema": {...}},
{"name": "escalate_to_human", "description": "...", "input_schema": {...}},
]
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
system="You are a support agent. Verify identity before any refund.",
tools=tools,
messages=messages,
)Les descriptions assurent la sélection
Une nuance importante : le modèle sélectionne les outils principalement à partir de leurs descriptions, et non de leurs noms. Une bonne description indique la fonction de l'outil, ses valeurs de retour, les formats d'entrée avec des exemples, les cas particuliers et les limites d'applicabilité.
C'est pourquoi le nombre et la qualité des outils interagissent. Même 5 outils peuvent être mal aiguillés si leurs descriptions se chevauchent ou sont ambiguës. Plus vous accumulez les outils, plus il est probable que deux d'entre eux se ressemblent, et plus vous obtiendrez d'erreurs de sélection.
{
"name": "lookup_order",
"description": "Retrieve a single order by its order ID. "
"Input: order_id (string, e.g. 'ORD-10482'). "
"Returns: items, status, total, and ship date. "
"Use AFTER get_customer confirms identity. "
"Does NOT search by email — use lookup_order, not find_orders.",
"input_schema": {
"type": "object",
"properties": {"order_id": {"type": "string"}},
"required": ["order_id"],
},
}À quoi ressemble un trop grand nombre d'outils
Imaginez que vous entassiez tout un service sur un seul agent : outils pour les clients, les commandes, la facturation, les stocks, les expéditions, l'analyse... plus de vingt entrées dans un tableau tools.
Plusieurs d'entre elles ont alors des noms similaires — lookup_order, find_orders, get_order_history, search_purchases. Le modèle doit lever l'ambiguïté à chaque tour, et sa précision diminue. Un trop grand nombre d'outils par agent est un anti-modèle reconnu, au même titre que les descriptions ambiguës.
Adaptez les outils au rôle
La solution n'est pas de rendre les descriptions toujours plus longues, mais d'adapter les outils au rôle. Demandez-vous : quelle est la fonction de THIS agent et quel est l'ensemble minimal d'outils dont il a besoin pour l'assurer ?
Un agent chargé des remboursements a besoin d'outils d'identification, de commande, de remboursement et de transmission. Il n'a pas besoin de prévisions de stocks ni d'analyses marketing. Supprimer les outils non pertinents élimine les distractions et rend chaque sélection restante plus précise.
Répartissez avec une architecture multi-agents
Lorsqu'une tâche nécessite réellement de nombreuses capacités, vous ne les placez pas toutes sur un seul agent. Vous utilisez une architecture multi-agents en étoile : un coordinateur décompose le travail et le délègue à des sous-agents spécialisés, chacun disposant de son propre ensemble d'outils restreint.
Vingt outils répartis entre quatre sous-agents (5 chacun) sont sélectionnés bien plus fiablement que vingt outils sur un seul agent. N'oubliez pas que les sous-agents n'héritent NOT pas de l'historique du coordinateur ; l'invite de chaque sous-agent doit donc transmettre explicitement son propre contexte.
research_agent = AgentDefinition(
name="research_agent",
description="Searches sources and extracts findings.",
system_prompt="You gather and cite evidence for a sub-question.",
allowed_tools=["web_search", "fetch_page", "extract_quote"],
)
verify_agent = AgentDefinition(
name="verify_agent",
description="Cross-checks claims against sources.",
system_prompt="You validate claims and flag conflicts.",
allowed_tools=["fetch_page", "compare_sources", "flag_conflict"],
)Privilèges minimaux pour chaque sous-agent
Répartir les outils entre les sous-agents apporte un avantage supplémentaire : le principe du moindre privilège. Chaque AgentDefinition déclare uniquement les allowed_tools dont il a réellement besoin.
Un sous-agent de recherche en lecture seule ne reçoit jamais d'outil process_refund ou delete ; il ne peut donc pas les déclencher par erreur. Des ensembles d'outils plus restreints et adaptés au rôle sont à la fois plus fiables (meilleure sélection) et plus sécurisés (rayon d'impact plus limité). Une règle à retenir pour le coordinateur : son allowedTools doit inclure "Task" pour qu'il puisse déléguer.
Outils et ressources dans MCP
Tout ce dont un agent a besoin ne doit pas nécessairement être un outil. Dans MCP, les primitives du serveur se répartissent en trois catégories :
- Outils — actions que le modèle déclenche
- Ressources — données ou contexte en lecture seule, comme des schémas ou des catalogues
- Invites — modèles réutilisables
Si le modèle a simplement besoin de lire un schéma ou un catalogue de produits, exposez-le comme une ressource plutôt que comme un outil. Votre tableau tools reste ainsi léger et réservé aux véritables actions — un autre moyen de rester proche de 4 à 5 outils opérationnels.
Les outils intégrés sont déjà adaptés à leur rôle
L'ensemble d'outils intégré de Claude Code est un bon exemple de définition rigoureuse des périmètres. Chaque outil a une fonction précise :
Glob— trouver des fichiers selon un motif (par exemple**/*.test.tsx)Grep— rechercher dans le contenu des fichiersRead/Write/Edit— charger, créer et modifier précisément des fichiersBash— exécuter des commandes shell
Aucun ne se chevauche. Le modèle les compose dans un flux progressif — rechercher les points d'entrée avec Grep, lire les fichiers, rechercher les utilisations avec Grep, lire les consommateurs — plutôt que de choisir entre des options redondantes.
# Incremental investigation with non-overlapping tools
Grep "createOrder" # find entry points
Read src/orders/api.ts # load the file
Grep "api.createOrder" # find usages
Read src/checkout/page.ts # load consumersListe de vérification pratique pour l'attribution
Avant de déployer un agent, effectuez cette vérification :
- L'ensemble d'outils est-il proche de 4 à 5 outils et nettement inférieur à 18 ?
- Chaque outil correspond-il à une intention distincte, avec une description qui ne se chevauche pas avec les autres ?
- Les besoins en lecture seule sont-ils modélisés comme des ressources plutôt que comme des outils ?
- Si vous avez besoin de davantage de capacités, pouvez-vous répartir le travail entre des sous-agents dotés d'ensembles d'outils respectant le principe du moindre privilège ?
Si vous poussez un agent unique au-delà d'une douzaine d'outils, c'est le signal qu'il faut décomposer, et non rédiger des descriptions plus longues.
Vérification rapide : attribution des outils
Appliquez la règle à une décision de conception réelle.
Récapitulatif : combien d'outils par agent
Points essentiels :
- 4 à 5 outils par agent est optimal ; la fiabilité diminue à mesure que le nombre augmente, et 18 outils ou plus nuisent sensiblement à la sélection.
- Le modèle sélectionne les outils à partir de leurs descriptions ; des outils qui se chevauchent ou sont ambigus provoquent donc un mauvais aiguillage, même en petit nombre.
- Adaptez les outils au rôle — supprimez les distractions plutôt que de rédiger des descriptions plus longues.
- Besoin de davantage de capacités ? Répartissez le travail entre des sous-agents (en étoile) dotés d'ensembles d'outils respectant le principe du moindre privilège ; transmettez explicitement le contexte, car les sous-agents n'héritent pas de l'historique.
- Modélisez les besoins en lecture seule comme des ressources MCP plutôt que comme des outils, afin de conserver un tableau
toolsléger.
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 26
- Leçons
- 104
Questions Fréquemment Posées
La leçon « Combien d’outils par agent » est-elle gratuite ?
Oui — le texte complet de « Combien d’outils par agent » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Claude Architect, passe à CoddyKit PRO. Le cours Claude Architect comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Combien d’outils par agent » ?
4 ou 5 est optimal ; au-delà de 18, la fiabilité de la sélection diminue. Tu pratiques Claude Architect avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Claude Architect ?
Aucune expérience préalable n'est requise. Claude Architect sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Combien d’outils par agent » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Claude Architect ?
Oui. Chaque leçon Claude Architect inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Combien d’outils par agent
- tool_choice : auto / any / forced
- Outils intégrés de Claude Code
- Méthode d’investigation progressive