---
title: "角色设定：让 Claude 扮演你的专属顾问"
description: "角色不是装饰，而是给模型一组工作假设。这一节讲清角色描述该写哪四件事、怎样补上禁区，以及长对话里角色变淡时怎么拉回来。"
updated: 2026-11-13
canonical: https://docai.cc/learn/role-based-prompting/
markdown_mirror: https://docai.cc/learn/role-based-prompting.md
---
## 角色改变的不是身份，是筛选

给模型一个角色，它不会真的变成那个人。变化发生在别处：用哪套词汇、默认关注什么、假设读者是谁。同样问"这份合同有什么风险"，让它以诉讼律师的视角看，和以商务谈判顾问的视角看，切入点不一样。

理解了这一点，你就不会把角色写成人物小传，而是写成一组和任务有关的工作假设。想更系统地理解提示与角色的关系，可以先看[什么是提示词](/concepts/prompt/)。

## 四件事写出一个有用的角色

一个能起作用的角色描述，通常包含：

1. 做过什么——年限或项目类型，给它一个经验坐标；
2. 专注哪个领域——把知识范围收窄；
3. 擅长什么动作——分析、审阅、改写、诊断；
4. 怎么表达——先结论还是先过程，用不用术语。

例子：

> 你是一位做了十二年医疗器械注册的顾问，熟悉国内二类、三类产品的注册流程和临床评价资料。你习惯先确认适用法规，再给方案；输出按检查项列清单，每项写明依据和缺口。

这个描述里没有一句是装饰。每一条都会影响回答的取舍：它会更谨慎地谈法规，更习惯用清单，也不会把话题带到营销上去。写完之后删掉不影响判断的形容词，剩下的才是有效约束。

## 补上"不做什么"

只写该做什么，边界仍然是开放的。把禁区写进去，稳定性会明显提高：

> 规则：
> - 不判断具体产品能否通过审批，只指出资料缺什么；
> - 涉及法规条款时写明出处，记不清就说不确定；
> - 不做疗效或安全性承诺。

这一段的写法可以套用到任何专业领域：不替客户下最终结论、不编造条文编号、超出范围时提示找谁。它和[护栏](/concepts/guardrails/)是同一个思路，只是发生在提示层。边界宁窄勿宽，先收紧，再按实际需要放开。

## 角色、任务、背景、要求

把四块分开写，模型不容易漏：

```
【角色】你是一位服务中小制造企业的供应链顾问，熟悉采购、库存和交付周期管理。
【任务】审阅下面这份供应商评估表，指出评分逻辑的问题。
【背景】我们做定制设备，单件生产，交期波动大，现有供应商十二家。
【要求】
- 按问题严重程度排序，最多列五条
- 每条给出修改建议和可能的影响
- 信息不足的地方直接标注
```

分开写的好处是可复用：角色和背景能存下来，下次只换任务。如果你发现自己反复填写同一组背景，可以把它放进项目的[系统提示](/concepts/system-prompt/)或自定义指令里。

## 长对话里角色会淡

聊到几十轮之后，开头的设定容易被新内容稀释，回答慢慢回到默认腔调。发现跑偏时，用一句话拉回：

> 继续以供应链顾问的身份回答，保持刚才的清单格式。

比这更省事的做法，是把角色描述和固定要求存成模板，每开一个新话题就整段带上。别在一个对话里叠加多个互相冲突的身份，模型会各取一半，结果谁也不像。

## 什么时候不该给角色

角色是筛选器，不是万能钥匙。下面几种情况，加了反而更差：

- **查一个确定的事实。** 问某个接口的参数名、某条法规的生效日期，直接问并附上来源，比让「资深专家」凭印象回答可靠。
- **需要中立比较。** 让模型扮演某一方的支持者，它会放大有利于该立场的信息；这时应该要求它列出双方证据，而不是入戏。
- **探索阶段还没想清方向。** 过早限定身份，会把思路收窄。先让它发散，定下方向后再加角色收束。

一个可操作的判断：把角色描述逐句删掉，再问同一个问题。删掉后答案没有变化的句子，就是装饰，直接删。角色和系统提示的分工，可以对照[系统提示](/concepts/system-prompt/)。

## 三个常见误区

- 角色写得越长越好：超过三五行，重点反而模糊；
- 只写头衔不写动作："资深专家"不产生任何约束；
- 用角色代替核对：角色能让表达更专业，不能保证事实正确。数字、条款、引用仍然要自己查。

下一节解决另一半问题：回答的结构怎么定，才能拿到就能用：[输出格式控制](/learn/output-format-control/)。
