0Pricing
AI Agents · Leçon

Routage conditionnel et embranchements

Utilisez add_conditional_edges pour distribuer l’exécution selon l’état : l’agent décide où aller ensuite.

Routage conditionnel et embranchements est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 3 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 AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Pourquoi des arêtes conditionnelles ?

Les vrais agents prennent des décisions. Après une étape, l’étape suivante dépend de l’état actuel. Les arêtes conditionnelles encodent cette logique.

Ajouter une arête conditionnelle

Trois éléments : le nœud source, la fonction de routage et la table des destinations :

def route_after_planning(state: AgentState) -> str:
    if state.get('confidence', 0) > 0.8:
        return 'execute'
    return 'replan'

graph.add_conditional_edges(
    'planner',
    route_after_planning,
    {
        'execute': 'executor',
        'replan': 'planner'
    }
)

Signatures des fonctions de routage

Le routeur reçoit l’état complet et renvoie une chaîne (ou une liste de chaînes pour les branches parallèles).

Boucles sur elles-mêmes

Une arête peut revenir au même nœud — c’est utile pour les nouvelles tentatives :

graph.add_conditional_edges(
    'validator',
    lambda s: 'retry' if not s['valid'] else 'done',
    {'retry': 'planner', 'done': END}
)

Branches parallèles

Renvoyez une liste de noms de nœuds pour exécuter plusieurs nœuds en aval en parallèle :

def fan_out(state):
    return ['search_news', 'search_arxiv', 'search_github']

graph.add_conditional_edges('planner', fan_out)

Réunir les branches parallèles

Les branches parallèles convergent à nouveau vers un nœud en aval commun. Les fusions d’état combinent leurs sorties (utilisez des fonctions de réduction pour les listes et les dictionnaires).

Routage selon les appels d’outils

Schéma classique : après la réponse du LLM, vérifiez les appels d’outils et routez en conséquence :

def should_use_tool(state):
    last_msg = state['messages'][-1]
    if last_msg.tool_calls:
        return 'tools'
    return END

graph.add_conditional_edges('agent', should_use_tool, {'tools': 'tools', END: END})

Routage à plusieurs branches

Logique de type switch-case :

def route_by_intent(state):
    intent = classify(state['messages'][-1])
    return {'q': 'qa_agent', 'order': 'order_agent', 'support': 'support_agent'}.get(intent, 'fallback')

Routage avec des appels de LLM

Vous pouvez utiliser un LLM pour décider de la prochaine destination :

def llm_router(state):
    decision = llm.invoke(f'Route this to: search, calculate, or end?\nState: {state}').content.strip()
    return decision  # 'search' / 'calculate' / END

Éviter les boucles infinies

Sans compteur d’étapes, un agent peut boucler indéfiniment. Ajoutez un compteur à l’état :

class State(TypedDict):
    step: int
    ...

def route(state):
    if state['step'] >= MAX_STEPS:
        return END
    return 'continue'

Increment Counter Reducer

def add(old: int, new: int) -> int:
    return old + new

class State(TypedDict):
    step: Annotated[int, add]

def any_node(state):
    return {'step': 1}   # increments by 1

Visualiser les branches

Le diagramme Mermaid d’un graphe avec des arêtes conditionnelles affiche des losanges de décision — utiles pour la revue :

print(app.get_graph().draw_mermaid())

Arêtes conditionnelles

Que renvoie la fonction de routage dans add_conditional_edges ?

Récapitulatif

Les arêtes conditionnelles permettent aux agents de prendre des décisions. Ajoutez un compteur d’étapes pour éviter les boucles et visualisez le graphe pour préserver votre santé mentale.

Questions Fréquemment Posées

La leçon « Routage conditionnel et embranchements » est-elle gratuite ?

Oui — le texte complet de « Routage conditionnel et embranchements » 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 AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Routage conditionnel et embranchements » ?

Utilisez add_conditional_edges pour distribuer l’exécution selon l’état : l’agent décide où aller ensuite. Tu pratiques AI Agents 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 AI Agents ?

Aucune expérience préalable n'est requise. AI Agents 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 3 sur 4.

Combien de temps prend la leçon « Routage conditionnel et embranchements » ?

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 AI Agents ?

Oui. Chaque leçon AI Agents 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

  1. Pourquoi les graphes surpassent les chaînes linéaires
  2. Nœuds, arêtes et état
  3. Routage conditionnel et embranchements
  4. Conserver l’état d’un graphe (points de contrôle)
← Retour à AI Agents