ホーム Topics プロンプト・チェーン プロンプト・チェーンとは
watsonx.aiを使用したプロンプト・チェーンの詳細を見る AI関連の最新情報の購読を申し込む
プロンプト・チェーンのアイソメ図

公開日:2024年4月23日
寄稿者:Vrunda Gadesha、Eda Kavlakoglu

プロンプト・チェーンは、大規模言語モデル(LLM)を活用する自然言語処理(NLP)手法の1つであり、一連のプロンプトに従って目的の出力を生成します。このプロセスでは、一連のプロンプトがNLPモデルに提供され、望ましい応答が生成されるようにガイドされます。モデルはコンテキストとプロンプト間の関係を理解することを学習し、一貫性と整合性があり、コンテキストに沿ったリッチ・テキストを生成できるようになります[1]

コンセプトは、プロンプト・エンジニアリングの事前実装です。テキスト生成の品質と制を向上させる能力があるため、NLPの分野で大きな注目を集めています。効果的なプロンプト・チェーンは、ゼロ・ショット少数ショット、またはファイン・チューニングされたカスタマイズ・モデルなどの他のアプローチよりも優れたエンジニアリング手法として実装できます[2]。プロンプト・チェーンは、明確な方向性と構造を提供することで、モデルがユーザーの意図をよりよく理解し、より正確で関連性の高い応答を生成するのに役立ちます。

プロンプト・チェーンにより、さまざまな領域でAIアシスタンスの有効性を高めることができます。複雑なタスクを小さなプロンプトに分割し、それらを連結することで、開発者は個々のユーザーのニーズに合わせた、よりパーソナライズされた正確な応答を作成できます。このアプローチにより、全体的なユーザー・エクスペリエンスが向上するだけでなく、変化するユーザー要件やアプリケーション・シナリオに応じたカスタマイズと適応性も向上します[3]

IBM AIアシスタントの詳細を見る
AIによるカスタマー・サービスの変革:包括的なガイド

AIがカスタマー・サービスにとって優先事項である理由、責任あるAIを構築する方法、コンタクト・センターの最適化とカスタマー・エクスペリエンスの向上におけるAIの役割について説明しています。

関連コンテンツ

生成AIに関するCEOのガイドのコピーをリクエストする

プロンプトの種類

LLMを使用する際に生成されるプロンプトには、主に2つのタイプがあります。それらは以下のとおりです。

単純なプロンプト

これは、モデルが応答する単一の指示または質問を含む基本的なプロンプトです。 これらは通常、会話を開始したり、情報をリクエストしたりするために使用されます。 単純なプロンプトの例は、「今日の天気は?」などです。

 

複雑なプロンプト

このプロンプトには、モデルが一連のアクションを実行したり、詳細な応答を提供したりすることを必要とする複数の指示や質問が含まれています。これらはたいてい、高度なタスクを実行したり、より深い会話を行ったりするために使用されます。複雑なプロンプトの例は、「ヴィーガン料理を提供し、午後10時まで営業しているレストランを探しています。おすすめのお店はありますか」などです。

複雑なプロンプトを単純化する方法

複雑なプロンプトを一連の単純なプロンプトに変換すると、複雑なタスクをより小さなサブタスクに分割するのに役立ちます。このアプローチにより、ユーザーはリクエストを完了するために必要な手順を理解しやすくなり、エラーや誤解のリスクが軽減されます。

例:言語翻訳

スペイン語による情報があるというシナリオを考えてみましょう。テキストから情報を抽出する必要がありますが、スペイン語がわかりません。まず、テキストをスペイン語から英語に翻訳する必要があります。次に、質問をして情報を抽出し、抽出した情報を英語からスペイン語に再度翻訳する必要があります。これは複雑なタスクであり、これらのステップを1つのプロンプトにまとめようとすると、複雑になりすぎて、応答においてエラーが増える可能性が高くなります。そのため、複雑なプロンプトを一連の単純なプロンプトに変換するのが最善です。これを行うための手順は次のとおりです。

  1. プロンプトの主な目標または目的を特定します。
  2. メインの目標をいくつかのサブタスク、つまり個別度の高いアクションやタスクに分解します。
  3. 個別のアクションまたはタスクごとにプロンプトを作成します。
  4. 各プロンプトは明確、簡潔、曖昧さのないものにします。
  5. プロンプトをテストして、理解しやすく包括的なものであることを確認します。

この例での複雑なプロンプトは次のようなものです。「与えられたテキストをスペイン語として処理してください。それを英語に翻訳してください。このテキストで使用されているすべての統計とファクトを見つけて、箇条書きでリストしてください。結果をもう一度スペイン語に翻訳してください。」

この複雑なプロンプトを単純なプロンプトに変換するには、主な目標をいくつかの小さなアクションまたはタスクに分割し、以下のようなプロンプトのチェーンを作成します。

  1. 「与えられたスペイン語のテキストを読んでください。」
  2. 「テキストを英語に翻訳してください。」
  3. 「テキストから統計とファクトを取り出してください。」
  4. 「取り出したすべてのファクトの箇条書きリストを作成してください。」
  5. 「それをスペイン語に翻訳してください。」
プロンプト・チェーンを構築する方法

構造化プロンプト・チェーンは、事前に定義された一連のプロンプトまたは質問であり、特定の会話や一連のアクションを通じてユーザーをガイドし、情報の流れが整合性のある制御されたものとなるように設計されています[4]。カスタマー・サポート、チュートリアル、その他の対話システムにおいて、対話の明瞭性、正確性、効率性を維持するためによく使用されます。チェーン内のプロンプトは通常、相互にリンクされているため、システムは以前の応答に基づいて構築し、コンテキストを維持することができます。このアプローチは、曖昧さを減らし、ユーザーの満足度を向上させ、人間と機械のより効果的なコミュニケーションを可能にします。

さまざまなフレーバーのプロンプト・テンプレートを使用して参照ライブラリを構築する

まず、さまざまなシナリオに合わせてカスタマイズできる、事前に作成されたプロンプトのコレクションを収集します。これらのテンプレートは、ユーザーが遭遇する可能性のある一般的なタスク、リクエスト、質問をカバーする必要があります。

主要なプロンプトを定義する

プロンプト・チェーンで伝える必要がある主要な質問や指示を特定します。これらのプロンプトは、単純、明確、直接的であるべきであり、個別のプロンプトとして独立できるものでなければなりません。

一連のプロンプトの入力と出力を特定する

各プロンプトに対してユーザーが提供する必要がある特定の情報またはアクションを決定します。これらの入力は明確に定義され、理解しやすいものである必要があり、プロンプト・チェーン内の対応するプロンプトに関連している必要があります。

プロンプト・チェーン全体を実装する

参照ライブラリとプライマリ・プロンプトを使用して、完全なプロンプト・チェーンを構築します。各プロンプトが次のプロンプトに論理的に関連していること、およびチェーン内の適切なポイントでユーザーに必要な入力を求めるプロンプトが表示されることを確認します。

プロンプト・チェーンをテストする

プロンプト・チェーンの構築が完了したら、徹底的にテストして、理解しやすく、簡単に完了できることを確認します。テスト・ユーザーにプロンプト・チェーンを実施してもらい、改善すべき領域に関するフィードバックを収集します。

プロンプト・チェーンを反復して改良する

テスト中に受け取ったフィードバックに基づいて、プロンプト・チェーンに必要な調整や改善を加えます。これには、特定のプロンプトの書き換え、プロンプトの追加または削除、またはプロンプトが表示される順序の変更が含まれる場合があります。

ここまでの手順に従うことで、カスタマー・サービス担当者とプログラマーは、一連のアクションやタスクを通じてユーザーをガイドするのに役立つ効果的かつ効率的なプロンプト・チェーンを構築できます。

プロンプト・チェーンの利点

プロンプト・チェーンは、プロンプト・エンジニアリングで使用される従来の方法に比べていくつかの利点があります。一連のプロンプトを通じてモデルをガイドすることにより、プロンプト・チェーンはテキスト生成の一貫性と整合性を高め、より正確で価値のある出力を実現します。

一貫性

モデルが一連のプロンプトに従うように要求することにより、プロンプト・チェーンはテキスト生成における整合性を維持するのに役立ちます。これは、カスタマー・サポートや編集者の役割など、整合性のあるトーン、スタイル、またはフォーマットを維持することが非常に重要な用途では特に重要です[5]

カスタマー・サポートでは、プロンプト・チェーンを使用してユーザーとの整合性のあるコミュニケーションを確保できます。例えば、ボットは、ユーザーに対する呼びかけでユーザーの好みの名前を使用したり、会話全体を通じて特定の声の調子に従うように求められたりする場合があります。

watsonx Assistantを使用してカスタマー・サービスAIアシスタントを構築する
コントロールの強化

プロンプト・チェーンにより、テキスト生成をより詳細に制御できるようになり、ユーザーは目的の出力を正確に指定できるようになります。これは、入力データが曖昧であったりノイズが多かったりする状況で特に有用であり、モデルに対して応答を生成する前に入力を明確にしたり絞り込んだりするよう求めることができます[6]

テキスト要約システムでは、プロンプト・チェーンにより、ユーザーは生成される要約の詳細レベルと具体性を制御できます。例えば、ユーザーはまず、研究論文など、要約したいコンテンツを提供するように求められます。続くプロンプトでは、その要約を特定の書式やテンプレートでフォーマットするように求められます。

watsonx.aiを使用してテキスト要約タスクを実行する方法をご覧ください(2:19)
エラー率の低減

プロンプト・チェーンは、より適切なコンテキストとより焦点を絞った入力をモデルに提供することで、エラー率を減らすのに役立ちます。構造化プロンプト・チェーンは、人的労力を軽減し、コードと出力をより迅速に検証するのに役立ちます。入力をより小さく扱いやすいプロンプトに分割することで、モデルはユーザーの意図をより適正に理解し、より正確で関連性の高い応答を生成できます[7]

機械翻訳システムでは、文を翻訳する前に、システムはまずユーザーにソース言語、ターゲット言語、関連するコンテキストや用語を指定するよう求めることがあります。これにより、モデルはソース・テキストをより適正に理解し、正確な翻訳を生成できます。

これらの利点を活用することで、プロンプト・チェーンには、カスタマー・サポートから効率化された編集や言語翻訳に至るまで、さまざまな用途においてNLPモデルのパフォーマンスと有効性を大幅に向上させる可能性があります。

プロンプト・チェーンのユースケース

プロンプト・チェーンは、幅広いユースケースに適用できる汎用性の高い手法で、主に質問への回答とマルチステップ・タスクの2つのカテゴリーに分類されます。

 

質問への回答

質問への回答タスクは、その名のとおり、人間から寄せられるよくある質問に対する回答を提供します。このモデルは、一般的にナレッジ・ベースにあるドキュメントのコンテキストに基づいて回答を自動化します。一般的な用途には、以下のようなものがあります。

  • カスタマー・サービス/サポート:プロンプト・チェーンは、ユーザーが企業のナレッジ・ベースに対してクエリを実行して最も関連性の高い回答を見つけるのに役立ち、ユーザー・エクスペリエンスと効率性を向上させます[8]
  • 教育プラットフォーム:インストラクターは、生徒の学習の進捗状況に基づいて質問を促すことで、インタラクティブな学習体験を作り出すことができ、パーソナライズされた適応型学習が可能になります[9]
  • 研究支援:研究者は、プロンプト・チェーンを使用して関連文献の検索と分析のプロセスを自動化し、時間とリソースを節約することができます[3][10]
マルチステップのタスク

予想できるとおり、マルチステップのタスクは、特定の目標を達成するための一連のステップで構成されています。これには、次のようなものがあります。

  • コンテンツ作成:プロンプト・チェーンは、トピックの調査、アウトラインの作成、記事の執筆、コンテンツの検証、編集など、コンテンツ作成プロセスのさまざまな段階を効率化できます[11][12]
  • プログラミング開発:プロンプト・チェーンは、基本的なロジックから始めて、疑似コードに進み、最終的には特定の言語で特定のコードを実装するという一連のステップを通じて開発者をガイドし、コードの検証も保証します[3][13]
  • パーソナライズされた推奨事項:このユースケースはさまざまな業界に適用でき、プロンプト・チェーンは、ユーザーの好み、行動、履歴データに基づいて推奨事項を調整するのに役立ちます[14]

プロンプト・チェーンは、さまざまなリアルタイムの用途で使用できる強力な手法で、一連のアクションやタスクを通じてユーザーや専門家をガイドするのに役立ちます。複雑なタスクを一連の単純なプロンプトに分割することで、プロンプト・チェーンは、ユーザーと専門家がリクエストを完了するために必要な手順を確実に理解し、全体的なエクスペリエンスを向上させるのに役立ちます。カスタマー・サービス、プログラミング、教育のいずれで使用する場合でも、プロンプト・チェーンは複雑なプロセスを単純化し、効率と精度を向上させるのに役立ちます。

参考情報 LangChainとは

LLMを使用したアプリ開発に一般的に使用されるオープンソース・フレームワークであるLangChainについて説明します。

watsonxとLangChainを使用して言語モデルへの一連の呼び出しを行う

モデルを連結して一般的な質問への回答システムのシーケンスを生成する方法を学習します。

生成AIおよび基盤モデルの概要とそれらが重要な理由

生成AIがどのようにビジネスを変革するのか、そして組織を将来に備える方法を学びましょう。

プロンプト・エンジニアリングLlama 2向けのシステムと指示プロンプトの開発

Llama 2を使ったプロンプト・エンジニアリングのベスト・プラクティス

次のステップ

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、デプロイしましょう。わずかなデータとわずかな時間でAIアプリケーションを構築します。

watsonx.aiの詳細はこちら デモの予約
脚注

[1]

Pengfei Liu、W. Y.(2021年)。『Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing』。ACM Computing Surveys。

[2]

Gunwoo Yong, K. J.(2022年)。視覚言語の事前トレーニング済みモデルを使用したゼロ・ショットおよび少数ショットの欠陥検出と分類のための迅速なエンジニアリング。

[3]

O. Marchenko、O. R.(2020年)。『Improving Text Generation Through Introducing Coherence Metrics』。『Cybernetics and Systems Analysis』。

[4]

Zhifang Guo、Y. L.(2022年)。『PromptTTS: Controllable Text-To-Speech With Text Descriptions』。Zhifang Guo、Yichong Leng、Yihan Wu、Sheng Zhao、Xuejiao Tan

[5]

Jason Wei, X. W.(2022年)。『Chain of Thought Prompting Elicits Reasoning in Large Language Models』。

[6]

Mero、J.(2018年)。『The effects of two-way communication and chat service usage on consumer attitudes in the e-commerce retailing sector』。『Electronic Markets』。

[7]

Yu Cheng、J. C.(2023年)。『Prompt Sapper: A LLM-Empowered Production Tool for Building AI Chains』。『ACM Transactions on Software Engineering and Methodology』。

[8]

Tongshuang Sherry Wu、E. J.(2022年)。『PromptChainer: Chaining Large Language Model Prompts through Visual Programming』。『CHI Conference on Human Factors in Computing Systems Extended Abstracts』。

[9]

Shwetha Sridharan、D. S.(2021年)。『Adaptive learning management expert system with evolving knowledge base and enhanced learnability』。『Education and Information Technologies』。

[10]

Boshi Wang、X. D.(2022年)。『Iteratively Prompt Pre-trained Language Models for Chain of Thought』。『Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing』。

[11]

M. Rice、K. M.(2018年)。『Evaluating an augmented remote assistance platform to support industrial applications』。IEEE 4th World Forum on Internet of Things (WF-IoT)

[12]

Cynthia A. Thompson、M. G.(2011年)。『A Personalized System for Conversational Recommendations』。『J. Artif. Intell. Res』。

[13]

Qing Huang、J. Z.(2023年)。『PCR-Chain: Partial Code Reuse Assisted by Hierarchical Chaining of Prompts on Frozen Copilot』。『IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)』。

[14]

Yafeng Gu、Y. S.(2023年)。『APICom: Automatic API Completion via Prompt Learning and Adversarial Training-based Data Augmentatio』。『Proceedings of the 14th Asia-Pacific Symposium on Internetware』。