最近在试着用Qwen2.5-7B-Instruct搭一个客服机器人,system prompt里明确写了“你是某银行的客服小助手,语气亲切,回答不超过50字”。但实际跑起来,前两句还挺像那么回事,第三句开始就突然冒出“作为AI助手我无法……”这种话,或者回答风格突变,像换了个人。我试过把角色设定重复写进对话历史,也试过用分隔符强调,但效果都不太稳。想请教下,这种开源模型是不是对system prompt的遵循能力天生比闭源弱?还是说我应该在few-shot示例里多放几轮完整对话,而不是只靠一句指令?有点迷茫,求指点。
楼主
2026-08-22
Qwen2.5用system prompt设定角色后总感觉“人格分裂”,是我的写法有问题吗?
请 登录 后发表回复
全部回复
共 41 条
2楼
23天前
我之前也踩过这个坑,后来发现7B这个量级的模型确实在长对话里容易“忘记”自己的角色,尤其是你这种字数限制加语气要求叠在一起的时候,它注意力会漂。我的经验是别光在system里写,最好在对话历史里每隔两三轮回插一句简短的提醒,比如“(客服小助手语气)”,比重复整段system管用。另外50字限制本身也会逼它跳戏,因为它一旦觉得信息没说完,就会切回通用助手模式来补全。few-shot确实值得加,但别只放问答对,最好把“用户追问、客服短答、用户再追问”这种连续两三轮的节奏放进去,让它学到风格是延续的。还有个偏方是把system拆成两段,一段写身份语气,一段写禁止事项,中间用空行隔开,实测比堆在一起稳一点。当然7B和闭源那种指令遵循确实有差距,但调好了日常客服场景够用,别太灰心。