核心组件
一个有效的提示词通常包含以下部分中的一部分或全部:
让我们逐一详细审视每个组件。
1. 角色(Role / Persona)
设定角色可以让模型的回复聚焦于某个特定的专业领域或视角。
角色设定能引导模型:
-
使用恰当的词汇
-
运用相关的专业知识
-
保持一致的视角
-
考虑合适的受众
有效的角色设定模式
-
"你是一位在某专业有X年经验的某职业"
-
"扮演一个具有某特征的某角色"
-
"你是一位帮助某类受众的某领域专家"
【批注】 角色设定是提示工程中最简单也最有效的手段之一。给模型一个"身份",相当于为它的输出施加了一个强大的先验约束------它会自动调用与该身份相关的知识体系和表达方式。比如让模型"以物理老师的身份"解释相对论,和"以诗人的身份"解释相对论,结果会截然不同。
2. 上下文 / 背景(Context / Background)
上下文提供了模型理解你处境所需的信息。记住:模型对你、你的项目或你的目标一无所知------除非你告诉它。
上下文中应包含什么
-
项目细节------技术栈、架构、约束条件
-
当前状态------你试过什么、哪些有效、哪些无效
-
目标------你最终想达成什么
-
约束------时间限制、技术要求、风格指南
【批注】 很多初学者会忽略上下文的重要性,直接抛出问题。但模型没有"读心术"------你脑子里的背景信息它一概不知。提供充分的上下文,是获得精准回复的前提。一个常见技巧是:在提示词开头用一两句话交代"我是谁、我在做什么、我需要什么"。
3. 任务 / 指令(Task / Instruction)
任务是提示词的核心------你希望模型做什么。要具体且不含糊。
指令的具体性光谱
以下表格展示了从"模糊"到"最佳"的四个递进等级,同一个任务(编辑论文)在不同表达方式下的效果差异:
| 等级 | 中文标签 | 示例文本(中文) |
|---|---|---|
| Vague | 模糊 | "帮我处理这篇论文" |
| Better | 较好 | "编辑这篇论文" |
| Good | 良好 | "编辑这篇论文,改进语法和清晰度" |
| Best | 最佳 | "编辑这篇论文,改进语法和清晰度,保持原有语气,但将冗长内容减少20%" |
【批注】 这个光谱的核心价值在于:它用同一任务的不同表达方式,直观展示了"具体性"如何逐级递增。从"帮我"这种极其宽泛的请求,到最后带具体量化指标(减少20%冗长)的精确指令------每一步细化都让AI更容易理解你的真实需求。"最佳"版本之所以最有效,是因为它明确了做什么 (编辑语法和清晰度)、保留什么 (原有语气)、量化目标(减少20%冗长),没有模糊词,全部是可执行动词和可衡量指标。
好用的行为动词
| 类别 | 动词 |
|---|---|
| 创作 | 写、创建、生成、构思、设计 |
| 分析 | 分析、评估、比较、评定、审阅 |
| 转换 | 转换、翻译、重新格式化、总结、扩写 |
| 解释 | 解释、描述、阐明、定义、举例说明 |
| 问题解决 | 解决、调试、修复、优化、改进 |
【批注】 选择精确的行为动词是提示词写作的核心技巧。"写一篇关于气候变化的文章"和"分析气候变化对沿海城市房地产市场的三点影响"------后者用了"分析"和具体限定,效果会好得多。
4. 约束 / 规则(Constraints / Rules)
约束限定了模型的输出范围,防止常见问题,确保相关性。
约束的类型
长度约束:
-
"把回答控制在200词以内"
-
"给出恰好5条建议"
-
"写3到4段"
内容约束:
-
"不要包含任何代码示例"
-
"只关注技术层面"
-
"避免使用营销用语"
风格约束:
-
"使用正式、学术的语气"
-
"用给10岁孩子讲解的方式写"
-
"直截了当,避免模棱两可的表达"
范围约束:
-
"只考虑Python 3.10+中可用的选项"
-
"建议仅限于免费工具"
-
"聚焦于不需要额外依赖的解决方案"
【批注】 约束是防止模型"跑偏"的关键工具。模型本质上是一个"过度配合"的预测器------不给约束,它可能会给你一个很长、很花哨但完全不实用的回答。约束越明确,输出越可控。
5. 输出格式(Output Format)
指定输出格式可以确保你得到结构可用的回复。
常见格式
列表:
-
"以项目符号列表返回"
-
"提供带编号的步骤列表"
结构化数据:
-
"以JSON格式返回,键为:title, description, priority"
-
"格式化为Markdown表格,列名为:Feature, Pros, Cons"
特定结构:
- "按以下结构组织回复:## 摘要 ## 关键点 ## 建议"
JSON输出示例
分析这条客户评价并以JSON返回:
json
{
"sentiment": "positive" | "negative" | "neutral",
"topics": ["主要话题数组"],
"rating_prediction": 1-5,
"key_phrases": ["值得注意的短语"]
}
评价内容:"产品到货很快,用起来也很棒,但说明书让人困惑。"
【批注】 指定输出格式在编程场景和数据处理场景中尤其重要------它让你可以直接把模型输出接入下游系统,而不需要额外写解析代码。这也是"提示词工程"中"工程"二字的体现:让输出变得机器可读。
6. 示例(Examples / Few-Shot Learning)
示例是向模型精确展示你想要什么的最强大方式。
单样本示例(One-Shot)
把以下句子转换为过去时。
示例:
-
输入:"She walks to the store"
-
输出:"She walked to the store"
现在转换:
- 输入:"They run every morning"
少样本示例(Few-Shot)
按紧急程度对这些客服工单进行分类。
示例:
-
"我的账户被盗了"→ 紧急
-
"怎么修改密码?"→ 低
-
"付款失败但扣了钱"→ 高
请分类:
- "打开设置时应用会崩溃"
【批注】 "Few-Shot"是提示工程中最强大的技术之一。通过给出2-3个"输入→输出"的配对示例,你可以让模型瞬间理解你想要的任务格式、风格和逻辑,而不需要冗长的文字描述。这在处理格式化输出、分类、转换类任务时尤其有效。
综合运用
以下是一个使用了全部组件的完整提示词示例:
(原文此处应有完整示例,但页面截断未能显示完整内容)
最小有效提示词
并非每个提示词都需要所有组件。对于简单任务,一个清晰的指令可能就足够了:
"把'Hello, how are you?'翻译成西班牙语。"
在以下情况下使用更多组件:
-
任务复杂或存在歧义
-
你需要特定的格式
-
结果不符合预期
-
需要在多个查询中保持一致性
常用提示词模式
这些框架为你提供了一个简单的检查清单,供写提示词时参考。点击每一步可查看示例。
(原文此处应有交互式组件)
总结
有效的提示词是构建出来的,而不是碰运气发现的。通过理解和应用这些结构组件,你可以:
-
第一次尝试就获得更好的结果
-
调试不奏效的提示词
-
创建可复用的提示词模板
-
清晰地传达你的意图
动手构建你的提示词
现在轮到你了!使用这个交互式提示词构建器,用你学到的组件来构建你自己的提示词:
(原文此处应有交互式组件)
在下一章中,我们将探讨指导提示词构建决策的核心原则。
【总批注】
-
本章定位:这是全书的"实操核心"章节。如果说第一章是"理解AI如何工作",那这一章就是"学会如何与AI对话"。六个组件(角色、上下文、任务、约束、格式、示例)构成了提示词工程的"语法"基础。
-
核心学习建议 :初学者最容易犯的错误是只给任务,不给其他。建议你在写每个提示词时,有意识地检查这六个组件------哪怕只是快速过一遍,也能显著提升提示词质量。可以把这六个组件当作一个"检查清单"来使用。
-
"示例"是最强武器 :在六个组件中,示例(Few-Shot) 的效果往往最立竿见影。如果某个提示词反复调不对,试着加入2-3个输入输出的示例------这比修改指令本身更有效。模型本质上是一个模式匹配器,示例就是给它最直接的"模式"。
-
格式指定是"工程化"的关键 :如果你希望把AI集成到工作流中(比如自动化处理数据),输出格式组件就不可或缺。指定JSON、Markdown表格等结构化输出,可以让后续的程序化处理变得极其简单。
-
"最小有效"原则 :作者特别强调"不是每个提示词都需要全部组件"------这是一个重要的提醒。过度设计提示词同样会降低效率。对于简单问题,直接问就好;对于复杂问题,再逐步叠加组件。从简开始,按需增加。
-
新增光谱组件:本次合并已将"指令的具体性光谱"表格嵌入"任务/指令"小节,该表格生动展示了同一任务从模糊到最佳的四级递进,是你日常打磨提示词时可以直接对照的实用工具。
-
学习建议:读完后,建议你打开一个AI模型,选一个你实际遇到的问题,分别用"只有任务"和"包含全部六个组件"两种方式各问一次,对比输出质量的差异。这种对比会让你对每个组件的价值有直观感受。