Stop letting the prompt be your state machine A developer argues that using prompts as runtime state machines leads to unpredictable LLM behavior and failed agentic AI projects. The solution is to break workflows into discrete, typed steps with deterministic guardrails, isolating model calls and validating outputs with schemas like Zod. You shipped an LLM feature six months ago. Now the same user input produces wildly different outputs depending on... nothing you can point to. Something in the sampling? The time the context filled up and a chunk got dropped? Nobody knows. This is what happens when the prompt becomes your runtime. Here is what the trap looks like in TypeScript: js async function handleUserRequest input: string : Promise