每个优秀的提示词都具有共同的结构要素。理解这些组成部分可以让你系统性地构建提示词,而不是通过反复试错。
把这些组成部分想象成乐高积木。你不需要在每个提示词中都使用所有组件,但了解有哪些可用的组件可以帮助你精确构建所需内容。
核心组成部分
一个有效的提示词通常包含以下部分或全部元素:
让我们详细了解每个组成部分。
1. 角色/人设
设定角色可以使模型从特定专业知识或视角的角度来聚焦其回复。
解释量子计算。
你是一位物理学教授,擅长将复杂话题讲解得通俗易懂。请解释量子计算。
角色可以引导模型:
- 使用恰当的词汇
- 运用相关的专业知识
- 保持一致的视角
- 适当考虑受众
有效的角色模式
"你是一位拥有[X年][专业领域]经验的[职业]"
"扮演一位[具有某特征]的[角色]"
"你是一位[领域]专家,正在帮助一位[受众类型]"
2. 背景/上下文
背景提供模型理解你情况所需的信息。请记住:除非你告诉模型,否则它对你、你的项目或你的目标一无所知。
修复我代码中的 bug。
我正在使用 Express.js 构建一个 Node.js REST API。该 API 使用 JWT 令牌处理用户认证。当用户尝试访问受保护的路由时,即使使用有效的令牌也会收到 403 错误。以下是相关代码:[代码]
背景中应包含的内容
- 项目详情 — 技术栈、架构、约束条件
- 当前状态 — 你已经尝试过什么、什么有效、什么无效
- 目标 — 你最终想要达成什么
- 限制条件 — 时间限制、技术要求、风格指南
3. 任务/指令
任务是提示词的核心——你希望模型做什么。要具体且明确。
具体程度光谱
有效的动作动词
4. 约束/规则
约束限定模型的输出范围。它们可以防止常见问题并确保相关性。
约束类型
长度约束:
"将回复控制在200字以内"
"提供恰好5条建议"
"写3-4段"
内容约束:
"不要包含任何代码示例"
"只关注技术方面"
"避免使用营销语言"
风格约束:
"使用正式的学术语气"
"像对10岁孩子说话一样来写"
"直接明了,避免模棱两可的表达"
范围约束:
"只考虑 Python 3.10+ 中可用的选项"
"建议仅限于免费工具"
"专注于不需要额外依赖的解决方案"
5. 输出格式
指定输出格式可确保你获得结构可用的回复。
常见格式
列表:
"以项目符号列表形式返回"
"提供编号步骤列表"
结构化数据:
"以 JSON 格式返回,包含以下键:title、description、priority"
"格式化为 markdown 表格,列名:功能、优点、缺点"
特定结构:
"按以下结构组织你的回复:
## 摘要
## 要点
## 建议"
JSON 输出示例
分析这条客户评价并返回 JSON:
{
"sentiment": "positive" | "negative" | "neutral",
"topics": ["主要话题数组"],
"rating_prediction": 1-5,
"key_phrases": ["关键短语"]
}
评价:"产品送达很快,使用效果很好,但说明书让人困惑。"
6. 示例(少样本学习)
示例是向模型展示你期望内容的最有效方式。
单样本示例
将这些句子转换为过去时。
示例:
输入:"她走路去商店"
输出:"她走路去了商店"
现在转换:
输入:"他们每天早上跑步"
少样本示例
按紧急程度对这些支持工单进行分类。
示例:
"我的账户被黑了" → 紧急
"如何更改密码?" → 低
"付款失败但我被扣款了" → 高
分类:"打开设置时应用崩溃了"
综合运用
以下是一个使用所有组成部分的完整提示词:
此提示词演示了六个组成部分如何协同工作。试试看,了解结构化提示词如何产生专业的结果。
# 角色
你是一位拥有10年开发者文档编写经验的资深技术文档工程师。
# 背景
我正在为一个支付处理服务编写 REST API 文档。受众是将我们的 API 集成到其应用程序中的开发者。他们具有中级编程知识,但可能对支付处理概念不太熟悉。
# 任务
为以下创建新支付意向的 API 端点编写文档。
# 约束
- 使用清晰、简洁的语言
- 包含常见错误场景
- 不要包含关于我们后端的实现细节
- 假设读者了解 HTTP 和 JSON 基础知识
# 输出格式
按以下结构组织文档:
1. 端点概述(2-3句话)
2. 请求(方法、URL、请求头、请求体及示例)
3. 响应(成功和错误示例)
4. 代码示例(使用 JavaScript/Node.js)
# 端点详情
POST /v1/payments/intents
Body: { "amount": 1000, "currency": "usd", "description": "Order #1234" }最小有效提示词
并非每个提示词都需要所有组成部分。对于简单任务,一个清晰的指令可能就足够了:
将"Hello, how are you?"翻译成西班牙语。
在以下情况下使用额外组成部分:
- 任务复杂或模糊
- 你需要特定格式
- 结果与预期不符
- 多次查询之间需要保持一致性
常见提示词模式
这些框架为你编写提示词时提供了简单的检查清单。点击每个步骤查看示例。
架构框架:CRISPE
正在显示关于该提示框架的模拟设计指南。
架构框架:RTF
正在显示关于该提示框架的模拟设计指南。
总结
有效的提示词是构建出来的,而不是偶然发现的。通过理解和应用这些结构组成部分,你可以:
- 第一次尝试就获得更好的结果
- 调试不起作用的提示词
- 创建可重复使用的提示词模板
- 清晰地传达你的意图
哪个组成部分对回复质量影响最大?
此提示词使用了所有六个组成部分。试试看,体验结构化方法如何产生聚焦、可操作的结果。
你是一位拥有10年 SaaS 产品经验的资深产品经理。 背景:我正在为远程团队构建一个任务管理应用。我们是一家工程资源有限的小型初创公司。 任务:建议我们 MVP 应该优先考虑的3个功能。 约束: - 功能必须能由2名开发人员在4周内实现 - 专注于我们与 Trello 和 Asana 的差异化特点 格式:对于每个功能,提供: 1. 功能名称 2. 一句话描述 3. 为什么它对远程团队很重要
构建你自己的提示词
现在轮到你了!使用这个交互式提示词构建器,运用你学到的组成部分来构建你自己的提示词:
在下一章中,我们将探讨指导提示词构建决策的核心原则。