两类重复惩罚参数
frequency_penalty 按词已经出现的次数累计惩罚,出现越多抑制越强;presence_penalty 只要该词出现过就施加固定惩罚,作用是鼓励引入新词。两者都是采样阶段的参数,与提示写法无关。抽取、代码、结构化输出场景通常保持默认 0,因为专有名词与标识符会被当成「重复」而遭到同义改写,反而制造错误。
基本信息
| frequency_penalty | 按出现次数累加惩罚,常见范围 -2 至 2 |
|---|---|
| presence_penalty | 词出现过即施加固定惩罚,鼓励引入新词 |
| 默认策略 | 抽取、代码、结构化输出保持 0 |
| 作用层次 | 采样参数,与提示词内容无关 |
典型使用场景
- 长文案与闲聊:复读明显时小幅提高 presence_penalty 缓解重复句式
- 营销文案批量生成:抑制「我们致力于」这类模板句反复出现
- 字段抽取:保持默认值,避免标识符被同义替换
- 代码补全:保持默认值,变量名与函数名不能被改写
- 多轮对话:出现整段复读时先检查上下文是否重复注入,再动参数
使用场景对照
使用场景对照
闲聊 / 长文案复读明显 → presence_penalty 小幅提高(如 0.3-0.6)
代码补全、字段抽取 → 保持 0;调高会让标识符被同义改写
# 参数不是修提示问题的手段:先排查提示是否要求了逐字引用
# 调整要单变量:一次只改一个参数,跑同一批样本对比
# 记录每次调参的样本集与结果,否则变化无法归因
# 抽取场景若必须去重,用后处理做,而不是提高惩罚参数影响对照
| 场景 | 建议取值 | 风险 |
|---|---|---|
| 抽取、结构化输出 | 0 | 调高会导致字段值被改写、ID 变形 |
| 代码生成与补全 | 0 | 标识符被同义替换,编译失败 |
| 闲聊、长文案 | 0.3-0.6(presence) | 过高会出现术语漂移与生硬句式 |
| 多轮对话复读 | 先查上下文 | 重复注入历史比参数更常见 |
专有名词与固定术语同样被视为「重复」,惩罚调高会被错误替换,抽取场景要谨慎使用。
数值过高会让句式生硬、术语漂移,尤其在中文长文本里表现为用词越来越别扭,需要抽样阅读确认。