提示词工程简介Prompt Engineering

前情提要:本篇文章是基于视频2小时彻底掌握提示词工程(Prompt Engineering)中记录下来的学习笔记,推荐再看该学习笔记之前先去blili看此教程

一.什么是提示词工程

提示工程也叫指令工程。Prompt就是你发给大模型的指令,比如「讲个笑话」、「用Python编个贪吃蛇游戏」、「给男/女朋友写封情书」等

在使用Prompt的时候,我们应该达到固化一套Prompt到程序中,成为系统功能的一部分的水平,比如「每天生成本公司的简报」「AI客服系统」「基于公司知识库的问答」

1.2 Prompt调优

找到好的prompt是个持续迭代的过程,需要不断调优。

如果知道训练数据是怎样的,参考训练数据来构造prompt是最好的。「当人看」类比:

  1. 你知道ta爱读红楼梦,就和ta聊红楼梦
  2. 你知道ta十年老阿里,就多说阿里黑话
  3. 你知道ta是日漫迷,就夸ta卡哇伊

不知道训练数据怎么办?

  1. 看 Ta是否主动告诉你。例如已知:OpenAI GPT对Markdown格式友好,Claude对XML友好
  2. 只能不断试了。多一个字少一个字,对生成概率的影响都可能是很大的。「试」是常用方法,确实有运气因素,所以「门槛低、天花板高」

高质量prompt核心要点:

修炼prompt 能力,工夫在平时:

  1. 我们的「群聊天」习惯,天然和prompt背道而驰。随口就说,全是短句,容易歧义
  2. 欧美的「群发邮件」习惯,更占优势。篇篇都是小作文
  3. 让自己在群里也是「小作文」

答案显而易见,是一定需要的,见不同的人肯定要说不同的话。

二.Prompt的典型构成

那么**「定义角色」**为什么有效呢?

模型训练者并没想到过会这样,完全是大家「把AI当人看」玩出的一个实在传得太广,导致现在的大模型训练数据里充满了角色定义,有一篇论文证实的现象,可以说明为啥「你是一个xxx」特别有效

推荐流量包的智能客服

对话系统的基本模块和思路

上面这个图看着可能有点抽象,用对话流程举例:

核心思路:

  1. 把输入的自然语言对话,转成结构化的表示(NLU)
  2. 把结构化的表示,生成策略(DST--->Policy)
  3. 把策略转成自然语言输出(NLG)

用Prompt实现

用逐步调优的方式实现,先搭建基本运行环境

python 复制代码
# 导入依赖库
from openai import OpenAI
from dotenv import load_dotenv, find_dotenv

# 加载 .env 文件中定义的环境变量
_ = load_dotenv(find_dotenv())

# 初始化 OpenAI 客户端
client = OpenAI()  # 默认使用环境变量中的 OPENAI_API_KEY 和 OPENAI_BASE_URL

# 基于 prompt 生成文本
def get_completion(prompt, model="gpt-3.5-turbo"):    # 默认使用 gpt-3.5-turbo 模型
    messages = [{"role": "user", "content": prompt}]  # 将 prompt 作为用户消息
    response = client.chat.completions.create(
        model=model,
        messages=messages,
        temperature=0,                                # 模型输出的随机程度,0 表示最确定
    )
    return response.choices[0].message.content        # 返回生成的文本内容

实现一个NLU

定义任务描述和输入

由上述结果我们知道他理解了,但是自然语言的输出,不方便我们做策略,于是我们

规定输出格式输出,之后的加例子也类似

所以:

  1. 多轮对话,需要每次都把对话历史带上(是的很费token钱)
  2. 和大模型对话,不会让ta变聪明,或变笨
  3. 但对话历史数据,可能会被用去训练大模型.

三.进阶技巧

3.1 思维链(Chain of Thoughts,CoT)

思维链,是大模型涌现出来的一种神奇能力

  1. 它是偶然被「发现」的(OpenAI的人在训练时没想过会这样)
  2. 有人在提问时以**「Let's think step by step」**开头,结果发现AI 会把问题分解成多个步骤,然后逐步解决,使得输出的结果更加准确。

3.2 自洽性(Self-Consistency)

一种对抗「幻觉」的手段。就像我们做数学题,要多次验算一样。

  • 同样prompt跑多次
  • 通过投票选出最终结果

四.防止Prompt攻击

攻击方式1:著名的「奶奶漏洞」

用套路把AI绕懵。

攻击方式2: Prompt注入

  • 防范措施1:Prompts注入分类器,参考机场安检的思路,先把危险的prompt拦截掉
  • **防范措施2:**直接在输入中防御

五.OpenAI API的几个重要参数

OpenAI提供了两类API:

  1. **Completion API:**续写文本,多用于补全场景
  2. Chat API: 多轮对话,但可以用对话逻辑完成任何任务,包括续写文本

说明:

  1. Chat是主流,有的大模型只提供Chat
  2. 背后的模型可以认为是一样的,但也不完全一样
  3. Chat模型是纯生成式模型做指令微调之后的结果,更多才多艺,更听话

六.用GPTs帮我们写prompt

相关推荐
hrrrrxeeeee8 小时前
文件读取→比对→风险标记,拆解采购 AI 完整工作链路
大数据·人工智能·机器学习·prompt
技灵AI1 天前
Wan 3.0 API怎么做多参考商品视频?从图片、视频、音频分工到30秒交付
人工智能·prompt·aigc·音视频·wan 3.0
“AI国潮设计-小江”1 天前
【SDXL实战】Python自动化生成3D潮汕美食IP,附ComfyUI工作流与商用变现思路
开发语言·人工智能·python·prompt·aigc
TK泰妞2 天前
2026TikTok带货视频怎么做?
人工智能·prompt·音视频
XLYcmy2 天前
Prompt 设计相关问题
网络安全·llm·prompt·agent·cot·漏洞检测·harness
七夜zippoe3 天前
Prompt 工程进阶:角色设定、任务分解、输出约束与示例引导
ai·prompt·openai·agent·工程进阶
小叶肥辉3 天前
LangChain链和LangGraph图的学习笔记【六】——提示语模板(3)——Few-Shot Prompting(少样本提示) 模板类
笔记·python·学习·langchain·prompt·aigc
znnnk3 天前
【AI应用】Agent:AI 为什么需要“自主决策”?
ai·prompt·agent·workflow·ai应用·skill·mcp
学习日记5253 天前
AI PPT生成系统实践:从自由生成到可控生成的工程演进复盘
人工智能·ai·prompt
这就是佬们吗3 天前
Function Calling 还是 MCP?先分清它们根本不是同一层的东西
人工智能·prompt·ai编程