Why a graph, not a mega-prompt

One giant prompt is a black box

In module 28 you gave an LLM a Pydantic output_type and got back a typed BookingIntent. Tempting next step: write ONE enormous prompt โ€” "read the message, find matching walkers, draft a booking, reply" โ€” and hope the model does all of it.

That works until it doesn't. When the reply is wrong you can't tell which part failed: the parsing? the walker lookup? the wording? You can't test one piece in isolation, and you can't add a step without rewriting the whole prompt.

The PawWalk assistant does the opposite. It's an explicit state machine: a handful of small steps, each a plain Python function, wired together in a fixed order. That's what LangGraph gives you.