# Prompt Chaining and Routing — Advanced Agent Workflows and Skills

Source: https://www.geekswithgeeks.com/en/agent-workflows/wf-chaining-routing

> Split a task into sequential steps with checks, and route inputs to specialised handlers.

## Chain, then gate

**Prompt chaining** breaks a task into steps where each output feeds the next, for example draft, then translate. Add a **gate** between steps, a simple check in code, so a bad intermediate result stops early. **Routing** classifies the input first and sends it to the prompt or model best suited for it.

## A chain with a gate

`llm` stands for any function that calls a model. The gate stops the chain before wasting a second call on an empty outline.

```python
def write_article(topic: str) -> str:
    outline = llm(f"Write a 5-point outline about {topic}")
    if outline.count("\n") < 4:          # gate: outline too short
        raise ValueError("Outline failed validation")
    return llm(f"Write an article from this outline:\n{outline}")
```

## Route cheap work to cheap models

Simple questions can go to a small, fast model and hard ones to a stronger model. A router that is wrong too often costs more than it saves, so measure its accuracy.

**Quiz:** What is a "gate" in a prompt chain?

- [ ] A paid API tier
- [x] A programmatic check between steps
- [ ] A firewall rule
- [ ] The final answer

*Answer:* A programmatic check between steps. A gate validates an intermediate output so errors do not flow into later steps.
