Keep flow control, validation, and state in deterministic code, and use the LLM only for natural-language interpretation — so the model can't skip steps, invent questions, or accept invalid answers in workflows where correctness matters.