I've been meaning to write up a blog post. I've had a lot of success with:
- Using LLMs to summarize, create structure, etc., rather than relying on them to generate responses
- Having my apps rely on receiving LLM output in an exact format (e.g. an OpenAI function call) and raising an error otherwise
- Never showing generated outputs directly to a user or saving them directly to the database (avoids a lot of potential for unexpected behavior)
This kind of stuff is less flashy than chatbots for everything, but IMO has a lot more potential to actually impact how software works at scale in the next ~year or two.