Search⌘ K

How to Create a Routing System

Learn how to create a routing agent in LangGraph.

Imagine you have multiple possible actions that your AI can take. Sometimes it replies directly, while other times it calls a tool, such as performing a mathematical calculation, before responding. In the previous lesson, we learned how to maintain state and build a single-node graph where the node itself handles both processing and deciding whether to call a tool based on the input. This linear and straightforward approach works well for simple tasks but becomes cumbersome as workflows grow more complex.

We will now take this a step further by introducing a dynamic routing system that transforms our AI model into a kind of router. Like a traffic signal that directs cars straight ahead or onto a side street, our routing system uses conditional edges to determine which node to run next based on the AI’s response. By externalizing decision-making to these conditional edges, we create a scalable, branched workflow where multiple nodes work together. This cleaner separation of concerns makes the system more flexible and enhances its ability to handle a wider variety of tasks, paving the way for more sophisticated AI workflows with LangGraph.

How does the routing mechanism work?

As established in the previous lesson, we already have a state and an AI model that can recall the entire conversation. The routing mechanism examines the AI’s response and determines the next step. If the response indicates that a tool should be called, for instance to perform a calculation, the workflow is directed to a specialized node that executes this tool. Otherwise, the system produces the AI’s ...