AI-agenter · Lektion

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.

Lektion 3 av 414 steg

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' / END

Undvik 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 1

Visualisera 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.

Gratis att börja

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

  1. Varför grafer slår platta kedjor
  2. Noder, kanter och tillstånd
  3. Villkorsstyrd routing och förgrening
  4. Beständigt graftillstånd (kontrollpunkter)
← Tillbaka till AI-agenter