// event · library
DSPy 3.4.1: structured GEPA InstructionProposer default and RLM sub-agents
libraryvendor: stanfordnlppublished: 10h agoconfidence: 0.90id: 87c5eb00-e2b7-4e49-8ead-3806aafb66f3
DSPy 3.4.1 promotes GEPA's structured InstructionProposer to the default (routing reflective examples through dspy.Predict + JSONAdapter so History, tool trajectories, and dspy.Image stay structured) and lets dspy.RLM build DSPy sub-agents (Predict, ChainOfThought, ReActV2, nested RLM) directly from its sandboxed REPL, sharing one max_llm_calls budget. Adds Python 3.15, fixes 3.4.0 import crash.
capability delta
An agent can now use GEPA's structured InstructionProposer by default (preserving images/history/tool trajectories as structured content) and have dspy.RLM spawn DSPy sub-agents (Predict, ChainOfThought, ReActV2, nested RLM) from inside its sandboxed REPL under a shared max_llm_c
// install
pip install --upgrade "dspy==3.4.1"pypi · dspy @ 3.4.1
// example
python
import dspy
from dspy.teleprompt.gepa import InstructionProposer
optimizer = dspy.GEPA(
metric=metric,
reflection_lm=dspy.LM("openai/gpt-5"),
instruction_proposer=InstructionProposer(
skills=["./skills/prompt-engineering"],
additional_instructions="Write instructions in imperative voice.",
max_chars=1500,
truncate_history_outputs=True,
),
auto="medium",
)
# RLM that can spawn DSPy sub-agents inside its REPL
rlm = dspy.RLM(
"logs, question -> answer",
sub_lm=dspy.LM("openai/gpt-4o-mini"),
max_llm_calls=30,
)// links