角色一致性要维持什么
长会话中,角色设定会随轮次逐渐冲淡:回复长度慢慢变化、输出从表格退化为随笔段落、语气从正式变成闲聊,约束被稀释到几乎不起作用。这不是模型忘了,而是早期内容在上下文里的分量被后面的对话挤低了。常见做法是在固定位置复述关键约束,或每隔几轮插入一次提醒,并在输出端抽查格式是否还在。
要点
| 漂移表现 | 回复长度逐渐变长或变短、结构退化为段落、语气变随意 |
|---|---|
| 复述位置 | 每轮 user 消息末尾,或每 3-5 轮插入一次 |
| 复述内容 | 只写最容易松掉的 2-3 条硬约束,不要整段重发 system |
| 频率 | 复述过频会挤占上下文并显得啰嗦,按轮次或任务阶段切换时提醒 |
| 抽查 | 在输出端定期检查格式与要点数量,发现问题立即纠正 |
典型使用场景
- 长客服会话:保持语气与话术口径一致,避免后半段变得随意
- 多轮排障:每一轮都要给出可执行步骤,而不是逐渐变成解释性段落
- 教学场景:维持讲解深度与术语解释密度,避免后期默认读者已懂
- 类人设对话:角色性格在几十轮后依然稳定
- 结构化输出会话:每轮输出格式一致,便于程序逐轮解析
约束复述做法
约束复述做法
(放在每轮用户消息末尾,或每 3-5 轮插入一次)
[提醒] 保持系统设定:面向非技术同事;要点不超过 3 条;不展开内部实现细节。
# 只复述最容易松掉的硬约束,避免把整段 system 重发一遍漂移与对策
| 漂移类型 | 观察到的现象 | 对策 |
|---|---|---|
| 长度漂移 | 回复越来越长或越来越短 | 复述字数与条数要求 |
| 结构漂移 | 表格退化为段落,字段消失 | 复述输出结构并抽查解析结果 |
| 语气漂移 | 从正式变成闲聊 | 复述读者画像与语气要求 |
| 范围漂移 | 开始回答职责之外的问题 | 重申职责边界与转交口径 |
也可以把检查做成周期性动作:每隔几轮让模型自查一次是否符合格式约定,再继续对话。