Villkorsstyrd routing och förgrening
Använd add_conditional_edges för att dirigera utifrån tillståndet – agenten avgör vart den ska gå härnäst.
Villkorsstyrd routing och förgrening är en gratis lektion i AI-agenter på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AI-agenter, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AI-agenter innehåller totalt 4 lektioner.
Delar av den här lektionen har ännu inte översatts och visas på engelska.
Varför villkorliga kanter?
Verkliga agenter fattar beslut. Efter ett steg beror nästa steg på det aktuella tillståndet. Villkorliga kanter kodar denna logik.
Lägga till en villkorlig kant
Tre delar: källnod, routerfunktion och destinationsmappning:
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'
}
)Signaturer för routningsfunktioner
Routern tar emot hela tillståndet och returnerar en sträng (eller en lista med strängar för parallella grenar).
Självloopar
En kant kan gå tillbaka till samma nod — används för omförsök:
graph.add_conditional_edges(
'validator',
lambda s: 'retry' if not s['valid'] else 'done',
{'retry': 'planner', 'done': END}
)Parallella grenar
Returnera en lista med nodnamn för att köra flera efterföljande noder parallellt:
def fan_out(state):
return ['search_news', 'search_arxiv', 'search_github']
graph.add_conditional_edges('planner', fan_out)Sammanfoga parallella grenar
Parallella grenar förenas igen vid en gemensam efterföljande nod. Sammanslagningar av tillstånd kombinerar deras utdata (använd reducerare för listor/dictar).
Routning av verktygsanrop
Klassiskt mönster: efter att LLM har svarat kontrollerar Ni tool_calls och routar därefter:
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})Routning med flera alternativ
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')Routning med LLM-anrop
Ni kan använda en LLM för att avgöra vart agenten ska gå härnäst:
def llm_router(state):
decision = llm.invoke(f'Route this to: search, calculate, or end?\nState: {state}').content.strip()
return decision # 'search' / 'calculate' / ENDUndvik oändliga loopar
Utan en stegräknare kan en agent loopa för evigt. Lägg till en räknare i tillståndet:
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 1Visualisera grenar
Mermaid-diagrammet för en graf med villkorliga kanter visar beslutsdiamanter — användbart vid granskning:
print(app.get_graph().draw_mermaid())Villkorliga kanter
Vad returnerar routerfunktionen i add_conditional_edges?
Sammanfattning
Villkorliga kanter är det sätt på vilket agenter fattar beslut. Lägg till en stegräknare för att undvika loopar och visualisera grafen för att behålla överblicken.
Lär dig AI-agenter med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 60
- Lektioner
- 239
Vanliga frågor
Är lektionen ”Villkorsstyrd routing och förgrening” gratis?
Ja – hela texten till ”Villkorsstyrd routing och förgrening” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AI-agenter, kan Ni uppgradera till CoddyKit PRO. Kursen i AI-agenter innehåller totalt 4 lektioner.
Vad lär jag mig i ”Villkorsstyrd routing och förgrening”?
Använd add_conditional_edges för att dirigera utifrån tillståndet – agenten avgör vart den ska gå härnäst. Ni övar på AI-agenter med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig AI-agenter?
Du behöver inga förkunskaper. Utbildningen i AI-agenter på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Villkorsstyrd routing och förgrening”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här AI-agenter-lektionen?
Ja. Varje AI-agenter-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Varför grafer slår platta kedjor
- Noder, kanter och tillstånd
- Villkorsstyrd routing och förgrening
- Beständigt graftillstånd (kontrollpunkter)