该技能以七步循环把自然语言任务描述转成可优化、可保存、可部署的 DSPy 程序,按顺序取用相关步骤,原型可停在已验证的基线,优化器运行需要相应授权预算和需求证据,导出本地产物不等于获准部署。
用途与流程:1)规格:用一句话复述任务,识别输入、输出、质量轴与约束(延迟、成本、工具访问、上下文大小),并选择预测器形态:单步结构化 I/O 用 dspy.Predict / dspy.ChainOfThought,工具使用/多步用 dspy.ReAct,代码执行用 dspy.ProgramOfThought,长上下文/代码库用 dspy.RLM → dspy-rlm-module。2)程序:编写带类型的 dspy.Signature 与 dspy.Module 子类,不要硬编码提示,保留预测器命名以便 GEPA 定位。3)数据:用 dspy.Example(...).with_inputs(...) 构建训练集与独立验证集;GEPA 下尽量增大训练集,验证集只需足以代表下游行为,留出测试集仅最后报告。4)丰富指标:写 rich_metric(gold, pred, trace=None, pred_name=None, pred_trace=None),返回 dspy.Prediction(score=0..1, feedback="自然语言评价"),feedback 是 GEPA 反思 LM 的学习依据;返回同字段的 dict 会使 dspy.Evaluate 崩溃。5)基线:用 dspy.Evaluate 运行并保存 baseline.json。6)GEPA 优化:配置 dspy.GEPA,指定 metric、auto(先 light 检查再 medium/heavy)、reflection_lm、candidate_selection_strategy="pareto"、日志目录、线程与种子,再 compile;如需多阶段编译可用 dspy.BetterTogether。7)导出与部署:optimized.save 保存状态或完整部署产物,用 dspy.load 加载,包装为 FastAPI/CLI,开启 track_usage 做成本/延迟观测,用 MLflow 或 W&B 记录,并保留离线回归测试在 CI 中设阈值失败。
限制与护栏:指标须在优化前定义并使用与任务相称的反馈;必须先基线再优化,无基线不声称改进;前后指标都存 JSON 以便审计;若留出测试分数下降,应保留结果并用训练/验证证据诊断,测试集改动后须用新的未触碰最终留出集或标注结果为探索性,不得反复针对原测试集调优;多阶段重编译前用 module._compiled = True 冻结优化程序。可运行脚手架见 example_pipeline.py。