什么是提示工程?

提示工程也叫【指令工程】。

  • Prompt发送给大模型的指令。比如[讲个笑话]、[用Python编个贪吃蛇游戏]、[给男/女朋友写情书]等
  • 看起来简单,但上手简单精通难
  • [Propmpt]是AGI时代的[编程语言]
  • [Propmpt]是AGI时代的[软件工程]
  • [提示工程]是AGI时代的[程序员] 
  • 学会提示工程,就好比学会使用电脑学鼠标、键盘一样,是AGI时代的基本技能
  • 提示工程[门槛低,天花板高],所以有人对称prompt为[咒语]
  • 但专门的[提示工程师]不会长久,因为每个有都要会[提示工程],AI的进化会让提示工程越来越简单

如果人人都会,那我们应该如何建立优势?

1、我们要懂原理,会把AI当人看,所以知道:

  • 为什么有的指令有效,有的指令无效
  • 为什么同样的指令有时有效,有时无效
  • 怎么提升有效的概率 

2、我们懂编程

  • 知道哪些问题用提示工程解决更高效,哪些用传统编程更高效
  • 能完成和业务系统的对接,把效能发挥到极致 

Prompt的典型构成 

不要固守[模版]。模版的价值是提醒我们加漏掉什么,而没有必要遵守模板才行。

角色:给AI定义一个最匹配任务的角色。比如:[你是一个软件工程师]  [你是一个小学老师]

指示:对任务进行描述

上下文:给出与任务相关的其它背景信息(尤其在多轮交互中)

例子:必要时给出格式描述,以便后继模块自动解析模型的输出结果,比如(JSON\XML)

[定义角色]为什么有效?

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

Prompt Engineering,提示工程_模版

大模型对prompt开头和结尾的内容更敏感 

先定义角色,其实就是在开关把问题域收窄,减少二义性。 

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

Prompt Engineering,提示工程_模版_02

核心思路:

  • 把输入的自然语言对话,转成结构化的表示
  • 从结构化的表示,生成策略
  • 把策略转成自然语言转出