0Pricing
AI Agents · Lektion

Bedingtes Routing und Verzweigungen

Verwenden Sie add_conditional_edges, um anhand des Zustands weiterzuleiten – der Agent entscheidet, wohin es als Nächstes geht.

Bedingtes Routing und Verzweigungen ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Warum bedingte Edges?

Echte Agents treffen Entscheidungen. Nach einem Schritt hängt der nächste Schritt vom aktuellen Zustand ab. Bedingte Edges bilden diese Logik ab.

Eine bedingte Edge hinzufügen

Drei Bestandteile: Quell-Node, Router-Funktion und Zielzuordnung:

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'
    }
)

Signaturen von Routing-Funktionen

Der Router erhält den vollständigen Zustand und gibt einen String zurück (oder eine Liste von Strings für parallele Zweige).

Selbstschleifen

Eine Edge kann zum selben Node zurückführen — dies wird für Wiederholungsversuche verwendet:

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

Parallele Zweige

Geben Sie eine Liste von Node-Namen zurück, um mehrere nachgelagerte Nodes parallel auszuführen:

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

graph.add_conditional_edges('planner', fan_out)

Parallele Zweige zusammenführen

Parallele Zweige laufen in einem gemeinsamen nachgelagerten Node wieder zusammen. Beim Zusammenführen des Zustands werden ihre Ausgaben kombiniert (verwenden Sie für Listen und Dicts Reducer).

Routing anhand von Tool-Aufrufen

Klassisches Muster: Prüfen Sie nach der Antwort des LLM auf tool_calls und leiten Sie entsprechend weiter:

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})

Routing mit mehreren Optionen

Switch-Case-Logik:

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

Routing mit LLM-Aufrufen

Sie können ein LLM verwenden, um zu entscheiden, wohin es als Nächstes geht:

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

Endlosschleifen vermeiden

Ohne Schrittzähler kann ein Agent für immer in einer Schleife laufen. Fügen Sie dem Zustand einen Zähler hinzu:

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

Zweige visualisieren

Das Mermaid-Diagramm eines Graphen mit bedingten Edges zeigt Entscheidungsrauten — nützlich für die Überprüfung:

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

Bedingte Edges

Was gibt die Router-Funktion in add_conditional_edges zurück?

Zusammenfassung

Bedingte Edges ermöglichen es Agents, Entscheidungen zu treffen. Fügen Sie einen Schrittzähler hinzu, um Schleifen zu vermeiden, und visualisieren Sie den Graphen, damit Sie den Überblick behalten.

Häufig gestellte Fragen

Ist die Lektion „Bedingtes Routing und Verzweigungen“ kostenlos?

Ja — der vollständige Text von „Bedingtes Routing und Verzweigungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Bedingtes Routing und Verzweigungen“?

Verwenden Sie add_conditional_edges, um anhand des Zustands weiterzuleiten – der Agent entscheidet, wohin es als Nächstes geht. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AI Agents zu starten?

Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Bedingtes Routing und Verzweigungen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?

Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Warum Graphen flache Chains übertreffen
  2. Knoten, Kanten und Zustand
  3. Bedingtes Routing und Verzweigungen
  4. Graphzustand speichern (Checkpoints)
← Zurück zu AI Agents