Prompt Engineering for LLMs: The Art and Science of Building Large Language Model–Based Applications