这篇文章不探讨prompt技巧,只探讨prompt技术本身的一些相关概念以及prompt工程,当然也会略微的提及一些prompt技巧。

需要说明的是,里面涉及的很多观点没有经过严格的考证,大多是自己这些年学习AI相关技术的一些浅薄见解。

Prompt Engineering

在 AGI 时代,不会使用 Prompt,就像不会使用操作系统一样——你无法真正驾驭智能系统。
Prompt 不是技巧,而是一种新的“人机接口语言”。

  • Prompt = AGI时代的编程语言

  • Prompt工程 = AGI时代的软件工程

  • 提示工程师 = AGI时代的程序员

Prompt 门槛低 天花板高

专门的提示工程师并不会长久,它会逐渐的称为通用能力,因为以后的每个人都会提示词工程,并且随着AI技术的发展,提示词工程会越来越简单。

人人都会,我们可以提升的优势是什么?


  • ①懂模型原理 就能知道什么样的指令有效,什么样的无效;为什么同样的指令有时有效,有时无效;怎么提升指令有效的概率。(最重要 只有懂才能明白大模型为什么给出这样的答案)
  • ②懂工程落地 就能把 Prompt 写成代码、嵌入系统、对接业务。
  • ③懂调优逻辑 能稳定复现好结果,而不是靠运气。

人人都会说话,但不是人人都能当导演、编剧、产品经理。Prompt 也是一样。

一) Prompt

1.1 使用prompt的两个目的

  • 获取具体问题的答案 (这类就是我们常用的,通过对话直接得到具体的答案)
  • 固化一套Prompt到程序当中,使其成为系统功能的一部份,比如AI客服系统(通过Prompt打造智能客服)

第一种方式主要是通过 Chatgpt 等 AI 的网页界面就可以进行操作,后者的实现就需要通过代码来实现了,后者也是我们程序员独具优势的地方。

1.2 prompt 调优

Prompt 本质上是一种软约束编程传统代码是强约束(必须执行),而Prompt 是概率约束(引导模型进入某个分布),所以Prompt 本质上也是在控制模型输出的概率分布

对于找到一个好的 prompt 是一个持续迭代优化的过程,需要不断的调优。如果我们知道训练数据是怎么样的,参考训练数据来构造prompt是最好的。但是其实一般我们不会知道训练数据是什么的,除非是自己训练的模型。

  • OpenAI的GPT系列更喜欢Markdown格式的数据
  • Claude对XML格式更好

其他就只能自己一个一个尝试了,有时候多一个字和少一个字,对生成结果好坏都会产生影响

但高质量的 prompt 的核心要点:

  •  具体
  •  丰富
  •  少歧义

 如果底层大模型换了,prompt 要不要重新调优?


  • 同一家公司的模型升级(GPT3.5→4o):大多不用大改
  • 换模型厂商(GPT ↔ Claude ↔ 文心 ↔ 通义):必须重新调优
  • 格式偏好不同:GPT 爱 Markdown,Claude 爱 XML,国产模型大多兼容自然语言

Prompt 不是一劳永逸,是随模型迭代的轻量级代码。

二)Prompt 的构成

  •  角色
  •  指示
  •  上下文
  •  例子 (one-shot learning few-shot learning)
  •  输入
  •  输出

万能 Prompt 公式

  • 你是:【角色】
  • 请完成:【任务/指示】
  • 背景/限制是:【上下文】
  • 参考以下示例:【例子】
  • 输入:【用户内容】
  • 输出:【格式要求】

2.1 角色定义为什么有效

角色定义之所以有效,并不是因为模型理解身份,而是因为训练数据中大量存在角色式指令表达。模型会匹配到大量相似语境,从而更稳定地进入某种风格模式。模型训练者并没想到过会这样,完全是大家「把 AI 当人看」玩出的一个用法,因为实在传得太广,导致现在的大模型训练数据里充满了角色定义,所以更有效了,更有相关论文证实了这一现象,进一步说明为啥「你是一个 xxx」能够有效,同时发现大模型对prompt开头和结尾更敏感。

参考文献:https://arxiv.org/abs/2307.03172

三)Prompt 工程

一直没弄懂过,Prompt就Prompt,为什么后面要加上工程二字。总结来看最大的疑惑就是为什么叫「工程」,不叫「提示词技巧」?

工程的本质是:可控、可复现、可规模化、可维护。

而由于大模型本身就存在随机性不确定性。对不同的问题,我们在使用大模型去解决的时候,其实就是通过不同的prompt来实现,但是如果只是强调提示词技巧而非工程化,实际项目很难落地,只有通过Prompt 工程把「随机碰运气」变为「稳定出结果」从「单次对话」→「固化成功能」从「手工调」→「体系化调优」;我们才能AI能力可控,高效,可维护的嵌入系统。

随机聊天 Prompt 工程
靠感觉 有结构
靠运气 可复现
一次性 可固化
不稳定 可上线

所以总的来说,Prompt 工程是在大模型时代,用自然语言作为新的编程语言,通过结构化设计稳定化调优、系统化落地,让 AI 输出可控、可复用、可规模化的一套工程方法论

3.1 例子

一个例子看 Prompt 工程:

Prompt 工程 = 把大模型从 “随机聊天机器人”,变成 “稳定、可靠、能上线赚钱的系统功能”。

① 定目标 = 需求工程

不是让AI 帮我写点东西,或者回答问题,而是工程化定义任务

  • 做什么功能?(客服?总结?代码?质检?)
  • 输出什么格式?(JSON?表格?纯文本?)
  • 不能出现什么?(幻觉、错误、违规)
  • 给谁用?(内部工具?用户产品?)

② 搭骨架 写一个 “能稳定工作” 的 Prompt

不是随便写一句话,而是结构化设计(根据prompt的构成部分分别写,并保持清晰 准确 无歧义)

  • 给角色
  • 给任务
  • 给规则
  • 给例子
  • 给输入输出格式

目标是让 AI 每次输出都差不多,而不是看心情。这一步其实是在干架构和编码

③ 调优 把 “能用” 变成 “好用、稳定”

真正的「工程」就在这里:

  • 试不同写法
  • 试不同格式(XML / Markdown / JSON)
  • 试少字、多字、换语序
  • 试不同模型
  • 测坏例子、边界 case

不断迭代,直到输入任何合法内容,输出都可控、不翻车。这一步其实是在测试 + 调试 + 迭代

④ 固化 把 Prompt 嵌进系统,变成产品

这是普通用户和工程师的最大区别

  • 把 Prompt 写成模板
  • 放进代码 / 配置文件
  • 对接接口、数据库、业务逻辑
  • 做成:AI 客服、AI 写作、AI 审核、AI 插件…

Prompt 不再是聊天,而是系统的一部分。这一步就是在干集成开发和上线

⑤ 运维 模型变了(升级),Prompt 也要跟着变

大模型会更新、会换、会升级:

  • GPT 更新换代 → Prompt 可能飘,或者之前的提示词不适合,得重走Prompt工程。
  • 换 Claude / 文心 / 通义 → 几乎要重调。
  • 业务变了 → 规则要改,重走Prompt工程。

所以 Prompt 工程还要定期监控效果,定期评估大模型的版本,并进行相应的管理。这一步其实就是运维与迭代

四)结语

Prompt 工程从头到尾只做一件事,通过结构化设计、反复调优、系统集成和持续维护,让大模型的输出从不可控的随机生成,变成可预期、可复现、可商用的系统能力。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐