用途:当 AI 对同一输入每次给出不同答案、输出不可预测时,本技能引导用户提升输出的一致性与可预测性。它针对的是“答案本身正确但每次不同”,而非“答案错误”。若 AI 一致但错误,应改用 /ai-improving-accuracy。
主要能力:按顺序叠加一致性手段,包括将 temperature 设为 0、用 Literal 锁定分类取值、用 Pydantic 模型约束结构化输出、用 dspy.Refine 加奖励函数约束长度与格式、用 BootstrapFewShot 优化固化模式,以及利用 DSPy 默认缓存保证相同输入返回相同结果。
使用方式:先诊断变化点(答案、格式、长度还是细节),对同一输入运行 5 次观察差异;再依次应用上述技术。示例:lm = dspy.LM("openai/gpt-4o-mini", temperature=0) 后 dspy.configure(lm=lm)。验证时用 Counter 统计多次运行的一致率。安装命令:npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill <name>。
适用场景:分类、结构化抽取、下游代码依赖固定格式等对稳定性要求高的任务。创意写作、营销文案、头脑风暴等场景变化本身是特性,不应过度约束;若每步都有人工审核,轻微变化也无害。
限制与注意:部分提供商在 temperature=0 时仍可能因浮点非确定性有轻微差异;Refine 未达阈值会重试最多 N 次,可能成倍增加 token 成本;缓存会在开发时掩盖不一致,测量一致性时应关闭缓存;Literal 只支持静态值,动态类别需用 Literal[tuple(categories)];若训练示例格式本身不一致,BootstrapFewShot 反而会放大变化。更改 LM 后需重新 configure 才会生效。