Black-Box Prompt Optimization: Aligning Large Language Models without Model Training