prompt修炼手册

prompt在我们和大模型交互过程中扮演着很重要的一环。简单理解就是GPT是一个知识宝库,我们需要用prompt去告诉大模型我们的诉求,大模型会根据对prompt的理解,生成对应的内容,这里我们通过输入框输出的信息就是我们常说的prompt了。但是prompt的质量也影响着信息生成的质量,学习如何写好prompt对GPT的使用将会大有裨益。

prompt的组成部分:

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

比如以下prompt:

1
2
3
你是一位数学领域的专家(角色),你需要帮助解决用户的数学问题(任务)。
已知一种运算法则,有三个变量,A,B,C,当A=1,B=1的时候,C=0;当A=1,B=0的时候,C=1。(示例)
现在,请你帮忙告诉我当A=0,B=0的时候,C等于多少?(问题)

然后我们可以进行追问,A=0,B=1的时候,C等于多少?这样gpt会根据上下文信息继续生成回复。
ps:这个prompt让我想起来高中写语文作文的时候,经常就是一段文字,然后给出一些要求,最后根据这个引发联想,写一篇800字的作文,感觉还挺像的。

值得注意的点是,大模型的使用始终绕不过的一个问题就是安全。大模型生成的任务是无法保证完全准确的,里面可能存在偏见,虚假的信息,训练不当也可能造成数据泄漏。用户可以利用prompt欺骗LLMs绕过风控拦截,使其生成不合规的内容。大模型安全也是一个很有研究意义的领域。

比如chatgpt,豆包等这种的,其实都是一个智能体agent。其实我们也可以一些AI应用开发平台(如coze)自己搭建一个agent智能体。在配置的时候以下参数需要注意:

  • 热度(Temperature):热度可以控制大模型输出的随机性,最大是1。高热度可以让模型生成富有创造性的内容,反之则是保守的内容。
  • Top p:核心采样。通过设定一个阈值,然后大模型会选择累计概率超过该阈值的最佳词汇,最终从这组随机的词汇中抽取生成输出。

我们可以用prompt干什么?

  • 学习助手:假如我们当前在学习AI,对于AI方面不懂的可以问它,我们可以用它加深对某一领域的探索,不至于找不到方向。
  • 编程辅助:可以生成一些简单的函数,或者帮助我们优化代码,debug代码等。但是这里要注意,一定要让它一起生成单测以及一些case。然后我们自己本地跑一下,防止出现潜在的bug。
  • 数学推理:这个是当前AI还比较薄弱的地方,也是衡量一个AI是否强大很重要的方面。大模型使用的是Transformer架构,简单理解就是一个很大的函数,这个函数有很多特征输入,然后配以对应的权重,输出最具相关性的回复。数学推理是强逻辑性的,而且要求是精确严谨的,不像人脑有抽象的能力,往往很难找到一个很完美的特征权重。
  • 文本总结:21世纪的人,每天要接受处理成千上万条消息,其实很多内容都是无用的,我们只需要知道核心表达即可,这个时候用GPT可以很好的帮助我们总结文本,过滤无效消息,比如通过上传网页或者pdf,让AI快速总结内容。