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' / ENDEndlosschleifen 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 1Zweige 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
- Warum Graphen flache Chains übertreffen
- Knoten, Kanten und Zustand
- Bedingtes Routing und Verzweigungen
- Graphzustand speichern (Checkpoints)