抽象的目的不是为了模糊,而是为了创造一个新的语义层次,在这个层次上人们可以绝对精确。—— Edsger W. Dijkstra
SBP(Step-Back Prompting) 是一种大模型提示词技术, 它通过对原始问题进行抽象,推导出高级概念和基本原理, 从而得到更加准确的答案。 SBP 由Google DeepMind团队的 Zheng Huaixiu 等人于 2023 年10月在 《Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models》一文中提出, 在 RAG 应用中可用于对Query的改写来提升 RAG生成结果的准确性。
SBP 将原始问题提炼为一个“回退问题”(stepback question),并使用“回退答案”(stepback answer)来生成最终答案。它包含两个步骤:
抽象
: SBP不直接回答原始问题, 可以通过LLM生成一个包含高级概念和基本原理的、更抽象和通用的回退问题。推理
: 基于回退问题的相关事实或者答案(或RAG中检索到的相关文档), 推理出原始问题的答案。这一步也称为基于抽象的推理(Abstraction-grounded Reasoning)
下图展示了 SBP 的工作流程, 并和直接输出的原始答案以及CoT (Chain-of-Thought) 的输出进行了对比。
在包括 STEM, Knowledge QA, Multi-Hop Reasoning 多个类型的任务的对比实验上, Step-Back Prompting的效果均大幅优于CoT。