🌡️ OpenClaw 温度与参数调优指南

凌晨2点14分,我把Temperature从0.7调到0.2。AI突然从"诗人"变成了"会计"。那一刻我明白:参数不是数字,是AI的人格开关。

为什么参数调优很重要?

同样的模型,不同的参数,输出可能天差地别。Temperature=0的代码补全几乎不会出错,Temperature=1的创意写作充满惊喜。学会调参,让你的AI"指哪打哪"。

🎛️ 核心参数详解

🌡️ Temperature(温度)- 创意的阀门

控制输出的随机性。值越高,AI越"放飞自我";值越低,AI越"循规蹈矩"。

范围:0.0 - 2.0 | 默认:0.7

🎯 Top-P(核采样)- 可能性的边界

控制AI考虑的词汇范围。Top-P=0.9表示只考虑概率最高的90%词汇。

范围:0.0 - 1.0 | 默认:1.0

✂️ Max Tokens(最大输出长度)- 话多话少的开关

限制AI一次回复的最大token数。既控制输出长度,也影响成本。

设置Max Tokens时,要同时考虑上下文窗口的剩余空间。如果上下文快满了,Max Tokens设置再大也没用。

⚙️ OpenClaw参数配置

全局默认配置

# ~/.openclaw/config.yaml
models:
  default:
    provider: anthropic
    model: claude-3-5-sonnet-20241022
    api_key: ${ANTHROPIC_API_KEY}
    
    # 生成参数
    parameters:
      temperature: 0.7
      top_p: 1.0
      max_tokens: 4096
      
  # 代码专用模型 - 低温度
  coder:
    provider: anthropic
    model: claude-3-5-sonnet-20241022
    api_key: ${ANTHROPIC_API_KEY}
    parameters:
      temperature: 0.2  # 精确最重要
      top_p: 0.95
      max_tokens: 8192  # 代码可能需要更长输出

Per-Task参数覆盖

# 在SOUL.md中定义不同任务的参数

## 任务:写代码
当用户要求生成代码时:
- 使用temperature=0.2确保准确性
- max_tokens根据代码复杂度设置(1024-8192)
- 优先提供可运行的完整代码

## 任务:创意写作
当用户要求创意内容时:
- 使用temperature=0.9激发创意
- 鼓励独特的想法和表达
- 可以适当使用比喻和隐喻

## 任务:事实问答
当用户询问事实信息时:
- 使用temperature=0.1确保准确性
- 不确定时明确告知"我不确定"
- 提供信息来源(如有)

📊 场景参数速查表

场景 Temperature Top-P Max Tokens 原因
代码生成/审查 0.0-0.2 0.95 4096 精确性优先
代码解释/文档 0.3-0.5 1.0 2048 清晰易懂
数据分析 0.1-0.3 0.9 2048 避免编造数据
技术写作 0.4-0.6 0.95 4096 专业但不僵硬
客服回复 0.5-0.7 1.0 1024 友好自然
创意写作 0.8-1.0 0.95 2048 激发创造力
头脑风暴 1.0-1.3 0.9 1024 多样性优先
角色扮演 0.7-0.9 0.95 2048 保持角色一致性

🎯 进阶参数组合

组合1:精确模式(代码/数学)

temperature: 0.0      # 最确定性的输出
top_p: 0.1           # 只考虑最可能的词
presence_penalty: 0  # 不惩罚重复
frequency_penalty: 0 # 不惩罚重复

组合2:创意模式(写作/头脑风暴)

temperature: 0.9      # 高度随机
top_p: 0.95          # 较宽的采样范围
presence_penalty: 0.6 # 鼓励提及新概念
frequency_penalty: 0.3 # 轻微避免重复用词

组合3:对话模式(客服/陪伴)

temperature: 0.7      # 平衡
top_p: 1.0           # 完整考虑
presence_penalty: 0.3 # 保持话题多样性
frequency_penalty: 0.5 # 避免机器人式重复

🔧 动态参数调整

在对话中让用户控制"创意程度":

# 在SOUL.md中添加
用户可以通过以下指令调整回复风格:

- "/精确" → temperature=0.2 (适合事实、代码)
- "/平衡" → temperature=0.7 (默认)
- "/创意" → temperature=1.0 (适合头脑风暴)

切换后回复:"已切换到[精确/平衡/创意]模式"

📈 A/B测试参数效果

# 创建多个配置对比
models:
  conservative:  # 保守型
    temperature: 0.3
    
  balanced:      # 平衡型
    temperature: 0.7
    
  creative:      # 创意型
    temperature: 1.0

# 测试指标
- 用户满意度评分
- 任务完成率
- 重新生成请求次数
- 平均回复长度

💎 参数调优黄金法则

快速记忆法:温度低=AI穿西装打领带,温度高=AI穿花衬衫戴墨镜。

🔗 相关资源

最后的温度:
"参数调优就像调酒——Temperature是酒精度,Top-P是配料种类,Max Tokens是杯子大小。找到适合每个场景的比例,你的AI就是五星级调酒师。"