すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:テキストからテキストへのプロンプトガイド

最終更新日:May 14, 2026

プロンプトとは、解決したい問題や完了したいタスクをモデルに明示的に伝えるために、大規模言語モデル (LLM) に入力するテキストのことです。これは、LLM がユーザーのニーズを理解し、関連性が高く正確な回答やコンテンツを生成するための基盤でもあります。LLM をより効率的に使用できるよう、このチュートリアルでは、プロンプトを設計・最適化するための一連の実践的なテクニックを提供します。

プロンプトの設計

明確かつ具体的なプロンプトの作成

同僚にタスクを割り当てる際、要件を 1 文だけで説明した場合を想像してください。タスクの結果は、期待とは大きく異なるものになる可能性があります。しかし、明確な目的、推奨する方向性、実行戦略などの参考情報をより多く提供すれば、高い水準でタスクを完了する可能性が高まります。

これは LLM を使用する場合も同様です。タスクの説明 (プロンプト) が明確で具体的なほど、LLM のパフォーマンスが期待に沿う可能性は高くなります。

説明

明確で具体的なプロンプトを作成することが、LLM の能力を最大限に活用するための最も重要なステップです。

曖昧なプロンプト

明確で具体的なプロンプト

自社の新製品を宣伝したいです。会社名は Bailian で、新製品名は Zephyr Z9 です。これは軽量な携帯電話です。Weibo の投稿を作成してください。

自社「Bailian」が新たに発売した軽量携帯電話「Zephyr Z9」の、目を引く Weibo 向けプロモーション投稿を作成してください。

コンテンツでは、超薄型デザイン、高性能構成、ユーザーの利便性など、Zephyr Z9 の独自のセールスポイントを強調しつつ、クリエイティブな要素を取り入れて、視聴者の関心とインタラクション意欲を高めてください。

Bailian ブランドの評判に言及し、視聴者の好奇心を喚起し、より多くの製品情報の確認や直接購入へと誘導してください。

投稿は簡潔でインパクトがあり、Weibo プラットフォームのスタイルと文字数制限に準拠し、ソーシャルメディアでの配信に適した内容にしてください。

あなたは明確な開発タスクを受け取ったシニア PHP プログラミングの専門家です。要件は: ${require} です。PHP 言語を使用して、この要件を実装するためのアルゴリズムまたは方法を詳細に説明するとともに、実装中に発生し得るエッジケースとエラー処理も考慮してください。また、効率的で安全なコードでこの要件を満たす方法も併せて説明してください。

経験豊富な PHP プログラミングの専門家として、具体的な開発タスクは: ${require} です。

専門知識を活用し、PHP を使用してこのタスクを実装するための効率的なアルゴリズムまたは方法論を、詳細に説明してください。

説明には、必ず次のポイントを含めてください:

- 必要な関数、クラス、データ構造の選定と設計を含む、具体的な実装ステップ。

- 境界条件分析: 想定されるエッジケースを特定して説明し、それらの状況を適切に処理する方法。

- エラー処理メカニズム: プログラムの安定性を確保するために、堅牢なエラー検出と例外処理ロジックをコードに実装する方法。

- セキュリティに関する考慮事項: 想定されるセキュリティ脅威と推奨される予防策を検討し、コード実行時のデータセキュリティとプライバシー保護を確保する方法。

- パフォーマンス最適化の提案: アルゴリズムの最適化、リソース管理、キャッシュ戦略などを含む、コードの実行効率を向上させる方法。

他の開発者がすばやく理解して実際のプロジェクトに適用できるように、技術的に正確であるだけでなく、明確で分かりやすい回答にしてください。

プロンプトフレームワークの使用

LLM に明確な背景と目的を体系的に提供するには、プロンプトフレームワークを使用してプロンプトを標準化することを推奨します。このフレームワークを使用すると、プロンプト構造を便利かつ迅速に設計できます。そのテンプレートは、LLM の出力の有効性と関連性に影響を与える様々な側面を完全に考慮しています。これにより、モデルのパフォーマンスが大幅に向上します。

image

次の要素が含まれます:

  • コンテキスト: タスクに密接に関連する背景情報です。これにより、LLM が特定のシナリオを理解し、生成されるレスポンスの関連性を高めます。

  • 目的: LLM に完了させたい特定のタスクを明確に述べます。明確で正確な指示により、LLM がタスクに集中し、出力の有効性が向上します。

  • スタイル: LLM に出力させたい文体を指定します。これは、特定の著名人のスタイル、特定の流派、または特定のタイプの専門家のスタイルなどです。

  • トーン: 出力コンテンツのトーンを定義します。たとえば、フォーマル、ユーモラス、温かい、思いやりのあるトーンなど、さまざまな使用シナリオや目的に合わせて指定します。

  • オーディエンス: コンテンツの対象読者層を明確に示します。専門家、初心者、子供など、対象者を指定することで、LLM が言語とコンテンツの深さを調整し、オーディエンスのニーズにより適切に対応できます。

  • レスポンス: 出力コンテンツの正確な形式を指定し、LLM が後続のアプリケーションのニーズを直接満たす結果を提供できるようにします。たとえば、リスト、JSON データ形式、専門的な分析レポートなどです。

プロンプトフレームワークなし

プロンプトフレームワークあり

プロンプト

私の会社の新製品を宣伝したいです。会社名は Bailian で、新製品名は Zephyr Z9、軽量なポータブルフォンです。簡潔かつインパクトのある Weibo の投稿を作成するのを手伝ってください。

#背景#

私の会社の新製品を宣伝したいです。会社名は Bailian で、製品名は Bailian Zephyr Z9、軽量なポータブルフォンです。

#目的#

人々が製品リンクをクリックして購入したくなるような、Weibo の投稿 (制限:500 ワード) を作成してください。

#スタイル#

同様の製品広告で成功している、Blackberry のような企業のライティングスタイルに従ってください。

#トーン#

説得力のある

#オーディエンス#

私の会社の Weibo のオーディエンスは、通常、若い世代です。デジタル製品が好きな人がすぐに投稿に気づくように、投稿をカスタマイズしてください。

#出力#

簡潔でインパクトのある Weibo の投稿。

出力

【未来を照らし、風雲を巻き起こす】

imageBailian の新製品、Zephyr Z9 が華々しく登場!image

imageZephyr Z9 と手を組み、テクノロジーと軽やかさを共に。これは単なる電話ではなく、世界を探索するためのあなたの軽量な相棒です。厚さは限界に挑戦し、デザインはファッションをリードします。Z9 を手にすれば、いつでもインスピレーションが湧き上がります。

image想像を超えるパフォーマンス、超高速プロセッサを搭載し、風のようにスムーズ。仕事のスパートでも、ゲームの遠征でも、Zephyr Z9 はあなたの最初の選択肢です。強力なバッテリー寿命が、あらゆる情熱を燃やし続けます!

image人生のあらゆる瞬間を捉え、Z9 カメラは革新的にアップグレード。夜景、ポートレート、広角、すべてのショットが表紙のような傑作に。美しい思い出を色褪せさせません。

軽量さを追求し、体験にフォーカス。#BailianZephyrZ9#、非凡のために生まれ、あなたのために。今すぐ未来を受け入れ、あなた自身の軽量テクノロジー時代を始めましょう!

公式サイト:[www.bailian.com/Z9] (実際の URL に置き換えてください)

#軽量フラッグシップ #新技術ファッション #手のひらの芸術品

image 【独占公開】Bailian Zephyr Z9、軽量界の破壊者がここに!

このペースの速い時代において、1 グラムの重量も自由への負担となります。Bailian はそれをよく理解し、究極の軽さとパワフルなパフォーマンスの完璧なバランスを求める人々のために生まれたスマートフォン、Zephyr Z9 を丹念に作り上げました!一度触れれば忘れられない、浮遊するような感覚!image

image 【超薄型デザイン、あなたの指先で】

Zephyr Z9 は、その驚異的なスリムボディで「軽量」を再定義します。わずか X.X mm の薄さで、ポケットにすっと収まり、日々の外出に最適なパートナーとなります。都会のジャングルを駆け抜けるあなたにとって、それを持つことは未来を携帯するようなものです!image

image 【トップ構成、パフォーマンスの野獣】

その軽さに惑わされてはいけません、そのコアは確かな実力です!最新の XXXX プロセッサを搭載し、その滑らかさは桁外れ。マルチタスキングでも大規模なゲームでも、Z9 は難なくこなし、常にあなたをテクノロジーの最前線に立たせます。image

image 【写真の達人、人生を記録】

XXMP の超高感度レンズを搭載し、夜間でもクリアな一枚を。AI インテリジェントシーン認識により、すべての写真が傑作に匹敵します。Zephyr Z9 で、すべての非凡な瞬間を記録し、あなたのソーシャルメディアフィードを際立たせましょう。image

image 【安心のバッテリー寿命、エネルギー満タン】

小さなサイズに、大きなエネルギー!Zephyr Z9 は高効率バッテリーを内蔵し、XXX 高速充電技術と組み合わせることで、少しの充電で、長く使えます。バッテリー不安にさよなら、あなたの創造性とインスピレーションはもはや制限されません。⚡

image 【期間限定特典、お見逃しなく】

リンクから購入した先着 100 名様には、特別なギフトパッケージをプレゼント!カスタマイズされた保護ケース、XXX メンバーシップ年間カードなど、多くの素晴らしいギフトが含まれています。特別なあなたのためだけにご用意しました!image

今すぐ行動し、Bailian Zephyr Z9 を世界を探索する新しいパートナーにしましょう!下のリンクをクリックして、新しい軽さの時代を始めましょう!image

image[今すぐ Bailian Zephyr Z9 を購入] [製品リンク]

#BailianZephyrZ9 #軽量フラッグシップ #技術美学 #デジタルトレンド #パフォーマンスの野獣

プロンプトフレームワークがない場合、LLM の出力は十分に機能するものの、一般的すぎ、必要な詳細や特定のグループへの訴求力に欠けます。プロンプトフレームワークを使用すると、一般的なプロンプトでは見落とされがちなスタイル、トーン、オーディエンスといった要件の他の側面を考慮するよう促されるだけでなく、LLM がより若い層をターゲットとし、より詳細で、より魅力的な言語表現で出力を生成するのにも役立ちます。

説明

実践では、多くの種類のプロンプトフレームワークがあります。タスク要件に基づいて、構造要素を追加または削除できます。また、このチュートリアルの以降の章では、このプロンプトフレームワークの柔軟な適用を確認できます。

プロンプトの最適化

ヒント 1:出力例の提示

プロンプトに期待する出力の例を含めることで、LLM は出力に求める基準、形式、概念、文法、トーンを「模倣」できます。同時に、例を提示すると、LLM の複数回にわたる出力結果の一貫性が高まり、モデルパフォーマンスの安定化につながります。

例なし

例あり

プロンプト

#バックグラウンド#

あなたはXiaohongshuの商品おすすめ投稿を書くのが得意で、絵文字をたくさん使うのが好きです。

#Purpose#

Johnson ヘアドライヤーを宣伝するXiaohongshuの商品おすすめ投稿を生成してください。ヘアドライヤーの特長は、小型、高いデザイン性、強い風力、速乾、髪を傷めないインテリジェント温度制御です。

#Audience#

ファッションを追求する若者、特に若い女性

#出力#

Xiaohongshuの記事フォーマットで、絵文字を多く含み、簡潔でありながら内容が充実していること

#バックグラウンド#

あなたはXiaohongshuの商品おすすめ投稿を書くのが得意で、絵文字をたくさん使うのが好きです。

#Purpose#

Johnson ヘアドライヤーを宣伝するXiaohongshuの商品おすすめ投稿を生成してください。ヘアドライヤーの特長は、小型、高いデザイン性、強い風力、速乾、髪を傷めないインテリジェント温度制御です。

#Audience#

ファッションを追求する若者、特に若い女性

#出力#

Xiaohongshuの記事フォーマットで、絵文字を多く含み、簡潔でありながら内容が充実していること

#Tone and Style#

  1. 自分で実際に試した + n個の良品 + どんな人に向いているか、どんな人が得をするか。このフォーミュラで言葉に説得力が出ます!例:奇跡の美白アイテムをいろいろ試して、ついに宝物を見つけました! たった 2 か月で肌がつるんとなめらかになって透明感が出て、雲の上にいるみたい〜。この方法は、自分の体験をアピールしたい人に特化しており、商品を的確におすすめしつつ、他の人の失敗も防げます!

  2. 問題の提示 + 理由の解明 + 究極の解決策。このフォーミュラで、分かりやすく整理された情報共有ができ、大きな価値を持つコンテンツが生まれます!事例:さらさら髪になりたい? いよいよ大公開! 実はずっと重要なステップが抜けていました。でも、これに出会ってから変わりました! このシャンプーに替えたら髪が明らかに良くなって、ツヤも出ました!この方法は論理的で、秘訣を共有するだけでなく、読者が問題の解決策を見つけるよう導くことができます。

  3. 独自の見解 + 深掘り分析 + 気の利いたおすすめ。このフォーミュラで、考えを自然に表現しながら、温かく商品をおすすめできます!例:私は、すべての女の子が本当に好きなものを持つべきだと思います。それが人生を素敵にしてくれます。日記が私の小さな幸せになりました。ペンを取るたびに幸福度が上がります!自由に語りつつ、さりげなくお気に入りを伝えられる、ウィンウィンの戦略です!

  4. 個人体験 + 結果の提示。このフォーミュラで、感情表現が生き生きとして心を打ちます!シナリオ:海辺の夏の夜の蚊の大発生を思い出すと、全身が赤いブツブツだらけになって絶望したものです。でも、救世主に出会ってから変わりました! 今ではつるつるの肌でスカートをくるりと回せて、自信が戻りました!ストーリーが生き生きとして、喜びと感謝を共有でき、心に響きます!

出力

タイトル:image Johnson コンパクト魔法の風、速乾とヘアケアの新定番 image

本文:

やあみんな!今日は美容界のキラ星を紹介するよ image - Johnson ヘアドライヤー!これはただのツールじゃなくて、持ち運べるヘアサロンみたいなもの image

image コンパクトサイズ、旅行の必需品 image

まず、このミニサイズが私の心に直撃!旅行カバンがパンパンでも、すっと入って場所を取らない。いつでもどこでもスタイリングできるよ image

image 高いデザイン性、ストリートで映える image

このデザイン、もはやアート作品!ミニマルなホワイトでも上品なピンクでも、持ってるだけで街で一番クール!スマホ? いいえ、これは私の新しいファッション小物 image image

image 強い風力、速乾の魔法 image

小さいからって侮らないで!風力は本物。朝のバタバタでも、Johnson なら 5 分でヘアセット完了、効率 MAX! image

image 速乾とヘアケアを両立 image

インテリジェント温度制御が髪質に合わせて最適な熱に自動調整し、髪 1 本 1 本をやさしくケア。強い風で素早く乾かしながらも熱ダメージを防ぎ、なめらかでツヤのある髪を実現します。毎日のドライがサロン級の体験に〜 image

imageインテリジェントな温度制御、思いやりの選択 image

風量だけでなく温度もあなたの髪質を理解して最適な温度に自動調整し、髪の健康を守るので、長期間使用してもダメージの心配がありません。image

まとめると、Johnson ヘアドライヤーは手放せない可愛い相棒!今すぐショッピングカートに入れて、美しさに磨きをかけよう! image

#JohnsonHairDryer #BeautyExpert #QuickHairCareSecrets

友達をタグ付けして、この軽快さと効率を一緒に体感してもらおう! image

自分をケアするのは「頭」から。Johnson と一緒に、自信の輝きを放とう! image

image ヘアドライヤーもヘアファッションアイテムになれる?Johnson の小さいのにパワフルな一台が、その答えを教えてくれます! image

image 私が image Johnson ヘアドライヤー image を使い始めてから、旅行バッグが軽くなった image だけでなく、毎回のドライが楽しい時間になりました image!数回使っただけで、友達から「髪質が一段と良く見える、まるでサロン帰りみたい」と褒められました image。短い旅行や寮生活の完璧な相棒です!効率的なヘアケアを求めるみんなにおすすめ〜 image

image 毎回 30 分以上かかる、濡れたロングヘアの滝にうんざり? image 大丈夫、Johnson のインテリジェント温度制御におまかせ image!髪 1 本 1 本を素早く乾かし、風力が強くても髪を傷めません。その秘訣は、温度を賢く調整して熱ダメージから髪を守れる点にあります image。これからは、素早く支度するのも夢じゃない!

image 私はいつも、良いスタイリングツールは美意識の表れだと思っています image。この高いデザイン性の Johnson ヘアドライヤーは、ただのツールではなく、ドレッサーの上のアート作品 image。髪を乾かすたびに、スタイリングが特別な儀式のように感じられます。こんな小さな贅沢で自分を甘やかしてみませんか。だって、素敵な 1 日は頭から始まるんだから! image

image あのときの急なディナーのお誘いを覚えていますか image。ジムを慌てて出たら、髪は汗でびしょびしょ。焦っていたところ、Johnson ヘアドライヤーが緊急救助に来てくれました!濡れて乱れた髪をさっと整えて、会場に入ったときには自信満々 image、まるで高級サロンの施術を受けた直後みたい。コンパクトなのにパワフルなこの美容ツールのおかげで、私の美しさは、もう時間に縛られません! image

さあ、ヘアドライヤー界の、ファッショナブルで小さいのにパワフルなこの一台をショッピングカートに追加して! image 風のような女性になろう。上品で効率的で、毎日頭から輝こう! image

#JohnsonHairDryer #HighAestheticBeautyTool #IntelligentHairCareNewExperience #QuickDryingNoDamage #FashionEssential

前述の比較では、LLM が例を学習して、それに基づいて推奨投稿を作成します。

ヒント 2:タスクの手順の指定

多くの複雑なタスクでは、LLM にタスクの完了方法を改めて指示することが不可欠です。

数学の問題を解くためのタスクステップ提示

数学の問題:

日曜日、太郎は祖父母の家まで歩いています。太郎は午前 8:00 ちょうどに歩き始めます。太郎の速度は 1 分あたり 50メートルです。12 分後、父親は太郎が宿題を忘れたことに気付き、自転車で追いつくことにしました。父親の速度は 1 分あたり 200メートルです。父親が太郎に追いついたら、残りの道のりは太郎を自転車に乗せていくことにしました。太郎が自転車で移動する距離は、歩いた距離の 5 倍です。太郎と父親は何時に祖父母の家に到着しますか? (答えは 8:36 です。)

プロンプト (#Task Steps# を追加して、タスクの完了方法を LLM に示します):

#Background#
It's Sunday again, and Timmy is going to his grandparents' house as usual. Timmy sets off on foot at 8:00 AM. Timmy walks at a speed of 50 meters per minute.
After walking for 12 minutes, Timmy's father discovers that Timmy forgot to bring his homework, so he rides a bicycle to catch up with Timmy. Timmy's father rides at a speed of 200 meters per minute.
After catching up with Timmy, his father decides to take Timmy on the bicycle. The distance Timmy travels by bicycle is 5 times the distance he walks.
#Purpose#
What time does Timmy arrive at his grandparents' house?
#Task Steps#
1. First calculate the time and distance Timmy has moved when his father catches up with him.
2. Then calculate the remaining distance to his grandparents' house and the time needed.
3. Finally calculate the time Timmy arrives at his grandparents' house.

出力 (LLM がプロンプトからタスクステップを明確に取得し、指定された手順に基づいて正しい結果を生成しました):

To answer this question, we first need to solve it step by step based on the given information.

Step 1: Calculate the time and distance Timmy has moved when his father catches up with him
Timmy walks at a speed of 50 meters per minute.
When his father sets off (i.e., after Timmy has walked for 12 minutes), Timmy has already walked 12×50=600 meters.
From this moment, Timmy continues to move forward at a speed of 50 meters per minute, while his father chases at a speed of 200 meters per minute.
Let's say it takes t minutes from when Timmy's father starts chasing until he catches up with Timmy, then we have the equation: [200t = 50t + 600] (the left side is the father's total distance, the right side is the distance Timmy walks in the same time plus the initial 600-meter lead)
Solving this equation: [150t = 600] [t = 4] minutes. This means it took the father 4 minutes to catch up with Timmy.
In these 4 minutes, Timmy walked another 4×50=200 meters.
Therefore, when his father caught up with him, Timmy had walked a total of 600+200=800 meters.
Step 2: Calculate the remaining distance to his grandparents' house and the time needed
According to the problem, "the distance Timmy travels by bicycle is 5 times the distance he walks", which can be understood as the distance from where the father caught up with Timmy to the grandparents' house is 5 times the previous walking distance (800 meters), i.e., 800×5=4000 meters.
Since they are now traveling by bicycle at a speed of 200 meters per minute, the time needed to reach the grandparents' house is 4000/200=20 minutes.
Step 3: Finally calculate the time Timmy arrives at his grandparents' house
Timmy set off at 8:00 AM.
By the time his father caught up with him, a total of 12+4=16 minutes had passed.
Adding the 20 minutes needed to cycle to the grandparents' house, the total time taken is 16+20=36 minutes.
Therefore, Timmy will arrive at his grandparents' house 36 minutes after setting off, which is 8:00+36 minutes = 8:36 AM.

ヒント 3:区切り文字によるユニットの区別

複雑なプロンプトを構築する際は、特定のセパレーターを使用して異なるコンテンツユニットを定義します。これにより、LLM がプロンプトを正しく解析する能力を大幅に向上させることができます。タスクの複雑さが増すにつれて、セパレーターの適切な使用がより重要になります。

区切り文字には、自然言語テキストでは稀な固有の文字の組み合わせを使用します。たとえば、###===>>> などです。これらの特殊な記号シーケンスには固定のルールはありません。重要なのは、識別性が高く、モデルがこれらの記号をテキスト内の通常の句読点や文法要素ではなく、コンテンツ領域の境界マーカーとして明確に区別できることです。

セパレーターなし

セパレーターあり

プロンプト

以下の映画レビューを簡潔に要約してください。

かつて活気に満ちエネルギッシュだった張志強は、生活のプレッシャーの下で本来の人生の軌道から逸れ、中年で「脱線」しました。衝動的な決断により、彼は一瞬にして家族の「小さな誇り」から社会の「周辺人物」へと変わりました。しかし、彼はこれが中年期の人生の旅の始まりに過ぎないとは予想していませんでした。一連の予期せぬ出来事が突然の嵐のように訪れ、彼は自分自身と向き合うことを余儀なくされました。生活の重荷が本当に肩にのしかかったとき、彼は配達員になることを選び、再出発しました。張志強は、街の路地を横断し、道中で志を同じくする仲間に出会いました。共に過ごす時間の中で、彼は人間関係の温かさと冷たさを深く経験し、この困難な「リバースパス」で失われた勇気と信念を徐々に見つけ、人生の新たな方向性を見出しました。

以下の映画レビューを簡潔に要約してください。

###

かつて活気に満ちエネルギッシュだった張志強は、生活のプレッシャーの下で本来の人生の軌道から逸れ、中年で「脱線」しました。衝動的な決断により、彼は一瞬にして家族の「小さな誇り」から社会の「周辺人物」へと変わりました。

###

しかし、彼はこれが中年期の人生の旅の始まりに過ぎないとは予想していませんでした。一連の予期せぬ出来事が突然の嵐のように訪れ、彼は自分自身と向き合うことを余儀なくされました。

生活の重荷が本当に肩にのしかかったとき、彼は配達員になることを選び、再出発しました。張志強は、街の路地を横断し、道中で志を同じくする仲間に出会いました。

###

共に過ごす時間の中で、彼は人間関係の温かさと冷たさを深く経験し、この困難な「リバースパス」で失われた勇気と信念を徐々に見つけ、人生の新たな方向性を見出しました。

###

出力

この映画は中年の危機を描いた物語で、主人公の張志強は生活のプレッシャーにより通常の人生の軌道から逸れます。一連の課題を経験した後、彼は配達員になり、新しい友人の助けを借りて勇気と信念を取り戻し、人生の新しい方向性を見つけます。この映画は、逆境における成長と自己救済を描いています。

主人公の張志強は中年期に生活の困難に直面し、衝動的な決断により社会的地位が急落します。

その後、数多くの課題に直面し、配達員のジョブを引き受けて再出発し、その過程で同僚と深い友情を築き、困難を通じて勇気と信念を取り戻します。

最後に、困難と課題の中で、彼は人生の新しい意味と方向性を見つけます。

セパレーターによる出力では、顕著な改善が見られます。LLM は 3 つの段落間の論理的な関係を理解しただけでなく、セパレーターも正しく識別し、区切られた段落に基づいて関連性の高い 3 つの要約を生成しました。

ヒント 4:モデルに「思考」させる

論理的推論と文脈学習を伴う複雑なタスクでは、シンプルなプロンプトテクニックではタスク要件を満たせない場合があります。しかし、モデルに推論プロセスを生成させるか、複雑なタスクを分解してステップバイステップで推論することで、モデルが結果を生成する前により多くの推論のエビデンスを生成できるようになります。

ここではまず、比較的簡単に使用でき、複雑なシナリオにおける大規模言語モデルの推論を大幅に向上させる手法として、思考の連鎖 (COT) を紹介します。

タスクの目的:複雑な JSON 構造の解析

#背景#
JSON 入力:
{"web-app": {
  "servlet": [   
    {
      "servlet-name": "cofaxEmail",
      "servlet-class": "org.cofax.cds.EmailServlet",
      "init-param": {
      "mailHost": "mail1",
      "mailHostOverride": "mail2"}},
    {
      "servlet-name": "cofaxTools",
      "servlet-class": "org.cofax.cms.CofaxToolsServlet",
      "init-param": {
        "templatePath": "toolstemplates/",
        "log": 1,
        "logLocation": "/usr/local/tomcat/logs/CofaxTools.log",
        "logMaxSize": ""}}],
  "servlet-mapping": {
    "cofaxEmail": "/cofaxutil/aemail/*",
    "cofaxTools": "/tools/*"},
 
  "taglib": {
    "taglib-uri": "cofax.tld",
    "taglib-location": "/WEB-INF/tlds/cofax.tld"}}}

#目的#
この JSON に基づいて、以下の要件を完全に満たしているかどうかを判断します。
1. 各サーブレットに「init-param」があるかどうか
2. 「servlet-mapping」内のすべての要素が「servlet」内で一致しているかどうか
3. cofaxTools サーブレットに「log」で始まるパラメーターが 3 つあり、「log」パラメーターが 10 未満であるかどうか

CoT なし

CoT あり

# 出力 #
すべての要件が満たされている場合は、「Requirements met」のみを出力し、そうでない場合は「Requirements not met」のみを出力します。
# 出力 #
まず、各要件の思考プロセスを出力します。
すべての要件が満たされている場合は、「Requirements met」を出力し、そうでない場合は「Requirements not met」を出力します。

Requirements not met

まず、指定された JSON データをステップバイステップで分析し、記載の全要件を満たすかどうかを判断します。

思考プロセス

  1. 各サーブレットに初期化パラメーターがあるかどうかの確認

    • cofaxEmail サーブレットには、「mailHost」と「mailHostOverride」を含む init-param があります。

    • cofaxTools サーブレットにも、「templatePath」、「log」、「logLocation」、「logMaxSize」を含む init-param があります。

    結論:各サーブレットには init-param があり、要件 1 を満たしています。

  2. サーブレットマッピングの全要素が servlet 内で一致するかの確認

    • servlet-mapping には cofaxEmailcofaxTools の 2 つの要素があります。

    • servlet の定義にも、cofaxEmailcofaxTools という 2 つのサーブレット名が定義されています。

    結論servlet-mapping のすべての要素は servlet 内に存在するため、要件 2 を満たしています。

  3. cofaxTools サーブレットに「log」で始まるパラメーターが 3 つあること、および「log」パラメーターが 10 未満であることの確認

    • cofaxTools サーブレットの init-param 内で、「log」で始まるパラメーターは、「log」(値 1)、「logLocation」(値「/usr/local/tomcat/logs/CofaxTools.log」)、そして理論的には「logMaxSize」です (その値は空ですが、この問題では値の内容よりもプレフィックスが重視されているようです)。

    • このうち、「log」の値は 1 で、これは 10 未満です。

    結論:「logMaxSize」が「log」で始まる有効なパラメーターとしてカウントされるかについては曖昧さがあるかもしれませんが (実際の値がないため)、最も直接的な解釈に基づけば、「log」で始まるパラメーターが少なくとも 3 つあるという条件を満たし、明示的に指定された「log」パラメーターの値が 1 で 10 未満であると見なせます。したがって、「logMaxSize」の扱いは特定の状況によって異なる可能性がありますが、一般的には要件 3 を満たしています。

出力

上記の分析に基づくと、「logMaxSize」の扱いに関して解釈の余地があるかもしれませんが、主要な条件は基本的に満たされています。したがって、「logMaxSize」に厳密な要件がない場合 (例えば、10 未満の有効な値を持つことを要求しない場合)、全体として 要件は満たされている と見なせます。「logMaxSize」に特定の値の要件がある場合は、決定を下す前にさらに明確化する必要があります。しかし、標準的な解釈では、答えは「Requirements met」となります。

思考の連鎖 (CoT) に加えて、LLM に「思考」させるための実践的なメソッドには、プロンプトチェイニングもあります。プロンプトチェイニングでは、複数ラウンドの会話を通じて「思考」の方向性を導き、設計した「思考」のパスに沿って、LLM が単純なタスクから始めて段階的に複雑な推論を完了できるようになります。

プロンプトチェイニングは、思考の連鎖と比較して構築がより複雑ですが、パフォーマンスに優れ、精度も高いです。特に、論理的に複雑でありながら固定のパターンに従って分解できるタスクに適しています。

プロンプトチェイニングの例

数学の問題:

また日曜日になり、太郎はいつものように祖父母の家に行きます。太郎は午前 8:00 に徒歩で出発します。太郎は分速 50 メートルの速度で歩きます。12 分間歩いた後、太郎の父親は太郎が宿題を忘れたことに気づき、自転車で太郎に追いつきます。太郎の父親は分速 200 メートルの速度で自転車に乗ります。太郎に追いついた後、父親は太郎を自転車に乗せることにします。太郎が自転車で移動する距離は、歩く距離の 5 倍です。太郎と父親が祖父母の家に到着するのは何時ですか? (太郎が祖父母の家に到着するのは午前 8:36 です)

入力 1 (数学の問題 + 最初の簡単な質問):

#背景#
また日曜日になり、太郎はいつものように祖父母の家に行きます。太郎は午前 8:00 に徒歩で出発します。太郎は分速 50 メートルの速度で歩きます。
12 分間歩いた後、太郎の父親は太郎が宿題を忘れたことに気づき、自転車で太郎に追いつきます。太郎の父親は分速 200 メートルの速度で自転車に乗ります。
太郎に追いついた後、父親は太郎を自転車に乗せることにします。太郎が自転車で移動する距離は、歩く距離の 5 倍です。

#目的#
太郎が父親に追いつかれるのは何時で、その時点でどれだけの距離を歩いていますか?

出力 1 (LLM の最初の簡単な質問への回答):

まず、父親が太郎に追いつく前に太郎がどれだけ歩いたかを計算しましょう。
太郎の速度は分速 50 メートルで、12 分間歩いたので、すでに歩いた距離は次のようになります:
50 メートル/分 × 12 分 = 600 メートル
次に、父親が追いかけ始めたときの太郎と父親の相対速度を計算しましょう。父親の自転車の速度は分速 200 メートルで、太郎は分速 50 メートルで歩き続けます。したがって、父親の太郎に対する相対速度は次のようになります:
200 メートル/分 - 50 メートル/分 = 150 メートル/分
太郎に追いつくために、父親は、太郎が先に歩いた 600 メートル分を追いつく必要があります。相対速度が分速 150 メートルであるため、父親が太郎に追いつくのにかかる時間は次のようになります:
600 メートル / 150 メートル/分 = 4 分
これは、父親が追いかけ始めてから 4 分後に太郎に追いついたことを意味します。合計時間は、太郎がすでに歩いていた 12 分と父親が追いかけた 4 分を足して 16 分になります。
では、追いつかれたときに太郎がどれだけ歩いたかを計算しましょう。太郎は最初の 12 分で 600 メートル歩き、父親が追いかけ始めてからの 4 分間で、太郎はさらに歩きました:
50 メートル/分 × 4 分 = 200 メートル
したがって、太郎が歩いた合計距離は次のようになります:
600 メートル + 200 メートル = 800 メートル
結論として、太郎は午前 8:16 に父親に追いつかれ、その時点までに 800 メートル歩いています。

入力 2 (2 つ目の質問、徐々に深掘り):

#目的#
祖父母の家に到着するために、太郎は自転車でさらにどれくらい移動する必要がありますか?

出力 2 (LLM の 2 つ目の質問への回答):

問題の記述によると、太郎が自転車で移動する距離は、歩いた距離の 5 倍です。父親に追いつかれたとき、太郎は 800 メートル歩いているので、自転車で移動する距離は次のようになります:
800 メートル × 5 = 4000 メートル

入力 3 (最終的な複雑な質問):

#目的#
太郎が祖父母の家に到着するのは何時ですか?

出力 3 (前の質問に基づいた正解):

太郎が祖父母の家に到着する時刻を計算するには、まず、迎えられた後に太郎が自転車で移動するのにかかる時間を求める必要があります。
太郎が自転車で移動する総距離は 4000 メートルで、父親の自転車の速度は分速 200 メートルです。したがって、太郎が自転車で移動するのにかかる時間は次のようになります:
4000 メートル / 200 メートル/分 = 20 分
太郎は出発してから父親に追いつかれるまですでに 16 分かかっており (つまり、8:00 に出発し、8:16 に追いつかれた)、さらに自転車で移動した 20 分を加えて、合計時間は次のようになります:
16 分 + 20 分 = 36 分
したがって、太郎は午前 8:00 に出発してから 36 分後に祖父母の家に到着します。これは次のようになります:
午前 8:00 + 36 分 = 午前 8:36
したがって、太郎は午前 8:36 に祖父母の家に到着します。

LLM の「思考」をガイドする他のメソッドには、Tree of Thoughts (ToT) や Boosting of Thoughts などがあります。

プロンプトのテストとイテレーション

最適なプロンプトを生成するには、さまざまな手法で試行錯誤を重ねる反復的なプロセスが求められます。プロンプトエンジニアリングの最適化プロセス全体は、以下の通りです。

image

また、綿密に設計されたプロンプトに加え、ユーザーフィードバックや修正も重要な要素です。プロンプトの最適化が完了した後でも、モデルがユーザーニーズをより深く理解し、それに応えるためには、オンライン環境で継続的にフィードバックを受け取り、それに応じて調整する必要があります。

最適化事例: AI アシスタントによる多国籍企業向け多言語コンテンツの出力

背景:ユーザーから、Qwen-Turbo が英語の質問に対して英語で回答しないことがある、との報告がありました。

最適化のポイント:

  1. 最適化前のプロンプト構造は比較的緩く、## Limitations セクションは冗長でした。そのため、このチュートリアルのプロンプトフレームワークを使用して再フォーマットし、## Limitations セクションの内容を適切な箇所に分割して配置しました。

  2. ${documents} セクションは長文のため、文中に配置するのは適切ではありません。重要なコンテンツブロックとして、区切り文字を使用して分離する必要があります。

Before optimization

After optimization

# Role

You are an efficient HR AI assistant, specifically responsible for answering company internal questions about policies, attendance systems, annual leave arrangements, and other related issues. You have the ability to quickly and accurately parse company policy documents and provide clear and concise explanations to colleagues.

## Skills

### Skill 1: Policy Interpretation

- **Task**: Accurately interpret company policy documents and provide clear, concise policy explanations to colleagues.

- Quickly locate relevant policy clauses and answer specific policy implementation details.

- Ensure that the explanations are easy to understand and comply with the company's official regulations.

### Skill 2: Attendance Q&A

- Answer all questions related to employee attendance, including clock-in rules, handling of late arrivals and early departures, leave procedures, etc.

- Provide specific attendance operation guidelines and suggestions for handling special situations.

### Skill 3: Annual Leave Management Consultation

- Explain in detail the annual leave application conditions, accumulation rules, validity period, and approval process.

- Assist in calculating employee annual leave balance and provide vacation planning suggestions.

## Tools and Resources

- **Knowledge Base Access**: Directly parse company policy documents and related regulations in ${documents} to ensure the authority and timeliness of answers.

- If the question is in English, please use your understanding of its Chinese meaning to search the knowledge base, and then respond in English (please note that punctuation marks in the response should be in English format! Especially character U+2019 "'", please replace it with "'" ).

## Limitations

- Responses must only use standard ASCII character set, do not use Chinese quotation marks, full-width commas, or other full-width punctuation marks!!!

- Respond in the same language as the user's question, for example, if the user uses Chinese, answer in Chinese; if the user uses English, answer in English.

- Limited to answering questions within the scope of company policies, attendance systems, annual leave, and other human resource management areas.

- Do not involve queries of personal privacy data, protect employee information security.

- When encountering questions not covered or unclear in the knowledge base, guide the inquirer to contact the Human Resources Department for further assistance.

#Background#

You are an efficient HR AI assistant for a multinational company, specifically responsible for answering company internal questions about policy interpretation, attendance Q&A, and annual leave management consultation. You have the ability to quickly and accurately parse company policy documents. Below are the company policy documents:

======

${documents}

======

#Purpose#

  1. User questions are limited to the three categories of company policy interpretation, attendance Q&A, and annual leave management consultation.

  2. When questions are within scope but not covered or unclear in the knowledge base, guide users to contact the Human Resources Department for further assistance.

  3. Answer the three types of questions according to the following requirements:

    1. Policy interpretation

      1. Accurately interpret company policy documents and provide clear, concise policy explanations to users.

      2. Quickly locate relevant policy clauses and answer specific policy implementation details.

      3. Ensure that the explanations are easy to understand and comply with the company's official regulations.

    2. Attendance Q&A

      - Answer all questions related to employee attendance, including clock-in rules, handling of late arrivals and early departures, leave procedures, etc.

      - Provide specific attendance operation guidelines and suggestions for handling special situations.

    3. Annual leave management consultation

      - Explain in detail the annual leave application conditions, accumulation rules, validity period, and approval process.

      - Assist in calculating employee annual leave balance and provide vacation planning suggestions.

  4. Do not involve queries of personal privacy data, protect employee information security.

#Multilingual requirements#

- If the question is not in Chinese, translate the question into Chinese to search the knowledge base.

- The content retrieved from the knowledge base should also be converted to the language of the question when outputting.

#Outputs#

1. Only use standard ASCII character set for output responses.

2. The language of the output content should be the same as the language of user input.

最適化事例:会話からの多次元分析結果の抽出と JSON の出力

カスタマーサービス品質検査や販売分析などのビジネスシナリオでは、会話から多次元の分析結果を抽出し、下流システムの処理のために構造化 JSON フォーマットで出力する必要がよくあります。以下の事例では、適切に設計されたプロンプトを通じてこれを実現する方法を示します。

適用された最適化手法:

  1. タスク指示:連想的な記述ではなく、直接的な指示を用いてモデルに何をすべきかを明確に伝えることで、必要な解釈の層を減らします。

  2. 応答フォーマット:モデルが厳密に構造化されたフォーマットで出力するように JSON フォーマットのテンプレートを指定することで、ハルシネーションを効果的に削減します。

  3. 制約:「精度を優先する」、「原文を変更しない」など、モデルに対する明確な要件と制限を記述することで、モデルの挙動をさらに制約します。

  4. 出力例:フォーマット要件を満たすサンプルデータを提供します。これは、モデルのハルシネーションを防ぐ最も効果的な方法です。

最適化前

最適化後

この電話販売の会話から、コミュニケーションギャップ、重要な情報、顧客の懸念事項、ニーズの緊急性、取引成立に影響する要因、顧客満足度といった点を分析してください。

(ユーザーの会話内容)

タスクの指示:ユーザーが提供した会話内容に基づき、最後にある質問に回答してください。各回答では、まず直接的な回答を述べ、次にその根拠を列挙します。複雑な質問については、会話内容に基づいて要点に分けて回答してください。

レスポンスフォーマット:回答を以下の JSON フォーマットで整理してください:

[
 {"question": "Question 1", "answer": ["Answer", "Evidence 1", "Evidence 2"]},
 {"question": "Question 2", "answer": ["Answer", "Evidence 1", "Evidence 2"]}
]

制約:

1. ユーザーが提供したすべての情報を注意深く読み、理解してください。

2. ユーザーが提示した個別の質問を明確に特定してください。

3. 出力する JSON フォーマットが正しいことを確認してください。最後に JSON の内容のみを出力してください。

4. 精度を優先してください。根拠を列挙する際は、原文を変更しないでください。

例: (フォーマットに準拠したサンプルデータを提供してください)

(ユーザーの会話内容 + 質問リスト)

最適化されていないプロンプトでは、モデルがフォーマットに一貫性のない自由形式のテキストで分析結果を出力する可能性があり、下流システムによる解析が困難になります。最適化されたプロンプトは、タスク指示 + フォーマットテンプレート + 制約 + 例を組み合わせることで、モデルがすべての質問を正確に識別し、標準化された JSON フォーマットで出力できるようにし、各回答が元のテキストからの根拠によって裏付けられるため、自動処理と品質追跡が容易になります。

説明

モデルに構造化データを出力させる必要がある場合、明確なフォーマットのテンプレートと、そのフォーマットに準拠したサンプルデータを提供することが最も効果的な最適化アプローチです。また、「精度を優先する」や「原文を変更しない」などの制約となる指示を使用することで、モデルのハルシネーションを効果的に削減できます。