跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Prompt 工程核心:两条极简原则与实践指南

探讨了大型语言模型(LLM)交互中的 Prompt 工程核心。重点阐述了两个基本原则:一是写出清晰而具体的指示,涵盖长度、风格、语言、格式等多个维度;二是给模型更多的思考空间,介绍了思维链(CoT)、自洽性(Self-Consistency)及渐进提示(PHP)等方法。文章还提供了调试迭代的步骤、进阶工具推荐及标准模板结构,旨在帮助开发者编写高效 Prompt,充分利用大模型能力。

随缘发布于 2025/2/7更新于 2026/10/2190 浏览
Prompt 工程核心:两条极简原则与实践指南

Prompt 工程核心:两条极简原则与实践指南

一、引言

大型语言模型(LLM)是通过深度学习技术训练出的,能理解和生成人类语言的机器学习模型。如 OpenAI 的 GPT-3 和 GPT-4,这些模型能处理各种自然语言处理任务,包括翻译、写作、回答问题等。

Prompt则是与 LLM 交互的关键。它就像是指令,明确告诉模型我们需要什么。一个好的 Prompt 能让模型生成质量高、相关的回答,从而最大化模型的能力。因此,有效地编写 Prompt 对于使用 LLM 至关重要。这种使用 Prompt 的技术也被称为Prompt Engineering,它属于自然语言编程的范畴,是人与机器交互的关键沟通技巧。

近期,吴恩达教授发布了 Prompt 教程,在教程中他提出了写出高质量 Prompt 的两个基本原则:

  1. 写出清晰而具体的指示。
  2. 给模型更多的思考空间。

下面让我们更深入地探讨一下这两个原则及其实际应用。

二、两个基本原则详解

1. 写出清晰而具体的指示

无论我们给 ChatGPT 布置何种任务,都需要提供清晰且具体的指示。这是一条通用的原则,因为无论模型处理的是何种问题,明确的指示都能帮助它更好地理解我们的需求,从而产生满足需求的回应。清晰和具体的指示也能减少模型进行不必要的推断,提高回应的准确性。

如何写出清晰具体的指示,可以从以下几个维度展开:

  • 输出内容的长度:例如,输出 3 句话,输出内容不超过 500 字。
  • 输出内容的风格:例如,简洁/详尽、轻松活泼/正式、用某名人的画风输出。
  • 输出内容的语言:例如,用英文/中文输出、内容包含特定关键词。
  • 输出内容的格式:例如,将结果以表格的形式输出;将邮件中的行动以列表的形式输出;请给出 10 本关于人工智能的经典书籍,包括书名、作者、作者的国籍,并用 JSON 格式输出。
  • 任务描述:例如,改写一段话、写一封邮件、写一段代码、生成一段文字、总结一段话。
  • 背景信息:例如,对 AI 进行角色设定、处于怎样的情境中、任务具体解决的是什么问题、生成的文字用来做什么。
  • 输入内容说明:例如,用分隔符来明确指出输入的不同部分。

对于复杂的任务,可以通过举例来进一步说明。如对于问答类任务,可以给出少量的问题和答案作为示例,让模型更好地理解问题(Few-shot prompting)。

代码示例:结构化 Prompt 构建

在实际开发中,我们通常通过 Python 脚本动态构建 Prompt。以下是一个简单的示例,展示了如何组合上述要素:

prompt_template = """
你是一名资深的数据分析师。
任务:分析以下销售数据并总结趋势。
背景:这是季度末报告,需要提交给管理层。
要求:
1. 输出为 Markdown 格式。
2. 包含至少三个关键发现。
3. 语气专业且客观。

数据:
{input_data}
"""

# 实际使用时替换 input_data
final_prompt = prompt_template.format(input_data="Q1 Sales: 1M, Q2 Sales: 1.2M...")

下面是一个来自斯坦福大学的 Prompt 示例,他们在使用 ChatGPT 生成微调任务以训练自己的 Alpaca 模型时,其使用的 Prompt 便体现出了明确和详细的优点:

You are asked to come up with a set of 20 diverse task instructions. These task instructions will be given  a GPT model  we will evaluate the GPT model  completing the instructions.
Here are the requirements:
)    repeat the verb   instruction  maximize diversity.
) The language used  the instruction also should be diverse.
) The type  instructions should be diverse.
) A GPT language model should be able  complete the instruction.
) The instructions should be  English.
) The instructions should be    sentences .
) You should generate an appropriate input  the instruction.
)  all instructions require input.
) The output should be an appropriate response  the instruction  the input.
to
and
for
1
Try
not
to
for
each
to
2
for
3
of
4
to
5
in
6
1
to
2
long
7
to
8
Not
9
to
and

2. 给模型更多的思考空间

这个原则主要针对那些需要逻辑推理和创新解答的问题。对于这类问题,模型需要有足够的自由度来考虑多种可能的答案,进行比较和选择。在这种情况下,一个好的 Prompt 应当能够鼓励模型自主思考,而不是仅仅按照既定的路径进行回应。

目前,主要有两种思路来启发模型的思考:

1) CoT (思维链:Chain-of-Thought)

2022 年 10 月,Google 发布了一篇论文'Chain-of-Thought Prompting Elicits Reasoning in Large Language Models'。在这篇文章中,他们在 Prompt 中的举例说明部分中,不仅仅给出问题的答案,还给出得到答案的步骤,实验表明这种方法能够产生更可靠的答案。

随后,东京大学和谷歌于 2022 年 10 月下旬发布了论文'Large Language Models are Zero-Shot Reasoners',在文章中提出不需要给出具体示例,只需要在原始 Prompt 后面加一句'Let's think step by step'就可以得到更高质量的答案。

2) Self-Consistency

谷歌在 2023 年发表'Self-Consistency Improves Chain of Thought Reasoning in Language Model'论文,该论文的主要思想就是利用少数服从多数原则,对于一个问题生成多个版本的答案,选择最高频的那个作为最终答案。具体的分为三步:

  1. 使用思维链(CoT)的方法,生成一个 Prompt。
  2. 通过调整大模型的输出多样性参数来生成多组答案。
  3. 选择答案集合中最一致的答案输出。

除了上述两种方法,近期香港中文大学和华为共同发表文章'Progressive-Hint Prompting Improves Reasoning in Large Language Models',提出 PHP 方法。该方向的核心思想是将上一轮模型生成的答案融入到下一轮的 Prompt 中,直到答案收敛。

三、调试与迭代

编写一个优秀的 Prompt 通常需要迭代的过程,不是一蹴而就的。这个过程与机器学习工作的优化流程有类似之处,主要步骤包括:构思、实施、评估结果、错误分析和产生新的构思。

  • 构思:首先,你需要生成一个想法,也就是你希望通过 Prompt 实现的目标。
  • 实施:接着,你将想法转化为具体的 Prompt,并使用 LLM 进行测试。
  • 评估结果:查看 LLM 的回应,判断是否满足你的预期。
  • 错误分析:这是关键的一步。如果结果不符合预期,需要详细分析哪些地方出了问题。对于一些逻辑推理的问题,答案是否正确相对明确。但对于生成性的问题,如编写邮件或广告文案,可能需要更深入的分析。这时,一个有效的方法是让 LLM 自我评估,指出其生成的答案的不足之处。
  • 产生新的构思:基于错误分析,生成新的想法,修改并优化 Prompt。

在解决问题的过程中,要始终保持对之前提到的两条原则的关注:提供清晰而具体的指示,以及为模型留出更多的思考空间。持续迭代并遵循这些原则,最终将帮助你编写出高效的 Prompt。

四、进阶技巧与工具

为了进一步提高 Prompt 的质量,除了掌握核心原则外,还可以借助工具和高级技巧。

1. 工具辅助

可以使用专门的 Prompt 优化工具,例如 PromptPerfect。这是一个优化提示词的产品,只需要选择一个大模型(如 ChatGPT,GPT-4,Claude 等),输入你的原始 Prompt,系统就会返回一个调优过之后的 Prompt,并给出两个 Prompt 对应的大模型的输出结果用于比较。

2. 用 LLM 辅助生成更好的 Prompt

这里只需要使用下面的 Prompt,然后和 LLM 进行交互即可:

你是一名 Prompt 工程师,非常清楚通过哪些问题能让 AI 提供令人满意的答案。我是向你咨询的客户,我很难表达清楚我的需求,我希望你能一步步通过问题引导我完成我的需求描述,使它变成具体、简洁又详细带有背景的 Prompt。

3. 常用模板结构

在实际工作中,建立一套标准的 Prompt 模板可以提高效率。推荐的结构如下:

  1. Role Definition: 定义 AI 的角色。
  2. Task Description: 明确的任务描述。
  3. Context/Background: 任务的背景信息。
  4. Constraints: 输出的限制条件(长度、格式、风格)。
  5. Input Data: 待处理的具体数据。
  6. Output Format: 期望的输出格式。

五、未来发展

随着大型语言模型(LLM)的能力日益增强,对 Prompt 质量的要求可能会逐步降低。这是因为高级模型可能无需过多的'思维链(CoT)',就能在逻辑推理或问答等任务中提供准确的答案。相比原则二,原则一(清晰明确地表达需求)会更重要一些,只有准确地传达我们的需求,大模型才能提供我们希望的结果。

为了进一步简化原则一,一个可能的解决方法是通过类似智能助手的应用来学习用户的表达习惯。这样,大模型就可以更准确地理解用户的需求,达到心灵相通的效果。未来,Prompt Engineering 可能会逐渐演变为一种隐式的交互方式,用户只需表达意图,系统自动优化指令。

六、总结

Prompts 不仅仅是一个引导,而是实现人工智能交互的关键元素。优秀的 Prompt 能够引领 ChatGPT 为我们提供高质量、精确、富有创造性的输出。因此,熟练使用 Prompt,正是充分发挥 LLM 潜力的关键。

但我们要记住,理论只是第一步,真正的技能掌握源于大量的实践。只有不断尝试,才能发现 Prompt 的无限可能,才能更好地理解和使用 LLM。不论你是要编写文章,还是需要解决具体问题,或者只是想享受与人工智能的对话,都鼓励你尽情探索,实践你的想法,发挥出 LLM 的巨大潜力。

在 AI 时代,人工智能不再是遥不可及的科幻概念,而是我们日常生活和工作中的实用工具。学习和应用高质量的 Prompt 不仅可以帮助我们更好地利用 LLM,还能促使深入理解沟通的本质。未来无论是在工作还是在生活中,都将拥有更强大的竞争优势。

目录

  1. Prompt 工程核心:两条极简原则与实践指南
  2. 一、引言
  3. 二、两个基本原则详解
  4. 1. 写出清晰而具体的指示
  5. 代码示例:结构化 Prompt 构建
  6. 实际使用时替换 input_data
  7. 2. 给模型更多的思考空间
  8. 1) CoT (思维链:Chain-of-Thought)
  9. 2) Self-Consistency
  10. 三、调试与迭代
  11. 四、进阶技巧与工具
  12. 1. 工具辅助
  13. 2. 用 LLM 辅助生成更好的 Prompt
  14. 3. 常用模板结构
  15. 五、未来发展
  16. 六、总结

更多推荐文章

查看全部
  • 前端加密实战:encrypt-labs 靶场环境与解密技巧
  • Encrypt-Labs 靶场实战:前端加密解密与爆破全流程解析
  • C++ 字符串类基础与常见算法题解析
  • Whisper-WebUI 语音转文字工具实战指南
  • AIGC 内容创作:AI 文字、图像、音频与视频生成流程
  • Python 官方下载与开发环境搭建完整指南
  • 7 天用 Electron 开发跨平台桌面应用实战指南
  • Python 使用 ezdxf 库处理 DXF 文件实战教程
  • 信息安全认证解析:CISP、CISAW 区别及 CISSP 含金量对比
  • URDF与RVIZ2:机器人建模技术指南
  • GLM-4-9B开源大模型:超越Llama-3-8B的性能评测
  • MCP 协议详解:与 Function Call 的区别及使用方法
  • Java 中的 CAS 机制详解
  • Whisper-WebUI 语音转文字工具搭建与功能解析
  • 基于人工蜂群双向搜索机制的无人机二维三维路径规划与协同控制
  • LLM 大模型基础知识与开发实践指南
  • FastGPT 集成 MCP 协议构建工具增强型智能体指南
  • C++ 继承:面向对象代码复用的核心机制
  • 使用 OpenClaw 配置 Codex 5.3 搭建个人 AI 编程助手
  • Java 垃圾收集深度解析:对象存活判定、回收流程与内存策略

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online