强模型已经不缺角色暗示。长篇 persona prompt 往往不如清晰目标、任务约束、上下文边界和输出格式有效。
阅读时间:约 5 分钟
很多人写 .cursorrules 的第一行,还是那句熟悉的话:
You are a senior full-stack developer with 10 years of experience...
这句话在 2023 年很流行。它给早期模型一个角色框架,能让输出更像"某类人会写的东西"。
问题是,模型变强以后,这个技巧的收益开始变薄,甚至会反向拖累结果。
图:Persona Prompt 边际收益
角色提示词曾经有效,但它不是永久技巧
persona prompting 的直觉很简单:先告诉模型"你是谁",再让它按这个身份做事。
早期模型的指令遵循和任务规划能力不够强。角色声明像一个软约束,能让模型更快进入某种输出风格。
但研究数据没有给它太多空间。
Zheng 等人在 EMNLP 2024 做了大规模实验:162 个角色、4 个模型家族、2,410 道题。结果显示,73% 到 100% 的 persona 对准确率没有正向效果,部分模型还出现显著下降。
Wharton 商学院 Basil 团队在 2025 年用 6 个前沿模型重复类似实验。5 个模型没有统计显著提升,实验里还观察到 9 个显著负向差异。
这些结果说明一件事:角色声明更像启发式技巧,不是稳定提升模型能力的方法。
代码生成数据说明:中等模型更吃角色
编程场景里,角色提示词的效果更分化。
Guo 2024 的 Personality-Guided Code Generation 在 7 个模型、4 个代码基准上测试 persona prompt。结果大致如下:
| 模型 | MBPP Δ | HumanEval+ Δ | APPS Δ | 平均 Δ |
|---|---|---|---|---|
| GPT-4o | +6.1 | -1.9 | -1.0 | +1.2 |
| GPT-4o mini | +12.9 | +1.8 | +2.6 | +4.9 |
| Llama-3.1 | +11.2 | +0.6 | +6.8 | +5.3 |
| DeepSeek-Coder V2 | +10.8 | -4.3 | -5.0 | +0.6 |
规律很直接:
- 简单题更容易从角色声明里拿到收益
- 中等模型的收益更明显
- 强模型在难题上可能被角色声明拖低
- 平均提升接近噪声时,不值得为它牺牲 prompt 空间
GPT-4o mini 的平均 +4.9% 有讨论价值。GPT-4o 的 +1.2% 就很难说是稳定收益。
强模型更需要约束,而不是头衔
2026 年的两个官方信号更明确。
OpenAI 在 GPT-5.6 Sol Prompting Guidance 里给了定量结论:内部 coding-agent 评估中,删除冗余角色声明和 few-shot 示例后,eval 分数提升 10% 到 15%,token 消耗降低 41% 到 66%,API 成本节省 33% 到 67%。
Anthropic 对 Claude Fable 5 的说法也很直接:为旧模型设计的 prompt 往往过于死板,会降低输出质量。它仍允许 persona,但把 persona 定位成行为和语气工具,而非准确率提升手段。
独立实验也有类似现象。Amit Koth 的 2026 预印本里,一个"图书管理员"persona 让 Claude Opus 的平均正确率从 0.92 降到 0.67。
这类结果背后的逻辑并不复杂。强模型已经知道"高级工程师"通常该怎么做。继续写一大段身份设定,只会把模型限制到某个狭窄输出姿态里。
模型真正需要的是任务约束:
- 目标是什么
- 输入边界在哪里
- 不能做什么
- 输出格式是什么
- 失败时如何处理
头衔无法替代这些信息。
什么时候加角色,什么时候删掉
可以按模型能力做一个实用判断:
| 模型层级 | 写代码 | 推理/调试 | 写文档/注释 | 建议 |
|---|---|---|---|---|
| GPT-5.6 Sol / Claude Fable 5 | 角色可能有害 | 角色可能有害 | 风格可用 | 删长角色,只留目标和约束 |
| GPT-4o / Claude 3.5 | 接近噪声 | 持平或微负 | 风格可用 | 默认不加 |
| GPT-4o mini / DeepSeek V4 Pro | 约 +5% 收益 | 不稳定 | 风格有效 | 可以加具体角色 |
| Llama / Qwen / Codestral | 代码场景常有收益 | 多数下降 | 风格有效 | 代码可加,推理慎用 |
这里的分界不完全取决于模型大小,更取决于模型对齐水平和指令遵循能力。
闭源顶级模型已经能自己组织任务。角色声明容易变成多余限制。
开源旗舰或中等模型还可能受益。角色能提供一个更明确的输出姿态,尤其在代码风格、审查标准和文档语气上。
Prompt 成本主要花在注意力上
"你是一个专家"只有几个 token,直接 API 成本确实很低。
按原文的估算,一句 You are an expert Python developer 大约 8 个 token。即使一天调用 1000 次,成本也可能只有几分钱量级。
真正贵的是注意力。
你花 20 分钟打磨"资深全栈专家"的形容词,本可以把时间花在更有效的内容上:
- 写清楚代码运行环境
- 列出必须遵守的接口约束
- 给出失败时的处理规则
- 指定输出格式
- 提供真实上下文和反例
这些内容会直接改变模型可用信息。角色声明大多只改变语气。
强模型上更麻烦的是负收益。冗余 prompt 会占用上下文,也会让模型过度遵循旧模板。
它真正昂贵的地方,是把注意力放错了位置。
写给 vibe coder 的改法
别再写:
You are a senior Python developer with 10 years of experience.
换成:
## Goal
Fix the failing payment retry logic.
## Constraints
- Python 3.12
- Type hints required
- Follow Google Python Style Guide
- No bare except
- Preserve public API behavior
## Output
- Patch only
- Include a short test command
- Explain risky assumptions in 3 bullets max
这段 prompt 没有"专家证书",但对模型更有用。它给出了任务、约束、边界和交付形态。
如果你使用中等模型,角色也要写得具体:
You are a backend engineer specializing in FastAPI and SQLAlchemy.
Review this PR for transaction boundaries, N+1 queries, exception handling, and naming consistency.
这里的角色承担具体技术栈约束,而不是泛泛要求模型"显得专业"。
收束
persona prompt 曾经是有效技巧。它帮早期模型进入角色,也让输出更像某个专业身份。
但强模型已经不缺这层暗示。它们更需要清晰目标、准确上下文和可执行约束。
2026 年的实用规则可以写得很短:
强模型:删长角色,写任务约束
中等模型:保留具体角色,避免空泛头衔
推理任务:优先给问题结构,不用身份包装
风格任务:persona 可以用,但只管语气
Prompt 是控制面,不是简历栏。把"你是谁"换成"你要怎么做",模型通常会答得更稳。