When I started building LLM applications, one thing became obvious very quickly:

Getting a response from an LLM is easy.

Getting a reliable, predictable, machine-readable response from an LLM is the real challenge.

A chatbot returning:

"Here is your answer..."