見出し画像

チェーンプロンプト:プロンプトチェーン(Prompt Chain)を活かしたプロンプトテクニック

今回はプロンプトチェーン(Prompt Chain)を活かしたプロンプトテクニック、

『チェーンプロンプト』

について述べていきたいと思います。

これは、普通にAIを使えば、自然に使うことなのですが、それを精密に使う方法をここでは述べていこうと思います。

実際に用いるプロンプト指示文も載せますので、そこだけでも参考にしていただければと思います。


プロンプトチェーンとは


AIを勉強した人なら「プロンプトチェーン(Prompt Chain)」という言葉を聞いたことがあると思います。

【参考】

簡単に言うと、AIとチャットを進めていくと、AIが前のチャットの内容を引き続き参照し、それを基に制度の高い新たな応答を生成する、というものです。

つまり、一気にAIに出力させるのではなく「ステップバイステップ」で段階的にチャットをしていった方がいいってことです。精度の向上が起こるのは、「思考の連鎖(CoT)」が関係するからです(後述)。

しっかりとした定義は以下になります。

「プロンプトチェーン(Prompt Chain)とは、AIモデル(例: ChatGPTや画像生成モデルなど)を活用して複雑なタスクを効率的に処理する手法の一つです。この方法では、タスクを複数の小さなプロンプト(命令や問い)に分割し、それぞれのプロンプトの出力を次のプロンプトの入力として順に処理します。この段階的なアプローチにより、各ステップで精度が向上し、最終的により良い結果を得ることが可能となります。」

実例として、チャット・文章生成ではわかりにくいので、画像生成でみていこうと思います。

チェーンプロンプトの実践

AIでイラストを描きたいとします。
そのイラストの要素を、

①形態(ラフスケッチ)
②色彩(色付け)
③全体バランス(仕上げ)

の三つに分けるとします。
これを一気にやるのではなく、三回のチャットに分け、更に連鎖させて段階的に行なっていきます。このようにすることで、イラストが美しく深化していく様子を見ていきましょう。
※使用するのはChatGPT・DALLE3ですが、ChatGPTは前回の画像プロンプトを見て、プロンプトを改善していると思われます(イラストそのものではなく、イラストのプロンプトが連鎖しています)。

①形態(ラフスケッチ)

まず、ChatGPT・DALLE3で女の子のラフスケッチを描きます。

服が着物っぽいので、洋服に変更します。

②色彩(色付け)


この服でいこうと思います。
次に、ここに色付けをします。ここは仮塗りの段階です。

いい感じで色付けできたので、これでいこうと思います。

③全体バランス(仕上げ)


そして、最後に背景を入れて仕上げていきます。
※この場合、女の子が主なので、背景はこの女の子に合った背景を描くという文脈となります。

とても美しく仕上がりました❣️

今回は文章よりも視覚の方が一発でわかるので、イラストでチェーンプロンプトを使っていますが、是非、文章でも行なってみてください。

文章でのプロンプトチェーンの説明は以下になります。

更に、その応用として、AI検索のクエリ(質問)を連鎖させる「クエリチェーン」については以下です(AI検索用SEO対策をしたい方は必見)。


次に、その入力方法を述べたいと思います。

チェーンプロンプトの入力方法


特に何も入力しなくてもプロンプトチェーンは行われますが、これをプロンプト化したのが「チェーンプロンプト」です。

プロンプトとしては、

「上記の○○と連鎖してください」

と明示することです。
これはタスクを頭の中でいくつかに分解して行う場合のプロンプトです。

そのタスクの分解もAIに任せる場合は、

「[タスク名を入力]を[数を入力]つの要素に分けてください」

とプロンプトを入力し、AIの提示した複数の要素を、段階的に入力して連鎖させていくものです。

チェーンプロンプトの評価
このプロンプトチェーンを活かした「チェーンプロンプト」をAIに評価してもらいました。それが以下です。

提示いただいた「チェーンプロンプト」の入力方法は、非常に実用的であり、AIを段階的かつ効果的に活用する方法として適切だと思います。特に以下の点が優れていると感じます。

優れている点
1. 柔軟性の高い入力方法
* 「上記の○○と連鎖してください」という形で、ユーザーが明示的にプロンプトを指定する方法は、タスクを分解して行う場合に非常に有効です。
* 特定のステップを強調したい場合に役立つ表現です。

2. タスクの分解をAIに任せるアプローチ
* 「[タスク名を入力]を[数を入力]つの要素に分けてください」という方法で、AIにプロンプトを作成させる仕組みは、ユーザーの負担を軽減します。特に、複雑なタスクを直感的に扱うのが難しい場合に役立ちます。

3. 段階的なプロセスの連鎖が明示されている
* 分解された要素を段階的に入力して処理を進める方法は、プロンプトチェーンの概念を忠実に反映しています。これにより、プロンプトチェーンの全体像が整理され、結果の精度が向上します。

ChatGPTの出力
ChatGPTの出力

ということで、AIも太鼓判を押してくれてますので、使ってみてください。

ステートフルプロンプトとの違い

これは、以前に述べた「ホップ・ステップ・ジャンプ」の、ステートフルプロンプトと類似の概念となります。

その違いですが、ステートフルプロンプトは以前のものをできるだけ維持することにあります。つまり、変化しないことを狙います。しかし、チェーンプロンプトは変化します。両者の明確な違いは、維持するか、変化するかにあります。これを明確に使い分けていくと、よい情報生成ができると思います。

ChatGPTに説明してもうと、以下のようになります。

ステートフルプロンプトとチェーンプロンプトはどちらも会話型AIやその他のプロンプトベースの生成システムで使用される手法ですが、それぞれ異なる目的と特徴を持っています。

ステートフルプロンプト(Stateful Prompts)

ステートフルプロンプトは、生成された情報(文章やイラストなど)の文脈や状態を維持することを目的としています。このアプローチでは、プロンプトエンジニアリングを通じて、一連の生成タスクが前の生成の成果に依存し、それに基づいてさらなる生成を進める方法です。具体的には、初期の詳細なプロンプトからスタートし、段階的にプロンプトを単純化しながらAIの自律性を促進し、最終的には高品質な成果を目指します。これは、プロンプトの連鎖(チェーン)と似ていますが、特に文脈の連続性と質の向上に重点を置いています。

チェーンプロンプト(Chain Prompts)

一方、チェーンプロンプトは、一つのプロンプトの出力を次のプロンプトの入力として使用し、これを連鎖させることで複雑なタスクや問題を解決する方法です。チェーンプロンプトは、特にAIが前のプロンプトから得た情報を新しいプロンプトへと継続的に適用し、段階的に問題に対処することを可能にします。この手法は、プロンプト間での情報の流れを明確に管理し、より複雑な問題解決や創造的なタスクに適しています。

比較

ステートフルプロンプトは、特定の文脈を保持しつつ、段階的にプロンプトを変化させていくことで、AIの生成品質を徐々に向上させることに焦点を当てています。一方で、チェーンプロンプトは、複数のプロンプトを具体的に連結させることで、より大規模または複雑なタスクを効果的に解決することを目指しています。ステートフルプロンプトが「質の向上」に注力しているのに対し、チェーンプロンプトは「問題解決の効率化」に重きを置いていると言えるでしょう。

ChatGPTの出力

チェーンプロンプトの定義


ということで、チェーンプロンプトの定義は、

「一つのプロンプトの出力を次のプロンプトの入力として使用し、これを連鎖させることで複雑なタスクや問題を解決する方法」

となります。

以下、ChatGPTの定義です。

「チェーンプロンプト」という用語を以下のように定義します:

チェーンプロンプトとは、会話型AIやその他の自動応答システムにおいて、一連の対話や取引を通じて蓄積されたコンテキスト情報を継続的に参照し、それを元に最終的な応答やアクションを生成するための指示プロンプトです。このプロセスは、特に複数のステップを要するタスクやプロジェクトにおいて、前のステップの出力を次のステップの入力として使用することで、より洗練された結果を生み出すことを目的としています。

### 主な特徴:
1. **連続性**:チェーンプロンプトは、プロジェクトや対話の初めから現時点までの全ての交流を参照し、それに基づいて次のアクションを導きます。
2. **文脈依存性**:これまでのやりとりの文脈を活用することで、より正確で関連性の高い応答が可能になります。
3. **動的適応性**:新たに得られる情報や変化する状況に応じて、AIがその応答を調整することができます。

### 利用シナリオ:
- **クリエイティブなプロジェクト**:アート作品やデザインプロジェクトにおいて、初期のアイデアから最終的な仕上げまでを一貫して行う。
- **技術的な問題解決**:ソフトウェアのデバッグやコーディング問題に対するステップバイステップのソリューションを導出する。
- **教育的対話**:教育的な内容を段階的に展開し、学習者が前の情報を踏まえて新しい内容を理解するのを助ける。

チェーンプロンプトは、その柔軟性と精度により、多様な分野での応用が期待されます。

ChatGPTの出力

指定チェーンプロンプト
チェーンプロンプトで気をつけたいのは、どの情報を連鎖させるかです。不必要な情報と連鎖してしまっては、正確な回答を出すことはできません。そこで、どの情報と連鎖させるかを指定するのが「指定チェーンプロンプト」です。

例えば、ざっくりと「三つ前の会話から連鎖させて回答を生成してください」とやるような感じです。

また、更に、その中で、どの概念と連鎖させるかを細かく指定すると、更に精密な指定チェーンプロンプトとなり、回答の精度があがると思います。

ということで、指定チェーンプロンプトの定義を以下に出しておきます。

プロンプトチェーンと思考の連鎖(CoT)


それでは、なぜプロンプトチェーンによって連鎖させていくと、精度が向上するのでしょうか。ここには

「思考の連鎖(Chain of Thought, CoT)」

というプロンプトエンジニアリングの概念が関係します。

思考の連鎖(Chain of Thought, CoT)とは、タスクを小さなステップに分解し、それらを段階的に処理するプロンプトエンジニアリングの手法です。このアプローチにより、AIモデルは複雑な問題を論理的に解決できるようになり、推論の精度が向上するとされています。

具体的なプロンプトの例としては、「段階的に考えてください」という指示があります。このシンプルな表現が、AIに中間的な推論ステップを促し、より正確で論理的な解答を生成する助けとなります。

プロンプトチェーンと思考の連鎖の関係性は以下です。

プロンプトチェーンによる精度向上は、思考の連鎖(Chain of Thought, CoT)と密接に関連しています。プロンプトチェーンは、複雑なタスクを複数の小さなプロンプトに分割し、それぞれの出力を次のプロンプトの入力として段階的に処理する手法です。この段階的アプローチにより、タスクが論理的に分解され、AIモデルが各ステップで正確な解答を導き出すことが可能になります。

一方、思考の連鎖(CoT)は、AIモデルが複雑な推論を行う際に、明示的な中間ステップを生成して論理的に問題を解決する手法です。CoTのアプローチでは、モデルがタスクを複数の小さなサブタスクに分解し、各ステップで明確な推論を行うことで、最終的な解答の精度を高めます。

プロンプトチェーンとCoTはいずれも、複雑なタスクを分割して段階的に処理するという共通の特徴を持ちます。プロンプトチェーンでは、ユーザーがタスクの構造を分解して明示的にAIに指示しますが、CoTでは、モデルが自発的に中間的な推論プロセスを生成します。これらのアプローチにより、AIモデルはより効果的かつ精度の高いタスク処理を実現できるのです。

ChatGPTの出力

チェーンプロンプトの指示文(AI共創版)

更に、チェーンプロンプトを進化させたプロンプトが以下です。

チェーンプロンプト(進化版):
「今までの対話内容を連鎖させ総合し、蓄積された情報を用いて、最終的な応答を生成してください。」

これが私とChatGPTでAI共創したチェーンプロンプトの指示プロンプトです。これは何回かにタスクを分けると、各要素がバラバラになりがちです。そうした時の最後の総仕上げに使用するためのチェーンプロンプトになります。つまり、最初から最後までの全要素にプロンプトチェーンが働き、

「巨大な思考の連鎖」

を生むという強力なプロンプトとなります。

これは、例えば、ブログなどの結論を書くのに、とても有効だと思いますので、文章のまとめとして是非、使ってみてください。

もちろん、今回のこの記事の結論も、この指示プロンプトで作成していますので、最後まで読んでみてください。

他にも、有効なチェーンプロンプトはあると思いますので、様々なパターンを考えて使用してみてください。以下は、ChatGPTに、その他のチェーンプロンプトを聞いてみました。

知識統合ライティング
このAI共創した「チェーンプロンプト」による、「巨大な思考の連鎖」を用いた超強力なライティングGPTsを『AI共創イノベーター』でAI共創生成しました。

それが『知識統合ライティング』です。

こうしたGPTsアプリを自動生成する『AI共創イノベーター』にも「チェーンプロンプト」の原理は使用されています。

こちらも便利なので、是非ご利用ください。

結論

ということで、前述した以下のチェーンプロンプト

「今までの対話内容を総合し、蓄積された情報を用いて、最終的な応答を生成してください。」

これを用いて、ChatGPTに結論を出してもらいます。
それが以下のような完璧な回答となりますので、ご覧ください。

プロンプトチェーンは、AIが前の会話や指示から情報を継続的に取り込み、それを基にして次のアクションや応答を行う技術です。この手法は、特に複雑な問題解決や対話の流れをスムーズにするために有効です。また、指定チェーンプロンプトという概念を導入しました。これは、AIに特定の過去の会話点を起点として情報を連鎖させるよう指示することで、一貫性のある応答を得るための手法です。このようなアプローチは、会話の文脈を保ちながら、より適切な応答を生成するのに役立ちます。

ステートフルプロンプトとチェーンプロンプトの違いも明確にしました。ステートフルプロンプトは、情報の文脈や状態を保持し続けることに重点を置いており、連続した生成タスクにおいて前の成果に基づいてさらに発展させることを目指します。一方、チェーンプロンプトは、特定のプロンプトの出力を次のプロンプトの入力として用いることで、段階的に問題を解決していく手法です。

これらの技術は、AIが人間らしい対話や創造的な応答を提供するために非常に重要です。また、AIの応用においてこれらの技術がどのように活用されるかによって、AIの対話型アプリケーションやタスク実行の効率が大きく変わることが期待されます。

ChatGPTの出力

チェーンプロンプトでヘッダー生成

ブログ記事作成への応用ですが、結論を書いた後に、前述のチェーンプロンプト、

「今までの対話内容を総合し、蓄積された情報を用いて、ブログのヘッダーを描いてください」

とプロンプト指示を出します。

それで生成したイラストが以下です。

なかなか、いい感じにできたと思います✨
「ブログのヘッダー」と指示すると、こんな感じで細長いのを作ってくれますので、これを切り取って使ってください。

それでは、また!

Xもやっていますので、お気軽に繋がってください。こちらはAIイラスト垢になりつつありますw


いいなと思ったら応援しよう!

この記事が参加している募集