提示词里加一句角色设定,ChatGPT回答质量直接上台阶
前两天有个做前端的朋友半夜给我发消息,说他用ChatGPT写正则表达式,改了七八遍还是匹配不上,气得想砸键盘。
我让他把提示词截图发过来一看,好家伙,就一行字:“帮我写个匹配邮箱的正则”。
我说你这不叫提问,这叫许愿。
后来我让他加了一句话,同样的模型,一次就出结果了。
那句话就是角色设定。
不是那种“你是一个资深工程师”的客套话,而是带具体场景和限制条件的身份描述。
比如我平时写技术方案,开头必加:“你是一个不爱看文档但动手能力强的后端程序员,说话直给,别整虚的吧。
”就这一句,输出质量直接上了一个台阶。
核心结论
为什么角色设定这么管用?
因为大模型本质上是个概率机器,你给它的上下文越具体,它塌缩到你要的那个答案空间的概率就越高。
不加角色,它默认走“通用助手”模式,回答四平八稳但没重点。
加了角色,等于给它画了个圈,告诉它“别乱跑,就在这个范围里给我干活”。
我去年十月在杭州出差,跟一个做AI绘画的朋友吃饭,他说他们团队测试过,同样的Midjourney提示词,前面加不加“你是一个擅长赛博朋克风格的插画师”,出图效果差异巨大。加了角色设定的那一组,构图和光影明显更贴近需求,返工率低了差不多一半。
具体方法
第一步:确定你要什么范儿的回答。
先想清楚你是要一个严谨的技术文档,还是一个能直接抄的代码片段,还是一个能发朋友圈的段子。
不同目标对应不同角色。
比如你要写周报,角色设定就写“你是一个干了五年但依然讨厌写周报的运营,擅长把废话浓缩成三行字”。
第二步:把角色的限制条件写进去。
光说“你是一个程序员”太泛了吧。
你得加限制,比如“不爱看书但动手能力强”意味着它不会给你堆理论,直接上代码。
“说话接地气”意味着它不会拽术语。
我常用的一个模板是:“你是一个不爱看说明书但修东西特别快的家电维修师傅,回答问题时先说结论再说原因,别超过三句话。
”
第三步:给角色一个具体的场景锚点。
比如“你正在给一个完全不懂技术的小白解释什么是API”,或者“你正在给老板写一封解释项目延期的邮件”。
场景越具体,输出的针对性越强。
实践过让ChatGPT用“给丈母娘解释为什么过年不回家”的角色写请假条,出来的东西比我憋半天写的生动多了。
第四步:加一句“不要做什么”。
这步很多人忽略。
角色设定不光要告诉它你是谁,还要告诉它别变成谁。
比如“不要用‘毋庸置疑’‘显而易见’这种词”“不要分点列条目,用大白话段落写”。
我有个做自媒体的朋友,每次写脚本都加一句“不要用任何AI套话,说人话”,她说加了这句之后,脚本直接能用的比例从三成涨到了七成。
第五步:测试两三轮再定稿。
角色设定不是一次就完美的。
我一般会拿同一个问题,分别用不加角色、加简单角色、加详细角色跑三遍,对比输出。
差不多跑个三四轮,就能找到那个“刚刚好”的设定。
太细了模型会死板,太粗了又回到老路。
- 避坑点一:角色别写太长,超过三句话模型容易抓不住重点,反而稀释了核心指令。
- 避坑点二:别用“你是一个世界顶级专家”这种虚的头衔,模型对“顶级”没概念,对“不爱看书但动手能力强”这种有画面感的描述才敏感。
- 避坑点三:角色设定要和任务匹配。你让一个“不爱看书的程序员”去写诗,它也能写,但肯定不如“街头卖唱的民谣歌手”写得好。
我自家楼上邻居是做电商运营的,她之前用ChatGPT写商品详情页,怎么调都不对味。后来我让她把角色改成“你是一个在义乌小商品市场干了十年的摊主,说话带点江湖气,擅长把普通东西吹得让人想买”,结果生成的文案她直接贴到某东店铺里,转化率涨了差不多两成(这个我真没想到)。
还有个小技巧,角色设定可以叠加。
比如“你是一个不爱看书但动手能力强的程序员,同时你正在教一个刚入行的实习生”。
叠加之后,输出的语气和详细程度会自动适配教学场景,比单层角色更精准。
最后说个我自己的翻车经历。
有次我让ChatGPT扮演“一个懒得解释的资深架构师”,结果它真的就只给我甩了几行代码,注释都不写。
后来我把“懒得解释”改成“不爱写文档但代码注释写得很清楚”,才拿到我想要的东西。
所以角色设定里的每个词都会被模型放大,写的时候得抠字眼。
(如果你有更好的经验,欢迎在评论区补充。)