stanfordnlp/dspy 3.4.1
DSPy 3.4.1 makes GEPA's structured InstructionProposer the default instruction proposer and lets dspy.RLM build DSPy sub-agents from inside its REPL.
ProofCode ↗
Key points
- Upgrade notices. GEPA's default reflection request changes shape, so optimization results can differ from 3.4.0 even with the same seed.
- The reflection LM must now be a dspy.LM that can return JSON.
- Every RLM prompt now includes a sub-agent section, and maxllmcalls now also counts sub-agent LM calls. dspy.ReActV2 signatures can no longer declare inputs named history or tools.
- dspy.GEPA now builds InstructionProposer() when you don't pass instructionproposer=.
Sources (1)
- [1]stanfordnlp/dspy 3.4.1GitHub: stanfordnlp/dspy · Oct 12, 11:12 PM
DSPy 3.4.1 makes GEPA's structured `InstructionProposer` the default instruction proposer and lets `dspy.RLM` build DSPy sub-agents from inside its REPL.
**Upgrade notices.** GEPA's default reflection request changes shape, so optimization results can differ from 3.4.0 even with the same seed.
Extractive summary: sentences quoted from the sources.
Before this
- Oct 12, 2026I built a tiny table that learns your local LLM's classification answers and serves the repeats in microseconds [D]
- Oct 11, 2026SonarQube + OpenAI: Agentic Development — Killian Carlsen-Phelan, Sonar
- Oct 11, 2026openai/openai-python v3.29.0
- Oct 9, 2026New Math from OpenAI
- Oct 8, 2026openai/codex rust-v0.162.0: 0.162.0
- Oct 8, 2026Understanding Jev, the new model everyone is talking about