第二章 提示词基础要素:角色设定、任务描述、上下文信息、输出格式、约束条件
说实话,很多人刚开始学提示词设计,上来就堆一堆指令。结果模型要么答非所问,要么输出一堆废话。
为什么会这样?
因为你没给模型搭好「框架」。我做了这么多年AI应用,总结下来,一个靠谱的提示词,离不开五个核心要素。今天咱们一个一个拆开讲。
2.1 角色设定:给模型一个「人设」
你想想看,如果你突然被拉去开会,没人告诉你你是谁、要干嘛,你肯定一脸懵。模型也一样。
角色设定就是告诉模型:「你现在是谁,用谁的视角说话。」
我在项目中遇到过最典型的例子——让模型写产品文案。如果不给角色,它写出来的东西像说明书。但如果你说「你是一名资深营销文案专家,擅长用情感化语言打动用户」,效果天差地别。
好的角色设定示例:
你是一名拥有10年经验的Python后端工程师,精通Django和FastAPI。
请用专业但易懂的语言,解释RESTful API设计原则。
我的小技巧:角色设定越具体越好。别只说「你是专家」,要说「你是某某领域的专家,有X年经验,擅长什么」。模型会模仿得更像。
2.2 任务描述:说清楚「要干嘛」
任务描述是提示词的核心。说白了,就是你要模型完成的具体工作。
我见过最糟糕的任务描述长这样:「帮我写点东西。」——模型根本不知道从哪下手。
好的任务描述应该包含:
- 动作动词:写、总结、翻译、分析、生成、解释
- 对象:对什么内容做这个动作
- 目的:为什么要做这件事
举个例子:
❌ 差:分析这段数据。
✅ 好:分析以下销售数据,找出Q3季度销量下滑的3个主要原因,并给出改进建议。
嗯,这里要注意——任务描述不要超过两句话。太长了模型会丢失重点。我习惯把复杂任务拆成多个步骤,一步步问。
2.3 上下文信息:给模型「背景知识」
上下文信息是很多人容易忽略的。你想想,如果模型不知道前因后果,它怎么给出精准答案?
我曾经帮一个团队优化客服机器人。他们只给模型说「回答用户问题」,结果模型经常答非所问。后来我加了一段上下文:「你是一家电商平台的客服,用户刚刚下单但支付失败,请安抚用户情绪并引导重新支付。」效果立竿见影。
上下文信息包括:
- 当前场景或问题背景
- 用户身份或需求
- 历史对话或相关数据
- 需要参考的文档或知识
我的习惯:上下文信息放在角色设定之后、任务描述之前。这样模型先知道「我是谁」,再知道「发生了什么」,最后知道「要做什么」。
2.4 输出格式:告诉模型「怎么给」
这个要素太重要了。我见过太多人抱怨「模型输出太乱」,其实是你没告诉它要什么格式。
输出格式可以指定:
- 结构:段落、列表、表格、JSON、Markdown
- 长度:100字以内、3-5个要点、不超过一页
- 风格:正式、口语化、幽默、学术
请用以下格式输出:
- 问题概述(50字以内)
- 原因分析(3个要点,每个要点不超过20字)
- 解决方案(按优先级排序,用数字列表)
说实话,我最常用的输出格式就是表格和列表。表格适合对比信息,列表适合步骤说明。如果你需要结构化数据,直接要求JSON格式,模型也能做到。
避坑指南:我曾经让模型输出JSON,但没指定字段名。结果它自己发明了一堆字段,解析起来很痛苦。所以——输出格式越具体越好,最好给个模板。
2.5 约束条件:划好「红线」
约束条件就是告诉模型「不能做什么」。没有约束,模型可能会跑偏,甚至输出有害内容。
常见的约束条件:
- 内容限制:不要包含敏感词、不要编造数据、不要给出法律建议
- 风格限制:不要用专业术语、不要用第一人称、不要用被动语态
- 范围限制:只基于给定资料回答、不要超出问题范围
请基于以下资料回答问题。如果资料中没有相关信息,请直接说「资料中未提及」。
不要编造任何数据或事实。
嗯,这里有个关键点——约束条件要放在提示词的末尾。因为模型是顺序处理的,越靠后的指令越容易被记住。我习惯把「最重要的约束」放在最后一句。
2.6 五要素组合实战
光说不练假把式。咱们看一个完整的例子:
角色:你是一名资深产品经理,有5年B端SaaS产品经验。
上下文:我们正在设计一个项目管理工具,目标用户是中小型研发团队。
任务:请分析当前主流项目管理工具的优缺点,并给出我们的差异化定位建议。
输出格式:用表格对比3款工具(Jira、Trello、Notion),每款工具列出2个优点和2个缺点。差异化定位用3个要点说明。
约束条件:不要使用英文术语,除非有中文翻译。不要超过500字。
你看,五个要素都齐了。模型拿到这个提示词,就像拿到一份清晰的「工作说明书」,输出质量自然高。
我的经验:刚开始用这五要素时,可以写一个模板。每次写提示词就套用这个结构。用熟了之后,你会发现有些要素可以省略——比如简单的任务不需要上下文。但角色设定和任务描述,我建议永远不要省。
2.7 常见错误与避坑
最后,分享几个我踩过的坑:
| 错误 | 表现 | 解决方法 |
|---|---|---|
| 角色设定太模糊 | 模型输出像百科 | 加具体经验年限和专长 |
| 任务描述太笼统 | 模型不知道从哪开始 | 用「动词+对象+目的」结构 |
| 缺少上下文 | 答案与场景脱节 | 加一两句背景说明 |
| 输出格式不指定 | 输出杂乱无章 | 给模板或示例 |
| 约束条件放错位置 | 模型忽略约束 | 放在提示词末尾 |
我曾经犯过一个低级错误——在角色设定里说「你是医生」,但没加约束条件。结果模型真的给出了医疗建议,差点出事。从那以后,我对涉及专业领域的提示词,一定会加一句「不要提供专业建议,仅供参考」。
好了,这一章就到这里。五要素听起来简单,但真正用好需要反复练习。下一章咱们聊聊更进阶的技巧——如何用「思维链」让模型一步步推理。