用途:使用 SIMBA(随机内省小批量上升)优化 DSPy 程序,通过小批量采样、输出变异性分析、自反思规则和成功示例来迭代改进提示。适合需要比 GEPA 更轻量、有数值指标、希望获得内省规则与示例、且评估调用预算有限的场景。
主要能力:识别输出变异性高的困难样本;生成自反思规则或添加成功示例;使用配置的 LM 或 prompt_model 进行内省;比基础 bootstrap 更具探索性。
使用方式:定义 dspy.Module 程序、trainset、返回数值分数的 metric,然后创建优化器并编译: optimizer = dspy.SIMBA(metric=qa_metric, max_steps=10, bsize=5) compiled = optimizer.compile(program, trainset=trainset) compiled.save("qa_simba.json") 可配置参数包括 max_steps、bsize(默认 32)、num_candidates(默认 6)、max_demos(默认 4)、temperature_for_sampling(默认 0.2)、temperature_for_candidates(默认 0.2)。
适用场景:问答流水线、研究型 ReAct 智能体等需要数值指标优化的 DSPy 程序;指标可设计为分级分数而非仅二值。
限制:较新,实战验证少于 MIPROv2;依赖合理的指标设计;对智能体优化不如 GEPA 彻底;小批量采样会带来结果方差;不消费 GEPA 式文本反馈指标。官方文档见 https://dspy.ai/ 与 https://dspy.ai/api/optimizers/SIMBA/。