DSPy proved that language model programs should be optimized programmatically, not hand-tuned with prompt strings. Instead of tweaking instructions by hand, you define typed signatures and let an ...