调整 Matrix-Game3.5 行为参数之前,先把当前行为问题和触发场景记下来。行为参数很少是“越大越好”或“越小越好”,多数异常来自参数组合不匹配,而不是单个参数出错。建议先建立一组基准输出,再按单变量方式逐个调整,最后做组合验证。
建议按“先记录基线、再单变量调整、最后组合验证”的顺序操作。优先检查系统提示词和重复惩罚,再尝试调整温度与上下文长度。每次只改一个参数,并用同一批测试输入做前后对比。若改动后仍不稳定,应回滚到上一组参数。
以下是针对常见行为问题的参数调整方向。你需要先确认自己遇到的是哪一种,否则容易把温度调高后反而让复读更明显。
先分类当前问题,再决定改哪个参数
如果输出过于死板,通常是温度设置过低,或提示词中的限制太多。可以尝试把温度从当前值上调一个步长,并保留同样提示词连续生成三次,观察是否出现同义但不同措辞的回应。
如果出现复读或单句循环,优先检查重复惩罚参数是否处于关闭状态,然后检查上下文长度是否过长。长对话中,模型可能被早期句子带偏。建议把上下文长度减少到能覆盖最近十轮对话的规模,然后看复读是否减少。
如果角色前后不一致,往往是系统提示词被对话历史覆盖。做法是:把角色设定和“不允许改变”的规则放到系统提示词最前面,并缩短上下文长度,降低后续对话对设定部分的注意力。此时不需要大幅调整温度。
如果行为过度发散、答非所问,可以降低温度,或者在提示词中增加一个明确的输出约束句,例如“每次都先做这件事再继续”。这类问题优先改提示词,而不是反复调节采样参数。
按参数分组调整,不要同时动多个
下面这张表给出常见参数组的调节方向和验证点。每次只改一个维度,否则你无法判断到底是哪个改动产生了效果。
| 参数组 | 调节方向 | 验证点 |
|---|---|---|
| 温度 / top_p | 从低往高调,每次变化幅度小一些;top_p 只改一个即可 | 同一提示词下是否出现更多措辞变化,同时不偏离主题 |
| 重复惩罚 | 从关闭或 1.0 开始,向上微调 | 复读是否减少,有没有出现语句断裂或生硬换词 |
| 上下文长度 | 先记录当前长度,再按截半或加倍做对比 | 角色能否记住关键设定,同时又不会被早期内容干扰 |
| 系统提示词 | 把规则前置,用短句表达,避免相互矛盾 | 在长对话中是否保持同一行为基线 |
下面是一个通用配置骨架。注意字段名和取值范围需要根据你实际使用的工具确认,这里只展示调整逻辑:
{
"temperature": 0.8,
"top_p": 0.9,
"repetition_penalty": 1.05,
"max_tokens": 1024,
"system_prompt": "你是一个谨慎、行动可预测的游戏角色。每次行动前先给出理由。"
}
用两版提示词做 A/B 对比,而不是只看参数
行为参数只是调节器,系统提示词才是行为的主模板。建议在固定参数不变的前提下,对提示词做两版对比。
版本 A 使用宽松描述:
你是一个游戏角色,可以自由决定自己的行为。
版本 B 使用带约束的描述:
你是一个游戏角色。每次行动前必须先评估周围环境,再给出一个动作;动作只能属于“移动、拾取、对话、观察”之一。
在保持温度、上下文长度相同的条件下,分别跑三次同一场景,对比输出是否更贴近你想要的行为。这一步能帮你区分:行为异常是采样参数造成的,还是提示词本身没有给出足够边界。
调整后的验证与回滚清单
每次改动后,用下面清单确认结果是否可接受:
- 用同一输入连续生成三次,确认没有明显突变或循环。
- 把触发异常的那段历史原样回放,确认问题被修复而不是被新的随机结果掩盖。
- 记录当前所有参数和提示词版本,至少保留一份可以回滚的配置。
- 不要连续调多个参数。如果这次改动失败,回滚到前一版,再换另一个方向试。