原则一:清晰优于巧妙
最好的提示词是清晰 的,而不是巧妙的。AI模型是字面解释者------它们会严格按照你给的内容来工作。
要明确具体
不要留下任何猜测空间。直接说出你想要的。
避免歧义
词汇可能有多种含义。选择精确的语言。
说出那些"显而易见"的事
你觉得显而易见的事,对模型来说并不明显。把假设明确写出来。
| 隐式(有问题) | 显式(有效) | |
|---|---|---|
| 示例 | "Make this better." | "Improve this email by: 1. Making the subject line more compelling 2. Shortening paragraphs to 2-3 sentences max 3. Adding a clear call-to-action at the end" |
你在帮我写一封求职信。重要背景:
我正在申请Google的软件工程师职位
我有5年Python和分布式系统经验
该职位要求领导经验(我曾领导过一个4人团队)
我想强调我的开源贡献
【批注】 这是全书最核心的一条原则。很多初学者会试图用"花哨"或"创意"的方式写提示词,但AI不需要"创意"------它需要的是精确。越直接、越不加修饰,效果往往越好。记住:AI不是人类,不会领会"言外之意"。
原则二:具体性决定质量
模糊的输入产生模糊的输出。具体的输入产生具体、有用的输出。
具体性阶梯
每一级都增加具体性,并大幅提升输出质量。
| 等级 | 示例文本 |
|---|---|
| Level 1 | "Write about climate change" |
| Level 2 | "Write an article about climate change effects" |
| Level 3 | "Write a 500-word article about how climate change affects coral reefs" |
| Level 4 | "Write a 500-word article explaining how rising ocean temperatures cause coral bleaching, aimed at high school students, with 2 specific examples from the Great Barrier Reef, in an engaging but scientifically accurate tone" |
每一级都增加具体性,并大幅提升输出质量。
明确以下要素
| 要素 | 要明确的内容 |
|---|---|
| 受众(Audience) | 谁会读/用这个输出? |
| 长度(Length) | 应该多长/多短? |
| 语气(Tone) | 正式?随意?技术性? |
| 格式(Format) | 散文?列表?表格?代码? |
| 范围(Scope) | 包含什么?排除什么? |
| 目的(Purpose) | 这个输出应该达成什么目标? |
【批注】 这个"要素清单"是你在写每个提示词时都可以快速过一遍的检查表。你不需要每次都明确所有六项,但在写提示词时有意识地思考这些问题,会显著提升输出质量。
原则三:上下文为王
模型没有记忆,无法访问你的文件,也不了解你的处境。所有相关信息必须放在提示词里。
提供充足的上下文
问自己:一个聪明的陌生人能理解这个请求吗? 如果不能,就补充更多上下文。
| 上下文不足 | 上下文充分 | |
|---|---|---|
| 示例 | "Why isn't my function working?" | "I have a Python function that should filter a list of dictionaries by a specific key value. It's returning an empty list when it should return 3 items. Function: def filter_items(items, key, value): return item for item in items if item\[key = value] Call: filter_items(items, 'status', 'active') Expected: 2 items, Got: empty list" |
上下文检查清单
-
模型知道我在做什么吗?(Does the model know what I'm working on?)
-
它知道我的目标吗?(Does it know my goal?)
-
它有所有必要的信息吗?(Does it have all necessary information?)
-
它理解约束条件吗?(Does it understand the constraints?)
-
一个聪明的陌生人能理解这个请求吗?(Would a smart stranger understand this request?)
【批注】 这条原则与第二章的"上下文"组件相呼应。核心思想是:不要把AI当成了解你的助手,而要把它当成第一天来上班的新人------你需要把一切都交代清楚。上面这个检查清单可以作为每次写提示词前的自检工具。
原则四:引导,而不只是提问
不要只是向模型要一个答案------要引导它走向你想要的答案。
使用引导性框架
| 只是提问 | 引导性提问 | |
|---|---|---|
| 示例 | "What are the pros and cons of microservices?" | "List 5 advantages and 5 disadvantages of microservices architecture. For each point: - State the point clearly in one sentence - Provide a brief explanation (2-3 sentences) - Give a concrete example Consider perspectives of: small startups, large enterprises, and teams transitioning from monoliths." |
提供推理支架(Reasoning Scaffolds)
对于复杂任务,引导推理过程:
推理支架示例:
这个提示词引导AI通过一个系统化的决策过程。
"I need to choose between PostgreSQL and MongoDB for my e-commerce project.
--- 请帮我做决策。"
(原文此处交互式组件用于展示完整推理支架)
【批注】 "引导而不只是提问"意味着你的提示词应该包含思考路径 ,而不仅仅是问题本身。比如,不要只问"这个方案有什么问题?",而是问"请从成本、时间、可行性三个维度分析这个方案的问题"------你给了模型一个思考框架,它就能给出更结构化的回答。
原则五:迭代与精炼
提示工程是一个迭代的过程。你的第一个提示词很少是你最好的。
迭代循环
-
写下初始提示词
-
审视输出
-
识别差距或问题
-
精炼提示词
-
重复直到满意
常见精炼方向
| 问题 | 解决方案 |
|---|---|
| 太冗长 | 加入"简洁一点"或长度限制 |
| 太模糊 | 加入具体示例或约束条件 |
| 格式不对 | 明确指定输出结构 |
| 遗漏了某些方面 | 加入"确保包含......" |
| 语气不对 | 明确指定受众和风格 |
| 不准确 | 要求提供引用或逐步推理 |
保留提示词日志
记录什么方法有效:
任务:代码审查
版本1:"审查这段代码"→ 太泛泛
版本2:加入了具体的审查标准 → 好一些
版本3:加入了优秀审查的示例 → 非常好
最终版:将成功的提示词保存为模板
【批注】 "提示词日志"是一个被严重低估的实践。大多数人每次写提示词都从零开始,但如果你把成功的提示词保存下来,就能逐渐建立起自己的提示词模板库,大幅提高效率。这也是从"初学者"走向"专家"的关键习惯。
原则六:利用模型的优势
要与模型的训练方式协作,而不是对抗。
模型天生想提供帮助
把请求表述成一个乐于助人的助手自然愿意做的事:
| 对抗(不推荐) | 协作(推荐) | |
|---|---|---|
| 示例 | "I know you can't do this, but try to..." | "Help me understand... I'm working on X and need assistance with... Could you walk me through..." |
模型擅长识别模式
如果你需要一致的输出,就展示出模式:
模式示例:
这个提示词向AI精确展示了书籍推荐的格式:
"Recommend 3 science fiction books. Format each recommendation as:
📚 Title by Author Genre | Publication Year 2-sentence description Why you'll love it: 1 sentence hook"
模型可以扮演角色
使用角色设定来调用不同的"模式":
作为一个唱反调的人,反驳我的提案......
作为一个支持型的导师,帮助我改进......
作为一个持怀疑态度的投资人,质疑这个商业计划......
【批注】 这条原则提醒我们:不要试图"对抗"模型的先天特性。比如,模型本质上是"过度配合"的------它总是想给你一个答案,即使它不确定。与其抱怨这一点,不如利用它:明确告诉它"如果你不确定,请直接说不知道",反而能得到更可靠的回答。
原则七:控制输出结构
结构化的输出比自由形式的文本更有用。
请求特定格式
按以下格式返回你的分析:
text
SUMMARY: [一句话摘要]
KEY FINDINGS:
• [发现1]
• [发现2]
• [发现3]
RECOMMENDATION: [1-2句话]
CONFIDENCE: [低/中/高] 因为 [原因]
使用分隔符
清晰地区分提示词的各个部分:
text
### CONTEXT ###
[你的上下文]
### TASK ###
[你的任务]
### FORMAT ###
[你想要的格式]
请求机器可读的输出
用于程序化调用场景:
只返回有效的JSON,不要任何解释:
json
{ "decision": "approve" | "reject" | "review", "confidence": 0.0-1.0, "reasons": ["字符串数组"] }
【批注】 分隔符(Delimiters)是一个非常实用的小技巧。用 ### 或 --- 等标记把提示词的不同部分(上下文、任务、格式)清晰分开,能让模型更准确地理解每一部分的用途,减少"混淆"的可能性。
原则八:验证与核实
永远不要盲目信任模型的输出,尤其是对于重要任务。
要求展示推理过程
解决这个问题,并逐步展示你的计算过程。解决之后,通过验证方法来核验你的答案。
请求多角度视角
给我三种不同的解决这个问题的方法。对每一种,解释其利弊权衡。
内置自检机制
生成代码之后,请自行审查以下方面:
语法错误
边界情况
安全漏洞
列出发现的所有问题。
【批注】 这条原则直接对应第一章提到的"幻觉"问题。模型即使错了也听起来很自信------所以你需要主动要求它自我检查。有趣的是,让模型"逐步展示推理"和"自我审查"本身就能降低幻觉率,因为这些指令迫使模型在输出前进行更审慎的"思考"。
总结
这些原则构成了后续所有内容的基础。在第二部分中,我们将把它们应用到具体的技术中,这些技术将极大地提升提示词的效果。
原则速览
| 原则 | 核心要点 |
|---|---|
| 1. 清晰优于巧妙 | 明确、直接、不留歧义 |
| 2. 具体性决定质量 | 越具体,输出越有用 |
| 3. 上下文为王 | 提供所有必要背景信息 |
| 4. 引导,而不只是提问 | 提供推理框架和思考路径 |
| 5. 迭代与精炼 | 持续改进,记录成功模式 |
| 6. 利用模型的优势 | 协作而非对抗 |
| 7. 控制输出结构 | 指定格式,使用分隔符 |
| 8. 验证与核实 | 要求展示推理、自我审查 |
小测验
问题: 以下哪条原则建议你在提示词中包含所有相关的背景信息?
-
A. 清晰优于巧妙(Clarity Over Cleverness)
-
B. 具体性决定质量(Specificity Yields Quality)
-
C. 上下文为王(Context Is King) ✓
-
D. 迭代与精炼(Iterate and Refine)
解析: 上下文为王强调AI模型在会话间没有记忆,也无法读取你的想法。包含相关背景、约束和目标有助于模型理解你的需求。
练习:填空
通过填写以下提示词模板来测试你对核心原则的理解:
模板:
text
You are a {{role}} with expertise in {{expertise}}.
Context: I'm working on {{context}}.
Task: {{task}}
Constraints:
- Keep your response under {{length}} words
- Focus only on {{focus}}
- Format: Return your answer as {{format}}.
填空提示:
| 空白 | 提示 | 上下文说明 |
|---|---|---|
{``{role}} |
AI应该扮演什么职业角色? | 一个职位名称或专业角色 |
{``{expertise}} |
需要什么具体的领域知识? | 与该角色匹配的技能或领域 |
{``{context}} |
项目或情境是什么? | 该专业知识适用的项目 |
{``{task}} |
AI应该执行什么具体动作? | 适合该角色和情境的动作 |
{``{length}} |
回答应该多长? | 一个数字(字数) |
{``{focus}} |
应该优先关注哪个方面? | 与任务相关的质量或维度 |
{``{format}} |
输出应该如何结构化? | 输出格式类型 |
解析: 一个结构良好的提示词包含:明确的角色(原则一)、充分的上下文(原则三)、具体的任务(原则二)、约束条件(原则四)和输出格式(原则七)。
核心原则检查清单
在每次提交提示词前,快速过一遍这个清单:
-
清晰优于巧妙:你的提示词明确且无歧义吗?
-
具体性决定质量:你是否包含了受众、长度、语气和格式?
-
上下文为王:提示词包含所有必要的背景信息吗?
-
示例优于解释:你是否展示了想要什么,而不仅仅是描述?
-
约束聚焦输出:是否有清晰的边界限制范围和格式?
-
迭代与精炼:你准备好根据结果改进了吗?
-
角色塑造视角:AI知道要扮演什么角色吗?
-
验证与核实:你是否内置了准确性检查机制?
【总批注】(更新版)
-
本章定位 :如果说第一章是"认知基础"(AI如何工作),第二章是"结构工具箱"(提示词的六个组件),那么第三章就是心法------贯穿所有提示词写作的底层原则。这三章构成了全书的理论基石。
-
八条原则的内在逻辑:
-
原则1-3 (清晰、具体、上下文)是关于输入质量------你给模型什么;
-
原则4-6 (引导、迭代、利用优势)是关于交互方式------你如何与模型协作;
-
原则7-8 (控制结构、验证核实)是关于输出质量------你如何确保得到想要的。
-
-
新增组件亮点:
-
"隐式 vs 显式"对比表(原则一)直观展示了同一任务在模糊和精确表达下的差异;
-
"具体性阶梯"四级递进(原则二)让你看清每增加一个细节,输出质量如何跃升;
-
"上下文检查清单"(原则三)可作为日常自检工具;
-
"引导性提问"对比(原则四)展示了如何从"问问题"升级到"给框架";
-
"协作 vs 对抗"对比(原则六)提醒你利用模型天性而非与之对抗;
-
原则速览表、小测验、填空练习、检查清单构成了完整的知识闭环,方便复习和自测。
-
-
最容易被忽视的两条:
-
原则5(迭代与精炼) :大多数人的问题是"写一次提示词,不满意就放弃",而不是"持续迭代直到满意"。提示工程本质上是实验科学,迭代是必经之路。
-
原则8(验证与核实) :在非关键任务中可能无所谓,但在重要场景(如代码生成、数据分析、决策支持)中,主动要求模型自我检查能避免很多坑。
-
-
"提示词日志"的实战价值:这可能是本章最实用的建议。建议你从现在开始,用一个文档或笔记软件记录每次成功的提示词------标注任务类型、提示词全文、输出质量。几周后你就会拥有一个属于自己的提示词模板库。
-
学习建议:读完本章后,选一个你之前写过但效果不佳的提示词,对照"核心原则检查清单"逐一检查并改写,观察改进后的效果。这种"对照原则修改"的练习,比读十遍理论都有效。