5.1.2. Prompt 技巧
接下来我们来看看目前 ChatGPT 使用上的一些常见的技巧,如果你想在看具体技巧前就理解这些技巧的原理,可以先阅读后面的内容,读完所有进阶知识后你会对这些技巧有更深的理解。技巧一:角色扮演
有的时候,我们想要让 ChatGPT 在一个更聚焦的语境下回答问题,那么这就是一个使用「角色扮演」技巧的好时候。 例如,如果我们直接问 ChatGPT:人活着的意义是什么?
它会告诉我们:
请扮演一个哲学老师,告诉我,人活着的意义是什么?
它说:
请扮演 Steve Jobs(另一种方法是使用 LangChain 等工具,详见 5.2)
技巧二:增加示例
有的时候,我们难以用语言清晰地表达我们的指令,或者希望更快更准确地 Prompt,这时候可能就是「增加示例」的好时机。 例如,我们想要提取某一段话里的所有地名并以特定格式输出:值得注意的是,如果你不是在使用 Playground 而是直接使用对话框,请注意 ChatGPT 会有上下文记忆,如果需要重试当前任务,请编辑原先的 Prompt 再次运行,而不是再给它发一条新的。这里有点像你在跟一个朋友阐述一个概念,抽象的解释可能并不能很好地传达你的意思,那么你只需要给他举一个例子,他也许就能很快理解。 技巧二的具体原理请见 5.1.3 Zero/Few-shot-prompting
技巧三:明确格式
如果我们更关注格式,也可以直接在文本中明确格式,ChatGPT 使用的是 MarkDown 格式。(如果有不熟悉的读者可以参考本文末的 MarkDown 相关教程链接) 例如:技巧四:使用分割符号
如果我们的输入中包含了较多的元素和文本,我们可以将指令放在提示的开头,用##或""来分隔指令和上下文:技巧五:Let’s think step by step
当我们需要 ChatGPT 进行相对较复杂的推理任务时,就是使用这个技巧的时候。 这里应用了 Zero-shot chain-of-thought Prompting,详情请见5.1.4 Chain-of-Thought Prompting 经过作者的测试,即使我们使用的是中文,也可以直接在文末加上这句Let's think step by step,ChatGPT 的表现明显会更好。
例如