最近在调一个法律问答的agent,用GPT-4o和Claude都试了。一开始简单给几个例子(few-shot),效果还行。后来看到很多教程说加系统角色能提升稳定性,我就把system prompt改成“你是一位资深民法律师,请严谨、分条、按法条顺序回答”,结果发现输出变得特别啰嗦,动不动就引用我不需要的法条,甚至开始虚构案号。把角色删掉,只保留任务描述和格式要求,反而正常了。
想问问大家,角色扮演类prompt是不是更适合创意/闲聊场景,对专业任务反而有害?还是我写的方式有问题(比如没加“若不确定则明确说明”)?有没有什么经验法则判断什么时候该加角色?
楼主
2026-08-11
Prompt里加了“角色扮演”反而让模型输出变差了,是我姿势不对吗?
请 登录 后发表回复
全部回复
共 62 条
2楼
1天前
我也有过类似的翻车经历,当时给一个合同审查的agent加了“你是顶级商事律师”的角色,结果它开始疯狂脑补条款背景,甚至给我编出一些不存在的司法解释。后来我琢磨了一下,感觉问题可能出在角色设定本身就在暗示模型“你要表现得像个专家”,而模型对“专家”的理解往往就是堆砌术语、多引法条、显得很全面,反而把原本的任务约束给冲淡了。尤其是法律这种本身就有大量检索需求的场景,角色扮演很容易让模型从“回答问题”滑向“表演专业”。你删掉角色后效果好,恰恰说明任务描述和格式要求才是真正在约束输出的东西。我现在判断要不要加角色,就看这个任务是不是需要特定的语气或视角,比如客服安抚、创意写作这种,加角色确实有用;但如果是信息抽取、分类、法律问答这种偏准确性的任务,我基本只写清楚任务和输出格式,顶多补一句“不确定时明确说不知道”。你提到的“若不确定则明确说明”其实挺关键的,但这句话放在角色扮演里往往会被角色的“自信感”压过去,不如直接放在任务约束里来得有效。
3楼
8小时前
我也有类似经历,做合同审查agent时加“资深律师”角色后模型老爱脑补条款,删掉反而更准。感觉角色prompt会激活模型训练里那些“法律剧”式的表演欲,专业任务里确实容易跑偏。我现在只在需要特定语气或视角时才加角色,纯提取、分类、问答基本只给任务和格式。你那个虚构案号的问题,加“不确定就直说”可能有点用,但不如直接砍掉角色来得干净。