En bref

Le routage introduit une logique conditionnelle dans le flux d’exécution d’un agent : au lieu de suivre un chemin fixe, le système évalue le contexte et sélectionne dynamiquement l’action, l’outil ou le sous-agent le plus adapté. C’est le mécanisme qui transforme un exécuteur statique en système adaptatif. Quatre mécanismes principaux coexistent — LLM-based, embedding-based, rule-based et ML classifier — avec des profils de coût, de vitesse et de flexibilité différents.


Pourquoi le routage est structurant

Imaginez une réception d’hôtel : une seule personne accueille tous les clients, peu importe leur demande (chambre, restauration, problème, taxi). Sans triage, elle traite toutes les demandes pareillement, mal. Un standard d’aéroport est différent : à l’arrivée, des agents orientent chaque passager vers le bon comptoir selon sa destination. C’est le routage : choisir dynamiquement le traitement adapté à l’input.

Un pipeline linéaire (prompt chaining) traite toutes les requêtes de la même façon. Dès que le système doit gérer des requêtes hétérogènes — une question de facturation, une demande technique, un signalement d’incident — la rigidité devient un problème. Le routage résout cette limite en ajoutant une couche de décision conditionnelle.

Gulli (2025) le formule ainsi : “Routing introduces conditional logic into an agent’s operational framework, enabling a shift from a fixed execution path to a model where the agent dynamically evaluates specific criteria to select from a set of possible subsequent actions.”

Le routage n’est pas une optimisation de surface. C’est une condition architecturale pour tout système qui doit répondre à des inputs variables avec des traitements différenciés.


Les quatre mécanismes

1. LLM-based routing

Le modèle de langue lui-même analyse l’input et produit un identifiant de route ou une instruction d’acheminement. Avantage : compréhension fine du langage naturel, gestion des formulations ambiguës. Inconvénient : latence et coût à chaque décision de routage, comportement non déterministe.

Usage typique : classification d’intention sur des requêtes complexes, ambiguës ou multilingues où une règle explicite est difficile à écrire.

2. Embedding-based routing

La requête est convertie en vecteur d’embedding, puis comparée par similarité cosinus aux embeddings représentant chaque route ou capacité disponible. La route dont l’embedding est le plus proche sémantiquement est sélectionnée.

Avantage : flexibilité sémantique sans appel LLM à chaque requête. Inconvénient : la qualité dépend du modèle d’embedding et de la construction des embeddings de référence. Sensible aux formulations très éloignées des exemples d’entraînement.

Usage typique : systèmes avec un grand nombre de routes, où la similarité sémantique est un critère pertinent.

3. Rule-based routing

Des règles prédéfinies (if-else, switch, regex sur mots-clés, vérification de données structurées) déterminent l’acheminement. C’est le mécanisme le plus rapide et le plus déterministe.

Avantage : vitesse d’exécution, coût quasi nul, comportement entièrement prévisible et auditable. Inconvénient : rigidité — toute nouvelle variante requiert une règle explicite, et les formulations imprévues ne sont pas couvertes.

Usage typique : catégorisation sur des critères stricts et stables (type de document, langue détectée, plage de valeur numérique).

4. ML classifier

Un modèle discriminatif spécialisé, entraîné sur corpus étiqueté, prend la décision de routage. La logique est encodée dans les poids du modèle, pas dans un prompt. Gulli mentionne la génération de données synthétiques par LLM pour construire ce corpus d’entraînement : le LLM participe à la phase offline, pas à l’inférence temps réel.

Avantage : inférence rapide, performances élevées sur les domaines couverts par l’entraînement, coût marginal bas à l’échelle. Inconvénient : nécessite un corpus étiqueté, réentraînement si le domaine évolue, moins adaptable que le LLM-based sur des cas hors distribution.

Usage typique : systèmes à fort volume où la latence et le coût par requête sont critiques.

En clair : les 4 mécanismes vont du plus rapide/rigide (rule-based, < 1 ms par décision) au plus flexible/coûteux (LLM-based, 100-500 ms par décision). Aucun n’est “meilleur” — ils correspondent à des contraintes différentes. En production grande échelle, on combine souvent : rule-based en première passe pour les cas évidents, LLM-based en fallback pour les cas ambigus.


Routage sur l’input vs routage sur l’état

Cette distinction est souvent négligée mais elle change l’architecture.

Routage sur l’input : la décision se prend uniquement à partir de la requête entrante. C’est le cas des quatre mécanismes décrits ci-dessus. Le système évalue ce qui arrive et sélectionne un chemin.

Routage sur l’état : la décision dépend de l’état global accumulé du système, pas seulement de la dernière entrée. C’est le paradigme des graphes stateful (LangGraph). Gulli note : “LangGraph’s state-based graph architecture is particularly well-suited for complex routing scenarios where decisions are contingent upon the accumulated state of the entire system.”

Un exemple concret : un agent de support qui a déjà essayé deux solutions sans succès ne doit pas proposer une troisième solution du même type — le routage sur état lui permet de lire l’historique de la session et d’escalader vers un humain. Un routage sur input seul verrait simplement la dernière question et ignorerait le contexte accumulé.

En clair : routage sur input = “quelle catégorie pour cette demande ?”. Routage sur état = “quelle action sachant tout l’historique de cette session ?”. Le second est plus puissant mais demande de maintenir un état cohérent — c’est le pari architectural des graphes stateful (LangGraph).


Patterns d’implémentation

Coordinator-Delegate

Un agent coordinateur reçoit toutes les requêtes, les route vers des sous-agents spécialisés (par exemple : agent facturation, agent technique, agent support général). Chaque sous-agent dispose de capacités discrètes et d’un contexte adapté à son domaine.

Ce pattern est le plus courant dans les architectures multi-agents. Il implique que le coordinateur soit fiable : une erreur de routage envoie la requête au mauvais spécialiste.

Multi-level routing

Le routage s’applique à plusieurs niveaux de l’opération : classification initiale de la requête, décisions intermédiaires dans la chaîne de traitement, sélection d’outil à l’intérieur d’une sous-routine. Chaque niveau peut utiliser un mécanisme différent selon ses contraintes de vitesse et de précision.

Dispatch cognitif

Cas particulier du routage : acheminer une tâche vers le modèle de langue dont la taille est adaptée au type de cognition requise. Une extraction simple va vers un modèle léger (rapide, peu coûteux) ; une analyse de contradictions va vers un modèle plus lourd. La décision de routage encode une politique de ressources.


Choisir le bon mécanisme de routage

ContexteRecommandationPourquoi
Catégorisation stable, critères stricts (langue détectée, format)Rule-based< 1 ms par décision, auditabilité totale, coût nul
100+ routes, similarité sémantique pertinenteEmbedding-basedPas d’appel LLM par requête, scalable, flexibilité conservée
Volume élevé, domaine stable, corpus disponibleML classifierInférence rapide, coût marginal bas, performances élevées sur domaine
Requêtes ambiguës, formulations imprévuesLLM-basedCompréhension fine, gestion nuance — accepter coût et latence
Décisions contextuelles (session multi-tour, escalade)Routage sur état (LangGraph)Tient compte de tout l’historique, pas seulement de la dernière entrée

Forces et limites

DimensionForcesLimites
LLM-basedCompréhension nuancée, zéro configuration initialeLatence, coût, non déterministe
Embedding-basedFlexibilité sémantique, scalableQualité dépend des embeddings de référence
Rule-basedVitesse, auditabilité totaleRigide, maintenance manuelle
ML classifierRapide, coût marginal basNécessite corpus, réentraînement si dérive
Routage sur étatDécisions contextuellement cohérentesComplexité accrue, débogage plus difficile

Le choix du mécanisme n’est pas absolu : les systèmes en production combinent souvent plusieurs niveaux. Un filtre rule-based rapide élimine les cas triviaux avant de passer au LLM pour les cas ambigus.


Ce qu’il faut retenir

  • Le routage est ce qui transforme un pipeline linéaire en système adaptatif : sans lui, tous les inputs reçoivent le même traitement, quelle que soit leur nature.
  • Quatre mécanismes coexistent avec des profils différents — rule-based (déterministe et rapide), embedding-based (flexibilité sémantique), ML classifier (scalabilité), LLM-based (compréhension fine) — et peuvent se combiner.
  • La distinction routage sur input vs routage sur état est architecturale : le second nécessite de maintenir un état global explicite (paradigme LangGraph) et permet des décisions cohérentes sur une session entière.
  • Chaque mécanisme a ses limites : rule-based casse sur les cas non prévus, LLM-based est coûteux, ML classifier dérive si le domaine évolue.
  • Le routing n’est pas une couche d’optimisation ajoutée après coup — c’est une décision de conception qui détermine la capacité du système à gérer la variabilité des inputs en production.