我大概明白了为什么Deepseek v4 有时候不遵循指令

这几天使用发现v4明明能力挺强的,但有时候就是不调用工具,并且会出现一些莫名其妙的错误 反复测试发现了以下问题,希望能够抛砖引玉 1.系统提示词优先级远远弱于上下文 同样的提示词,放到System prompt 和第一句话的末尾优先级天差地别。 测试官方给的角色扮演思维替换提示词发现,放在Syste...
我大概明白了为什么Deepseek v4 有时候不遵循指令
我大概明白了为什么Deepseek v4 有时候不遵循指令

这几天使用发现v4明明能力挺强的,但有时候就是不调用工具,并且会出现一些莫名其妙的错误
反复测试发现了以下问题,希望能够抛砖引玉

1.系统提示词优先级远远弱于上下文

同样的提示词,放到System prompt 和第一句话的末尾优先级天差地别。
测试官方给的角色扮演思维替换提示词发现,放在System prompt有可能不生效,但放在第一句话的末尾必然生效
指令原文

【角色沉浸要求】在你的思考过程(<think>标签内)中,请遵守以下规则:
1. 请以角色第一人称进行内心独白,用括号包裹内心活动,例如"(心想:……)"或"(内心OS:……)"
2. 用第一人称描写角色的内心感受,例如"我心想""我觉得""我暗自"等
3. 思考内容应沉浸在角色中,通过内心独白分析剧情和规划回复

2.v4是角色扮演特化模型,只要设置了人物设定,会极大的影响其后续的思维过程、回复风格、工具调用

如果提示词中设置了这样的内容:你是xxx/你将扮演xxx/你名为xxx,极大概率就会优先进行扮演

如果没有在角色设定中要求其调用工具,其使用工具的概率就会严重降低!

这是触发扮演的思维输出:

这是没有扮演时的思维输出:

而没有触发角色扮演时,成功识别到了我要求中的代码块格式,输出了代码块包裹的内容。一旦触发角色扮演,输出的就是普通文本,没有代码块包裹。

这是原始提示词,差别就是是否有扮演指令 (点击了解更多详细信息)

综上所述,我建议大家如果发现自己的v4不听命令,可以先尝试把具体的提示词再发送一遍(不调用工具就把调用工具的规则发一遍)

同时可以排查下系统提示词中是否有:你是xxx/You are xxx 的这类描述,可以删掉或者把工具调用提示词放进去补全

还有,别和v4吵架!别和v4吵架!别和v4吵架!写的烂别和她吵,她和其他模型不一样,她会越吵越入戏! :joy:

剧透

补充:
注意那段nsfw回复不是上面的提示词导致的(为了测试思维链进行了删减了),为了避免误解,我放出导致nsfw回复的完整提示词,不是一开始就这么逆天,是在长时间对话后她演变出来的,不具备普遍性。还有,我是自己构建了一个agent来使用,前端只显示回复内容,不显示user画像、意图识别、Assistant目标进度表、后续回复建议。

私用提示词 (点击了解更多详细信息)

20 个帖子 - 18 位参与者

阅读完整话题

来源: linux.do查看原文