DSPy
Фреймворк Стэнфорда, где промпты — это компилируемый код: вы объявляете сигнатуры входа и выхода, даёте примеры, а DSPy сам оптимизирует промпт.
Вместо ручной подгонки строк вы описываете class GenerateAnswer(dspy.Signature) с типизированными полями. Модули вроде ChainOfThought и ReAct собираются из них. «Телепромптер» (BootstrapFewShot, MIPRO, COPRO) перебирает few-shot-примеры и формулировки промпта на проверочной выборке.
Идея: при смене модели (GPT-4 → Claude → Llama) вы просто перекомпилируете, а не переписываете промпты. Порог входа высок, зато для нетривиальных конвейеров это мощный инструмент.