生成AIの回答を劇的によくするステップバックプロンプト・・・でも難しくない？

### ステップバックプロンプトとは
ステップバックプロンプトはGoogle Deep Mindが発表したCoT等よりも良いスコアが出るとされているプロンプト手法です。
https://arxiv.org/abs/2310.06117

スコアとして以下のようになっており、PaLM-2Lで
ステップバックプロンプトで質問したものとそうでないものを比較して、いずれの質問でも良いスコアとなる結果が出たとのことでした。
CoTではスコアが下がることもあったのでかなり優秀なプロンプトといえるでしょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666388/db396b26-fe55-7db2-8122-e1c14cc26e84.png)

### 具体的に
具体例として
```
心理的安全性が達成されているチームを作るための取り組みは？
```
と聞きたいとすれば、ステップバックプロンプトは
```
心理的安全性とは何を意味し、その構成要素は何ですか？
また、これらの要素を実際のチーム環境にどのように適用し、心理的安全性が高いチームを構築するために必要な取り組みは何ですか？
```
となります。

### ステップバックプロンプトを作成するには

「基本原則の特定」をさせてから、それを使って「元の聞きたかった推論」をさせる、といった形になります。

どのようなステップでこの質問を作るかというと

1. 本質的な質問の特定
最初に、「本当に聞きたい質問」の核となる内容や目的を明確に特定します。これは、問題の根本的な側面や解決すべき主要なポイントを理解することを意味します。
2. 基本原則や概念の抽出
その質問に関連する基本的な原則、理論、または概念を特定します。例えば、ビジネス、科学、数学、心理学などの分野における基礎的な理論やモデルを考えます。
3. 抽象化をプロンプトに組み込む
特定した基本原則や概念に基づいて、より抽象的な質問を形成します。このステップでは、具体的な問題解決へと進む前に、その背景にある理論や原則を探求する質問を考えます。
4. 具体的な適用へのブリッジング
抽象的な質問に続いて、それを具体的な問題やシナリオにどのように適用するかについての質問を組み込みます。ここでは、理論を実践に移す方法や、特定の状況においてその原則をどう活用するかを問います。

(ちなみにこのステップはChatGPTに作らせました)

ただ・・・これ作ること自体が結構ややこしいですよね・・・
慣れれば作れるようになるのですが。例えば職場で「ステップバックプロンプトはすごいんだからそれで作りなよ」といってすぐにお勧めできるかというと厳しい気がします。

### chatGPTに作らせる

・・・のでChatGPTに作らせちゃいましょう。

chatGPT Plusが必要になってしまうのですが

1. とりあえず先ほどの論文を読み込ませて、要約してと頼む
英語で回答してくると思いますが、この段階では英語のままで解釈させましょう。(英語の方が良い成績となるので。)
2. 「ステップバックプロンプトを作成するにあたってのアプローチと必要な要素をを教えて」と頼む
ステップバックプロンプトを作ってもらうために、ステップバックプロンプトをする形ですね。
3. 以降は「XXXXをステップバックプロンプトに直して」と言う

あとはこの部屋を残しておけば、ステップバックプロンプト作成部屋として機能します。

chatGPT Plusに契約していない場合の初期プロンプトに関しては、実験できていないのですがとりあえずchatGPTが論文を要約した以下を貼っておきますので試してみてください。
初期プロンプト何か良いものがありましたら是非教えていただけると助かります。
```
The paper "Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models" by Huaixiu Steven Zheng and others, explores a novel prompting technique called "Step-Back Prompting" for large language models (LLMs). This technique enhances the capability of LLMs to perform complex reasoning by abstracting high-level concepts and principles from specific instances, thereby guiding the reasoning process more effectively.

Key points from the paper include:

Step-Back Prompting: This is a simple prompting technique that encourages LLMs to first abstract high-level concepts or principles from a given problem before reasoning towards a solution. It involves two steps: abstraction and reasoning.

Experiments with PaLM-2L: The authors conducted experiments using the PaLM-2L model, showing substantial performance improvements in reasoning-intensive tasks such as STEM, Knowledge QA, and Multi-Hop Reasoning. For example, there were performance increases in MMLU Physics and Chemistry (7% and 11%, respectively), TimeQA (27%), and MuSiQue (7%).

Comparison with Baseline Methods: The paper compares the performance of Step-Back Prompting with other methods like Chain-of-Thought prompting and Take a Deep Breath prompting. Step-Back Prompting generally outperforms these methods across different tasks.

Error Analysis: The paper includes an analysis of errors made by Step-Back Prompting, categorizing them into different types like Principle Error, Factual Error, Math Error, Context Loss, and Reasoning Error. This helps in understanding the limitations and potential areas of improvement for the technique.

Discussion and Conclusion: The authors discuss the significance of abstraction in complex task solving and how Step-Back Prompting simplifies complex tasks into more manageable steps. They also highlight that while Step-Back Prompting reduces the complexity of tasks, reasoning remains a challenging aspect for LLMs.

The paper presents a promising approach to enhance the reasoning capabilities of large language models, demonstrating significant improvements in various complex tasks.
```

試行錯誤中ですので。ご意見や情報頂けると助かります。