公開日:2024年4月23日
寄稿者:Vrunda Gadesha、Eda Kavlakoglu
プロンプト・チェーンは、大規模言語モデル(LLM)を活用する自然言語処理(NLP)手法の1つであり、一連のプロンプトに従って目的の出力を生成します。このプロセスでは、一連のプロンプトがNLPモデルに提供され、望ましい応答が生成されるようにガイドされます。モデルはコンテキストとプロンプト間の関係を理解することを学習し、一貫性と整合性があり、コンテキストに沿ったリッチ・テキストを生成できるようになります[1]。
コンセプトは、プロンプト・エンジニアリングの事前実装です。テキスト生成の品質と制を向上させる能力があるため、NLPの分野で大きな注目を集めています。効果的なプロンプト・チェーンは、ゼロ・ショット、少数ショット、またはファイン・チューニングされたカスタマイズ・モデルなどの他のアプローチよりも優れたエンジニアリング手法として実装できます[2]。プロンプト・チェーンは、明確な方向性と構造を提供することで、モデルがユーザーの意図をよりよく理解し、より正確で関連性の高い応答を生成するのに役立ちます。
プロンプト・チェーンにより、さまざまな領域でAIアシスタンスの有効性を高めることができます。複雑なタスクを小さなプロンプトに分割し、それらを連結することで、開発者は個々のユーザーのニーズに合わせた、よりパーソナライズされた正確な応答を作成できます。このアプローチにより、全体的なユーザー・エクスペリエンスが向上するだけでなく、変化するユーザー要件やアプリケーション・シナリオに応じたカスタマイズと適応性も向上します[3]。
AIがカスタマー・サービスにとって優先事項である理由、責任あるAIを構築する方法、コンタクト・センターの最適化とカスタマー・エクスペリエンスの向上におけるAIの役割について説明しています。
生成AIに関するCEOのガイドのコピーをリクエストする
LLMを使用する際に生成されるプロンプトには、主に2つのタイプがあります。それらは以下のとおりです。
これは、モデルが応答する単一の指示または質問を含む基本的なプロンプトです。 これらは通常、会話を開始したり、情報をリクエストしたりするために使用されます。 単純なプロンプトの例は、「今日の天気は?」などです。
このプロンプトには、モデルが一連のアクションを実行したり、詳細な応答を提供したりすることを必要とする複数の指示や質問が含まれています。これらはたいてい、高度なタスクを実行したり、より深い会話を行ったりするために使用されます。複雑なプロンプトの例は、「ヴィーガン料理を提供し、午後10時まで営業しているレストランを探しています。おすすめのお店はありますか」などです。
複雑なプロンプトを一連の単純なプロンプトに変換すると、複雑なタスクをより小さなサブタスクに分割するのに役立ちます。このアプローチにより、ユーザーはリクエストを完了するために必要な手順を理解しやすくなり、エラーや誤解のリスクが軽減されます。
スペイン語による情報があるというシナリオを考えてみましょう。テキストから情報を抽出する必要がありますが、スペイン語がわかりません。まず、テキストをスペイン語から英語に翻訳する必要があります。次に、質問をして情報を抽出し、抽出した情報を英語からスペイン語に再度翻訳する必要があります。これは複雑なタスクであり、これらのステップを1つのプロンプトにまとめようとすると、複雑になりすぎて、応答においてエラーが増える可能性が高くなります。そのため、複雑なプロンプトを一連の単純なプロンプトに変換するのが最善です。これを行うための手順は次のとおりです。
この例での複雑なプロンプトは次のようなものです。「与えられたテキストをスペイン語として処理してください。それを英語に翻訳してください。このテキストで使用されているすべての統計とファクトを見つけて、箇条書きでリストしてください。結果をもう一度スペイン語に翻訳してください。」
この複雑なプロンプトを単純なプロンプトに変換するには、主な目標をいくつかの小さなアクションまたはタスクに分割し、以下のようなプロンプトのチェーンを作成します。
構造化プロンプト・チェーンは、事前に定義された一連のプロンプトまたは質問であり、特定の会話や一連のアクションを通じてユーザーをガイドし、情報の流れが整合性のある制御されたものとなるように設計されています[4]。カスタマー・サポート、チュートリアル、その他の対話システムにおいて、対話の明瞭性、正確性、効率性を維持するためによく使用されます。チェーン内のプロンプトは通常、相互にリンクされているため、システムは以前の応答に基づいて構築し、コンテキストを維持することができます。このアプローチは、曖昧さを減らし、ユーザーの満足度を向上させ、人間と機械のより効果的なコミュニケーションを可能にします。
まず、さまざまなシナリオに合わせてカスタマイズできる、事前に作成されたプロンプトのコレクションを収集します。これらのテンプレートは、ユーザーが遭遇する可能性のある一般的なタスク、リクエスト、質問をカバーする必要があります。
プロンプト・チェーンで伝える必要がある主要な質問や指示を特定します。これらのプロンプトは、単純、明確、直接的であるべきであり、個別のプロンプトとして独立できるものでなければなりません。
各プロンプトに対してユーザーが提供する必要がある特定の情報またはアクションを決定します。これらの入力は明確に定義され、理解しやすいものである必要があり、プロンプト・チェーン内の対応するプロンプトに関連している必要があります。
参照ライブラリとプライマリ・プロンプトを使用して、完全なプロンプト・チェーンを構築します。各プロンプトが次のプロンプトに論理的に関連していること、およびチェーン内の適切なポイントでユーザーに必要な入力を求めるプロンプトが表示されることを確認します。
プロンプト・チェーンの構築が完了したら、徹底的にテストして、理解しやすく、簡単に完了できることを確認します。テスト・ユーザーにプロンプト・チェーンを実施してもらい、改善すべき領域に関するフィードバックを収集します。
テスト中に受け取ったフィードバックに基づいて、プロンプト・チェーンに必要な調整や改善を加えます。これには、特定のプロンプトの書き換え、プロンプトの追加または削除、またはプロンプトが表示される順序の変更が含まれる場合があります。
ここまでの手順に従うことで、カスタマー・サービス担当者とプログラマーは、一連のアクションやタスクを通じてユーザーをガイドするのに役立つ効果的かつ効率的なプロンプト・チェーンを構築できます。
プロンプト・チェーンは、プロンプト・エンジニアリングで使用される従来の方法に比べていくつかの利点があります。一連のプロンプトを通じてモデルをガイドすることにより、プロンプト・チェーンはテキスト生成の一貫性と整合性を高め、より正確で価値のある出力を実現します。
プロンプト・チェーンにより、テキスト生成をより詳細に制御できるようになり、ユーザーは目的の出力を正確に指定できるようになります。これは、入力データが曖昧であったりノイズが多かったりする状況で特に有用であり、モデルに対して応答を生成する前に入力を明確にしたり絞り込んだりするよう求めることができます[6]。
テキスト要約システムでは、プロンプト・チェーンにより、ユーザーは生成される要約の詳細レベルと具体性を制御できます。例えば、ユーザーはまず、研究論文など、要約したいコンテンツを提供するように求められます。続くプロンプトでは、その要約を特定の書式やテンプレートでフォーマットするように求められます。
プロンプト・チェーンは、より適切なコンテキストとより焦点を絞った入力をモデルに提供することで、エラー率を減らすのに役立ちます。構造化プロンプト・チェーンは、人的労力を軽減し、コードと出力をより迅速に検証するのに役立ちます。入力をより小さく扱いやすいプロンプトに分割することで、モデルはユーザーの意図をより適正に理解し、より正確で関連性の高い応答を生成できます[7]。
機械翻訳システムでは、文を翻訳する前に、システムはまずユーザーにソース言語、ターゲット言語、関連するコンテキストや用語を指定するよう求めることがあります。これにより、モデルはソース・テキストをより適正に理解し、正確な翻訳を生成できます。
これらの利点を活用することで、プロンプト・チェーンには、カスタマー・サポートから効率化された編集や言語翻訳に至るまで、さまざまな用途においてNLPモデルのパフォーマンスと有効性を大幅に向上させる可能性があります。
プロンプト・チェーンは、幅広いユースケースに適用できる汎用性の高い手法で、主に質問への回答とマルチステップ・タスクの2つのカテゴリーに分類されます。
質問への回答タスクは、その名のとおり、人間から寄せられるよくある質問に対する回答を提供します。このモデルは、一般的にナレッジ・ベースにあるドキュメントのコンテキストに基づいて回答を自動化します。一般的な用途には、以下のようなものがあります。
予想できるとおり、マルチステップのタスクは、特定の目標を達成するための一連のステップで構成されています。これには、次のようなものがあります。
プロンプト・チェーンは、さまざまなリアルタイムの用途で使用できる強力な手法で、一連のアクションやタスクを通じてユーザーや専門家をガイドするのに役立ちます。複雑なタスクを一連の単純なプロンプトに分割することで、プロンプト・チェーンは、ユーザーと専門家がリクエストを完了するために必要な手順を確実に理解し、全体的なエクスペリエンスを向上させるのに役立ちます。カスタマー・サービス、プログラミング、教育のいずれで使用する場合でも、プロンプト・チェーンは複雑なプロセスを単純化し、効率と精度を向上させるのに役立ちます。
LLMを使用したアプリ開発に一般的に使用されるオープンソース・フレームワークであるLangChainについて説明します。
モデルを連結して一般的な質問への回答システムのシーケンスを生成する方法を学習します。
生成AIがどのようにビジネスを変革するのか、そして組織を将来に備える方法を学びましょう。
Llama 2を使ったプロンプト・エンジニアリングのベスト・プラクティス
Pengfei Liu、W. Y.(2021年)。『Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing』。ACM Computing Surveys。 | |
Gunwoo Yong, K. J.(2022年)。視覚言語の事前トレーニング済みモデルを使用したゼロ・ショットおよび少数ショットの欠陥検出と分類のための迅速なエンジニアリング。 | |
O. Marchenko、O. R.(2020年)。『Improving Text Generation Through Introducing Coherence Metrics』。『Cybernetics and Systems Analysis』。 | |
Zhifang Guo、Y. L.(2022年)。『PromptTTS: Controllable Text-To-Speech With Text Descriptions』。Zhifang Guo、Yichong Leng、Yihan Wu、Sheng Zhao、Xuejiao Tan。 | |
Jason Wei, X. W.(2022年)。『Chain of Thought Prompting Elicits Reasoning in Large Language Models』。 | |
Mero、J.(2018年)。『The effects of two-way communication and chat service usage on consumer attitudes in the e-commerce retailing sector』。『Electronic Markets』。 | |
Yu Cheng、J. C.(2023年)。『Prompt Sapper: A LLM-Empowered Production Tool for Building AI Chains』。『ACM Transactions on Software Engineering and Methodology』。 | |
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』。 | |
Shwetha Sridharan、D. S.(2021年)。『Adaptive learning management expert system with evolving knowledge base and enhanced learnability』。『Education and Information Technologies』。 | |
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』。 | |
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)。 | |
Cynthia A. Thompson、M. G.(2011年)。『A Personalized System for Conversational Recommendations』。『J. Artif. Intell. Res』。 | |
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)』。 | |
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』。 | |