全网最精华的提示词工程总结

提示词工程是什么?

在说提示词工程前,先看看提示词是什么?

提示词 (Prompt)就是你输入给像 ChatGPT 这样的 AI 模型的文字指令,用来告诉它你想让它做什么。

比如我们在使用 ChatGPT 时,会在输入里写出下下面的内容

假设你是一位 IT 行业的产品经理,准备离职去创业。请用专业、委婉的语气,写一封英文辞职信,表达感谢,并说明你的决定。

形如上面的内容就是一条给 AI 模型的文字指令。AI 模型根据文字指令内容生成答案。答案的准确性与提示词关系甚大,清晰准确的提示词可以确保 AI 给出正确的答复。由此诞生一个工程就是提示词工程

提示词工程(Prompt Engineering)是指设计和优化输入给大型语言模型(LLM,如 ChatGPT)的提示词(prompt) ,以便获得更准确、高效或符合预期的输出。

用大白话讲,提示词工程是如何跟 AI 说话,让它干你想干的事的一门技术

提示词作用

为什么提示词非常重要呢?

大语言模型的能力很强,但它的表现很大程度上依赖于你的输入指令。一个好的提示词可以:

  • 让模型输出更准确、完整的答案;
  • 控制模型的语气、格式、长度;
  • 引导模型完成复杂任务(如写代码、摘要、推理等);
  • 降低 hallucination(胡说八道)的概率。

正因为提示词非常重要,所以才衍生出提示词工程、甚至有的公司专门设置提示词工程岗位、专门研究如何写好提示词

提示词标准

笔者对提示词工程非常感兴趣,对如何写好提示词进行详细的学习。但是发现全网并没有提出提示词的严格标准、笔者在阅读所有的提示词的技术文章后,提出自己认可的提示词标准(这个标准只是笔者个人观点,非学术观点)。

笔者认为提示词标准由下列要素组成:

  • 角色
  • 指令/任务
  • 上下文
  • 问题
  • 示例
  • 输出指示

提示词结构标准 = 角色 + 任务 + 上下文 + 问题 + 示例 + 输出指示

你根据需要,灵活组合这些元素。就可以写出质量高的提示词。下面详细分析这些要素

角色

角色指为 AI 分配一个身份或视角,让它"扮演"某个专家、人物或风格。角色决定了语言模型的"语气"和"思维方式",让输出更贴合预期。示例如下

你是一位资深前端工程师,熟悉使用 React 前端框架,擅长解决性能优化问题

指令/任务

指令/任务是提示词的核心目标,没有任务,就没有方向。你是让 AI 帮你干活。所以明确告诉 AI 你希望它完成什么事情。

请帮我撰写一封英文的辞职信,语气委婉,并表达感谢。

上下文

上下文可以显著提升准确性和相关性,特别是在多轮对话或特定主题下。提供足够的信息背景,让 AI 更好地理解你的需求。

我目前在一家互联网公司工作,职位是产品经理,计划在三个月后离职创业。

问题

如果你想让 AI 回答某个具体的问题,这部分就是明确的提问语句。聚焦模型输出,避免偏离主题或答非所问。

在现在的市场环境下,离职创业有哪些需要考虑的风险?

示例

给出你希望 AI 输出的参考案例,起到示范作用。 当你给出示例,AI 模型会模仿你给的风格或格式

示例: 输入:我想学习前端。 输出:你好!学习前端建议先掌握 HTML、CSS 和 JavaScript......

输出提示

输出提示用于控制输出形态,确保可以直接使用或满足需求。对 AI 输出的格式、风格、长度、语言等做出限制或说明。

请用 Markdown 格式输出,分为三部分:引言、正文和结论,不超过 300 字。

根据这份标准,小伙伴们可以分析平常自己写的提示词,我敢拍胸脯保证小伙伴们写出上面的要素,可能没建立这些要素的概念。

根据这份提示词标准,对平常写的提示词进行解构、然后填充缺少部分要素内容、再喂给 AI 模型,看看结果是否有提升? 如果结果准确性有提升请在评论中扣 666

写好提示词的技巧

在上一章节给出提示词的标准,基于提示词标准,笔者想分享一些如何写好提示词的技巧

提示词模板

上面说到提示词由角色、指令/任务、上下文、问题、示例、输出指示等要素构成。那么将提示词按照这六个要素编写。

作为前端开发人员会遇到开发 React 项目的性能优化问题。就用这个常见的技术问题为例,如何写好提示词,让 ChatGPT 帮我们解决问题

问题梗概:如何优化 UserList 组件性能?

提示词如下:

js 复制代码
// 角色
我是一名资深前端开发人员、熟悉使用 React 前端开发框架,擅长解决 React 性能优化问题

// 上下文
我用 React 写了一个 UserList 组件,组件代码如下所示,
XXXXXXXXXXXXX
XXXXXXXXXXXXX
XXXXXXXXXXXXX
XXXXXXXXXXXXX

// 问题
现在UserList组件存在比较验证的性能问题

// 指令/任务
请你现在从性能优化的角度帮我优化 UserList 组件

// 输出指示
使它的性能表现非常 OK,给出完整的解决问题的思路和过程以及代码

上面的提示词完美的遵循提示标准要素,有助于 AI 理解指令。给出的答案的准确性应该很 OK

提示词链

提示词链(Prompt Chaining)是一种将多个提示词按步骤组织起来、形成流程链条的提示词工程技巧 ,目的是让 AI 更好地完成复杂任务或提高输出质量

用大白话讲,一个复杂任务,可能无法通过一个提示词一次性搞定。

所以我们会把它拆成多个步骤,每一步用一个提示词,引导 AI 一步步完成,就像接力赛一样,这就叫"提示词链"

构成方式(链式结构)

vbnet 复制代码
Step 1: 总结原始文本的主要观点
↓
Step 2: 用更有说服力的语言重写这些观点
↓
Step 3: 输出一篇结构清晰的说服型文章

每一步的结果都会作为下一步的输入,逐步靠近目标。

举个例子:写商业计划书的提示词链

目标:生成一份 AI 产品的商业计划书

Step 1:获取核心信息

请列出一个 AI 产品的基本信息,包括产品名称、目标用户、核心功能、解决的痛点。

Step 2:生成市场分析

根据以下信息,为该 AI 产品生成简要的市场趋势与竞争分析。

输入:上一步的输出

Step 3:制定商业模式

基于以上产品信息和市场分析,设计一个可持续的商业变现模型。

Step 4:输出完整商业计划书

请将以上所有内容整合,形成一份结构清晰、用词专业、适合向投资人展示的商业计划书。

零样本思维链

零样本思维链提示过程是对 CoT prompting 的后续研究,引入了一种非常简单的零样本提示。他们发现,通过在问题的结尾附加让我们一步步思考这几个词,大语言模型能够生成一个回答问题的思维链。从这个思维链中,他们能够提取更准确的答案

技术上讲,完整的零样本思维链过程涉及两个单独的提示/补全结果。在下面的图像中,左侧的顶部气泡生成一个思维链,而右侧的顶部气泡接收来自第一个提示(包括第一个提示本身)的输出,并从思维链中提取答案。这个第二个提示是一个自我增强的提示。

错误示例

如果 John 有5个梨子,吃了2个,又买了5个,然后把 3个给了他的朋友,他还剩下多少个梨子?

结果是

John 有 8 个梨子。

使用零样本思维链后

如果 John 有5个梨子,吃了2个,又买了5个,然后把 3个给了他的朋友,他还剩下多少个梨子? 让我们一步一步地思考。

结果是

John 起初有 5 个梨子。他吃了 2 个梨子,还剩下 3 个梨子。他又买了 5 个梨子,一共有 8 个梨子。他把 3 个梨子给了他的朋友,他现在只剩下 5 个梨子。

总结:零样本思维链类型的提示有时可以有效地提高生成任务完成的长度。例如,请考虑标准提示写一个关于青蛙和蘑菇成为朋友的故事。在此提示的末尾附加让我们一步一步地思考会导致更长的补全结果。

多范例提示

多范例提示是指为模型展示一些例子,从而更形象地描述你的需求。比如使用 AI 为饭店的菜品写一些介绍词,可以先给出一些例子,然后让 AI 根据给出的例子的风格续写

糖醋里脊: 外酥里嫩,酸甜开胃,经典家常美味。 刀拍黄瓜: 清爽脆嫩,蒜香浓郁,夏日开胃凉菜。 请按照上述例子风格,写出蚂蚁上树、清炒苕尖等菜的介绍语

复杂任务拆解

在工作中难免遇到复杂问题或难以一次性解决的问题,任务拆解 是一个非常有效的策略。这个方法可以提高准确性、可控性和模型输出的质量。

为什么要进行复杂任务拆解?

  1. 减少上下文混乱:大任务往往涉及多个子问题,一次性问清楚容易造成模型理解偏差。
  2. 提高精度与稳定性:逐步推进有助于生成更符合预期的中间和最终结果。
  3. 便于调试和调整:你可以在中间步骤检查输出,及时调整方向。

示例解释

任务:公司需要开发一套 AI 客服系统 拆解流程:

  1. 明确客户服务的主要场景(售前、售中、售后)。
  2. 为每个场景列出常见问题。
  3. 针对每类问题,设计对应的意图识别和回复逻辑。
  4. 编写训练样本和提示词。
  5. 设计技术架构与模型调用流程。

根据使用场景定制提示词

由于笔者是技术开发人员,所以想从使用场景下讲解一些定制提示词。作为技术开发人员,使用 AI 的场景比较固定

把 AI 当作搜索引擎

相比使用谷歌搜索、百度搜索来说,把 AI 当作搜索引擎使用 ,可以让更好地获取信息、加快查找效率,尤其适用于需要整理资料、查找概念、快速理解复杂内容的场景。

往往搜索的提示词是这样的

XXX是什么?起什么作用?局限性是什么?

将上述指令喂给 AI 模型,AI 可以给出 XXX全方位信息

优化技术开发文档

技术开发人员使用 AI 模型优化技术文档,那么一定要给出初版的技术文档内容,这对 AI 模型来讲,本质使用了多范例提示技巧,AI 模型基于粗糙的技术文档内容进行优化

解决编码问题

相信很多小伙伴在日常开发中已经使用AI代码助手,帮忙解决编码问题。

让 AI 模型尽可能一次性对编码问题给出正确的答案,小伙伴们可以按照上一节说的提示词模板编写指令

总结

本篇文章主要讲述提示词工程的重要性,提出提示词标准,根据标准写出高质量的提示词,从技巧和使用场景方面给出笔者个人的思考

相关推荐
飞火流星0202722 分钟前
BERT、T5、ViT 和 GPT-3 架构概述及代表性应用
人工智能·gpt-3·bert·t5·vit·人工智能模型架构
程序小K24 分钟前
自然语言处理Hugging Face Transformers
人工智能·自然语言处理
恒拓高科WorkPlus26 分钟前
BeeWorks:打造安全可控的企业内网即时通讯平台
大数据·人工智能·安全
newxtc1 小时前
【指纹浏览器系列-chromium编译】
人工智能·安全
轻闲一号机1 小时前
【机器学习】机器学习笔记
人工智能·笔记·机器学习
光锥智能2 小时前
傅利叶发布首款开源人形机器人N1:开发者可实现完整复刻
人工智能
恒拓高科WorkPlus2 小时前
一款安全好用的企业即时通讯平台,支持统一门户
大数据·人工智能·安全
天下琴川2 小时前
Dify智能体平台源码二次开发笔记(5) - 多租户的SAAS版实现(2)
人工智能·笔记
qq_365911602 小时前
中英文提示词对AI IDE编程能力影响有多大?
人工智能
jndingxin2 小时前
OpenCV 图形API(31)图像滤波-----3x3 腐蚀操作函数erode3x3()
人工智能·opencv·计算机视觉