首页/AI/提示词工程速查/采样随机性与可复现记录
评估与迭代50 条

采样随机性与可复现记录

让评测尽量可复现:固定采样参数与提示版本,记录模型标识与请求参数;无法固定的部分用重复运行覆盖。

提示词工程速查AI更新于 2026-10-13

采样随机性与可复现记录

带采样的任务要做到「结论可复现」,靠的不是指望输出逐字一致,而是把实验条件完整记录下来:提示版本、模型标识、采样参数、评测集版本、代码提交。条件记录齐了,别人才可能重跑并解释历史结果;记录缺失时,任何一次指标变化都无法归因。

基本信息

记录范围提示版本 + 模型标识 + 采样参数 + 评测集 + 代码版本
参数快照temperature、top_p、max_tokens、seed 全部留档
提示版本对提示文本做哈希,避免「记不清改了哪句」
复现口径种子相同也不保证逐字复现,结论按统计口径给

典型使用场景

  • A/B 对比实验:确认两次运行的条件差异只有提示版本
  • 问题回溯:线上质量下滑时判断是提示变了还是模型更新了
  • 对外披露指标:报告里附条件快照,结论才可被复核
  • 回归集维护:随机性大的任务靠重复运行覆盖波动

评测记录字段

评测记录字段
run_id: 2026-10-12-01
prompt_version: v12 (sha1: 3f9a...)
model: <部署标识与版本号>
params: temperature=0, top_p=1, max_tokens=800, seed=42
eval_set: golden-v3 (200 条)
code_path: eval/run.py @ commit abc1234
notes: 只改了输出格式一节;与 v11 配对比较

# 提示文本单独存文件并做哈希,改动即可比对
# 只记模型名不记部署版本,模型更新后历史结果无法解释

记录字段与用途

字段用途缺失时的后果
prompt_version确认两次运行差异是否只在提示无法判断改动内容,归因无从下手
model区分模型升级与提示改动的影响模型更新后历史指标变化被误读
params采样条件一致性的证据两次运行条件不同,比较不成立
eval_set确认样本集版本一致换了样本集却被当成提示改进
code_path复现实验所需代码版本评测逻辑已改,历史结果无法重跑
「温度设为 0 就等于确定输出」是一个常见误解。不同批次、不同硬件、不同批处理切分下仍可能出现差异,因此统计口径(重复运行取均值)比追求逐字复现更实际。

易错点

  • 把温度 0 当作确定输出的保证,忽略跨批次仍可能存在的差异,导致结论不稳定
  • 只记录模型名不记录部署版本,模型悄悄更新后历史指标无法解释
  • 提示文本不做版本与哈希管理,出现波动时说不清到底改了哪一句
  • 两次实验的采样参数或评测集版本不同却直接比较,结论本质无效

数据来源与参考

  • OpenAI API 文档:seed 参数与可复现性说明(best effort 复现)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌