Flex optimizes program structure, not just prompts
DSPy releases 3.3.0 with Flex, enabling optimization of program structure rather than prompts alone.
DSPy 3.3.0 DSPy 3.3.0 is a feature release with a new experimental way to optimize programs as code, a native-tool-aware ReAct implementation, and the next stage of DSPy's move toward a typed, provider-neutral language-model system. Most existing DSPy programs should keep working without changes. Review the API changes if you construct `Image`, `Audio`, or `File` values from paths or URLs; use NumPy-backed features from the base install; inspect detailed GEPA results; construct code interpreters directly; use `RLM(max_iterations=...)`; consume raw Responses API tool-call outputs; or catch provider-specific LM exceptions.
We would especially appreciate feedback on Flex, ReActV2, and the typed LM path. These APIs expand what DSPy can optimize and how it can connect to model providers, and real-world usage will help shape their next iterations. Highlights Flex Optimizes Program Structure, Not Just Prompts — @michaelisaac-dev Most DSPy modules fix the shape of a program up front: `Predict` makes one prediction, `ReAct` runs a tool loop, and `RLM` runs a code interpreter in a loop. Optimizers can improve the instructions around that structure, but the structure itself stays fixed. The…
- github.comDSPy v3.3.0primary