How to guide conversation through many consecutive steps with different stages of prompts?

Any advice on strategies to design conversation that follow a dialogue script accurately? For instance, I organize the dialogue into stages:

  1. Ask about general health goals, ultrasound results, etc.
  2. Collect coprogram and dysbiosis test results.
  3. Select digestive enzymes based on the collected history.

Each stage has sub-steps, and the model transitions to the next stage when all steps in the current stage are completed.
Right now my solution is prompted “if you completed above steps, then write code phrase ‘GO_TO_STAGE_2’” .
Although this approach works, it’s not foolproof as the exit point can shift. I’m thinking of implementing a ‘background agent’ to guide the model more precisely by dynamically adjusting the prompt with instructions based on user input and the next step the model should take. Any advice on how to effectively implement this?
I was thinking to the LLM agent side like semantic kernel or autogen, but it all seems overloaded with stuff and hard to use