prompts.chat:03-core-prompting-principles

原则一:清晰优于巧妙

最好的提示词是清晰 的,而不是巧妙的。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. 识别差距或问题

  4. 精炼提示词

  5. 重复直到满意

常见精炼方向

问题 解决方案
太冗长 加入"简洁一点"或长度限制
太模糊 加入具体示例或约束条件
格式不对 明确指定输出结构
遗漏了某些方面 加入"确保包含......"
语气不对 明确指定受众和风格
不准确 要求提供引用或逐步推理

保留提示词日志

记录什么方法有效:

  • 任务:代码审查

  • 版本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知道要扮演什么角色吗?

  • 验证与核实:你是否内置了准确性检查机制?


【总批注】(更新版)

  1. 本章定位 :如果说第一章是"认知基础"(AI如何工作),第二章是"结构工具箱"(提示词的六个组件),那么第三章就是心法------贯穿所有提示词写作的底层原则。这三章构成了全书的理论基石。

  2. 八条原则的内在逻辑

    • 原则1-3 (清晰、具体、上下文)是关于输入质量------你给模型什么;

    • 原则4-6 (引导、迭代、利用优势)是关于交互方式------你如何与模型协作;

    • 原则7-8 (控制结构、验证核实)是关于输出质量------你如何确保得到想要的。

  3. 新增组件亮点

    • "隐式 vs 显式"对比表(原则一)直观展示了同一任务在模糊和精确表达下的差异;

    • "具体性阶梯"四级递进(原则二)让你看清每增加一个细节,输出质量如何跃升;

    • "上下文检查清单"(原则三)可作为日常自检工具;

    • "引导性提问"对比(原则四)展示了如何从"问问题"升级到"给框架";

    • "协作 vs 对抗"对比(原则六)提醒你利用模型天性而非与之对抗;

    • 原则速览表、小测验、填空练习、检查清单构成了完整的知识闭环,方便复习和自测。

  4. 最容易被忽视的两条

    • 原则5(迭代与精炼) :大多数人的问题是"写一次提示词,不满意就放弃",而不是"持续迭代直到满意"。提示工程本质上是实验科学,迭代是必经之路。

    • 原则8(验证与核实) :在非关键任务中可能无所谓,但在重要场景(如代码生成、数据分析、决策支持)中,主动要求模型自我检查能避免很多坑。

  5. "提示词日志"的实战价值:这可能是本章最实用的建议。建议你从现在开始,用一个文档或笔记软件记录每次成功的提示词------标注任务类型、提示词全文、输出质量。几周后你就会拥有一个属于自己的提示词模板库。

  6. 学习建议:读完本章后,选一个你之前写过但效果不佳的提示词,对照"核心原则检查清单"逐一检查并改写,观察改进后的效果。这种"对照原则修改"的练习,比读十遍理论都有效。

相关推荐
承受失12 小时前
Cloud Agent 开发笔记(4):Skill 与 MCP 集成、项目后记
人工智能·prompt
阿里嘎多学长14 小时前
2026-07-10 GitHub 热点项目精选
开发语言·程序员·github·代码托管
今夕资源网21 小时前
AI声音克隆软件 CosyVoice今夕一键整合包解压即用 阿里巴巴通义实验室开源 github斩获22K星标
人工智能·github·多国语言·声音克隆·零样本语音克隆·感情·ai语音克隆
胡萝卜术1 天前
从聊天模型到本地执行助手:Remote MCP 多工具 Agent 实战
面试·架构·github
慕容引刀1 天前
告别Commit信息纠结:使用Git AI Commit插件实现规范化提交
人工智能·git·github·visual studio code·visual studio
haluhalu.1 天前
prompts.chat:02-anatomy-of-effective-prompt
jvm·prompt
GoGeekBaird1 天前
我开源了 BeeWeave,给 AI Agent 搭一个越用越懂你的知识创作台
后端·github
fthux2 天前
GitZip Pro 源码解析:一个 GitHub 文件/文件夹下载扩展是如何工作的(一)整体架构与扩展入口
人工智能·ai·开源·github·open source
第一程序员2 天前
Rust Agent 子进程执行:Command 之前,先定义输入和超时
python·rust·github