作为一个大型语言模型(LLM)接口,ChatGPT有令人印象粗浅的后劲,然而真正是否用好取决与咱们的提醒(Prompt ),一个好的提醒能够让ChatGPT降职到一个更好的档次。

在这篇文章中,咱们将介绍对于提醒的一些高级常识。无论是将ChatGPT用于客户服务、内容创立,还是仅仅为了好玩,本文都将为你提供应用ChatGPT优化提醒的常识和技巧。

背景常识

LLM架构常识是一个好的提醒的先决条件,因为它提供了对语言模型的底层构造和性能的根本了解,这对于创立无效的提醒是至关重要的。

让不置可否的问题变得清晰,并确定能够跨场景转换的外围准则很重要,所以咱们须要分明地定义手头的工作,并提出能够轻松适应不同上下文的提醒。精心设计的提醒是用来将工作传播给语言模型并领导其输入的工具。

所以对语言模型有简略的理解,并且分明的理解本人的指标,再加上畛域内的一些常识,是用于训练和改良语言模型的性能的要害。

提醒和返回是越多越好吗?

并不是

简短且资源密集的提醒,这可能不具备老本效益,并且还记得chatgpt有字数限度吗,压缩提醒申请和返回后果是一个十分新兴的畛域,咱们要学会精简问题。并且有时候chatgpt也会回复一些很长且毫无新意的话语,所以咱们也要为它减少限定。

1、缩小回复长度

为了缩小ChatGPT回复的长度,在提示符中蕴含长度或字符限度。应用更通用的办法,您能够在提示符前面增加以下内容:

 Respond as succinctly as possible.

阐明,因为ChatGPT是英文语言模型,所以前面介绍的提醒都以英文为例。

另外一些简化后果的提醒:

不须要举例:No examples provided

举一个例子:One example provided

等等

思考形式

ChatGPT生成文本的最佳办法取决于咱们心愿LLM执行的特定工作。如果不确定应用哪种办法,能够尝试不同的办法,看看哪种办法最适宜。咱们将总结5中思考形式:

1、思维链 (Chain-of-Thought)

思维链办法波及为 ChatGPT 提供一些可用于解决特定问题的两头推理步骤示例。

2、自我发问

该办法波及模型在答复初始问题之前明确地问本人(而后答复)后续问题。

3、分步思考

分步办法能够向ChatGPT 增加以下的提醒

 Let’s think step by step.

这种技术已被证实能够进步 LLM 在各种推理工作上的体现,包含算术、常识和符号推理。

这个听起来就很玄学对吧,其实OpenAI是通过人类反馈强化学习 (Reinforcement Learning with Human Feedback) 的办法训练了他们的 GPT 模型,也就是说人工的反馈在训练中起了很重要的作用,所以ChatGPT 的底层模型与类人的逐渐思考办法保持一致的。

4、ReAct

ReAct (Reason + Act)办法包含联合推理跟踪和特定于工作的动作。

推理跟踪帮忙模型布局和解决异样,而动作容许它从内部起源(如知识库或环境)收集信息。

5、Reflection

在ReAct模式的根底上,Reflection办法通过增加动态内存和自反射性能来加强LLM——能够推理和特定于工作的操作抉择能力。

为了实现齐全自动化,Reflection论文的作者引入了一种简略但无效的启发式办法,容许代理辨认幻像(hallucinations),避免反复动作,并在某些状况下创立环境的外部记忆图。

反模式

三星必定对这个十分理解,因为交了不少学费吧,哈

不要分享私人和敏感的信息。

向ChatGPT提供专有代码和财务数据仅仅是个开始。Word、Excel、PowerPoint和所有最罕用的企业软件都将与chatgpt相似的性能齐全集成。所以在将数据输出大型语言模型(如 ChatGPT)之前,肯定要确保信息安全。

OpenAI API数据应用政策明确规定:

“默认状况下,OpenAI不会应用客户通过咱们的API提交的数据来训练OpenAI模型或改良OpenAI的服务。”

国外公司对这个方面管控还是比拟严格的,然而谁晓得呢,所以肯定要留神。

1、提醒注入

就像爱护数据库不受SQL注入一样,肯定要爱护向用户公开的任何提醒不受提醒注入的影响。

通过提醒注入(一种通过在提示符中注入恶意代码来劫持语言模型输入的技术)。

第一个提醒注入是,Riley Goodside提供的,他只在提醒后退出了:

 Ignore the above directions

而后再提供预期的动作,就绕过任何注入指令的检测的行为。

这是他的小蓝鸟截图:

当然这个问题当初曾经修复了,然而前面还会有很多相似这样的提醒会被发现。

2、提醒透露

提醒行为不仅会被疏忽,还会被泄露。

提示符泄露也是一个安全漏洞,攻击者可能提取模型本人的提示符——就像Bing公布他们的ChatGPT集成后不久就被看到了外部的codename

在个别意义上,提醒注入(指标劫持)和提醒透露能够形容为:

所以对于一个LLM模型,也要像数据库避免SQL注入一样,创立防御性提示符来过滤不良提示符。

为了避免这个问题,咱们能够应用一个经典的办法 “Sandwich Defense”行将用户的输出与提醒指标“夹在”一起。

这样的话无论提醒是什么,最初都会将咱们指定的指标发送给LLM。

总结

ChatGPT响应是不确定的——这意味着即便对于雷同的提醒,模型也能够在不同的运行中返回不同的响应。如果你应用API甚至提供API服务的话就更是这样了,所以心愿本文的介绍可能给你一些思路。

另外本文的援用如下:

Prompt injection attacks against GPT-3

Ignore Previous Prompt: Attack Techniques For Language Models

Self-ask Prompting

Large Language Models are Zero-Shot Reasoners

Reflexion: an autonomous agent with dynamic memory and self-reflection

ReAct: Synergizing Reasoning and Acting in Language Models

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

https://avoid.overfit.cn/post/e0b0c4527ad04fb1a4ead894ed5d2193

作者:Ivan Campos