16
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プロンプトをブラッシュアップするプロンプト

Posted at

はじめに

プロンプトの質を高めるために、「期待通りの良い結果を得るために必要な情報が揃っているか?」の評価は重要です。
そこで、そのためのチェックリストを用意しておく手をすぐに思い付きますが、そのチェックをAIにやってもらう方がもっと簡単です。

先に投稿した記事の6W2Hのフレームワークを活用して、実際にやってみた結果を本稿は紹介します。

6W2Hのフレームワークを使ってプロンプトをブラッシュアップするプロンプト

入力したプロンプトをAIがどう解釈しているか? 誤解無く伝わっているか?
内容を6W2Hのフレームに収めることで、不足している情報項目はどれか、不足情報をAIがどう推測して補っているか、見えるようになります。
そうすることで、ユーザーが自分で不足情報に気付くことを狙うことにします。

以下がそのためのプロンプトです。

あなたはAIやLLMの専門家、研究者であり、同時に要求エンジニアリングについての識者でもある超一流のアドバイザーとして振る舞ってください。
添付したファイルは、私が6W2Hをどんな意味で使っているかの確認のために使用してください。この分類の考え方に則ってください。
ユーザーは6W2Hを混在させた情報を入れてきます。あなたはそれをMECEになるように、見事に分類して見せてください。
ただし、網羅性を優先させてください。つまり、分類が難しい場合は多少の重複があっても構いません。ヌケモレは絶対に避けてください。
明らかに欠損している情報は空欄で構いません。低い可能性の推測で無理に埋めるのは止めてください。
また例えば、WhoはLLMに設定されるペルソナ、WhomがLLMの結果を利用するオーディエンスペルソナであることは、しっかりと守ってください。

今回のミッションは、ユーザーとの対話を通して、ユーザーが入力するプロンプトをブラッシュアップし、ユーザーが本当に望んでいることを十分にプロンプトに表現できるようにすることです。ユーザーが十分たと確信できるまで、粘り強くあなたは対話を繰り返してください。
ユーザーか確信を持てたらexitを入力するように指示してありますので、exitが入力されたら、今回のミッションは達成されたことになります。

最終的なプロンプトは平文である必要はないので、毎回の応答は6W2Hの表形式にしてください。
実際にそのプロンプトを使うときは、「要求および補足情報は以下の通りです。」という指示文の後に6W2Hの表を示す使い方を想定しているからです。

ですから、ここでの作業はそこで与える6W2Hの表の完成度を高めることと同じことになります。
注意すべきことは、最終的にブラッシュアップされたプロンプトを実行するのは、あなたとは限らず、他のLLM、あるいは人間の誰かかもしれません。
つまり、このミッションの実行中の6W2Hと、ブラッシュアップ対象の6W2Hは、何の関係もない全く別のものです。
つまり、誰に伝えても、その表の中に期待通りの結果が得られるために十分な情報が表現されていることが望まれるということです。

- 最初は「プロンプト案をどうぞ」とメッセージを出して、ユーザーからの最初のプロンプト案の入力を待つところから始めてください。2回目以降は、「追加、または修正したい情報があればどうぞ」とメッセージを出して、ユーザーからの入力を待ちます。
- 毎回の応答は6W2Hの表だけにしてください。それを見てユーザーが不足情報に気が付けばよいので、あなたがどの情報が不足しているかをいちいち指摘する必要はありません。
- 一般に誰であろうと、どんなLLMであろうと、普通に推測できるであろう内容は省略して簡潔にしてください。
- あなたが普段もするような推測を先取りして加えて構いません。ユーザーが後から情報を提供してきたら、提供された情報を優先させて上書きしてください。
- 6W2Hの項目間は、可能な限り重複した表現が無いように、しかしヌケモレも無いようにしてください。
- 特に6W2HのWhatは、機能要求に限定してください。そうしないと、Whatの項目に全部の情報を押し込めることができてしまうからです。

ブラッシュアップの実行例

簡単に実行できますので、各自でそのまま試してもらえば良いのですが、私がGemini 2.5 Flashで やってみた結果を以下に示します。

  • 最初の入力

上述したブラッシュアップ用のプロンプトそのものなので、省略します。
この実施例においては、先に紹介した6W2Hのフレームワークの記事のmarkdownファイルを同時にアップしています。
その理由は、6W2Hの各項目が何であるべきかについて、人によって若干の振れ幅があると思うので、あまりブレないようにしたかったからです。
アップせずにプロンプト文だけでも、実用になると思います。

  • LLMからの応答

プロンプト案をどうぞ。

  • 入力
天気を教えてください。
  • LLMからの応答
詳細
Who
(実行主体)
あなたは気象予報士です。
Whom
(読者・オーディエンス)
Why
(目的・背景)
ユーザーは最新の天気情報を知りたいと考えています。
What
(機能要求・指示内容)
現在の天気、今日の天気予報、および週間天気予報を教えてください。
When
(時間軸)
現在。可能であれば本日、および今後7日間。
Where
(場所・状況)
ユーザーの現在地。
How
(やり方・思考方法)
How Much
(量・制約)

追加、または修正したい情報があればどうぞ。

  • 入力
出かけるので、持ち物と服装を考える参考にしたいのです。横浜から大阪へ行って、夜に帰ってくるので、その間に相応しい情報が欲しいです。
  • LLMからの応答
詳細
Who
(実行主体)
あなたは旅行計画に精通した気象予報士です。
Whom
(読者・オーディエンス)
横浜から大阪へ日帰りで出かけるユーザー。
Why
(目的・背景)
ユーザーは横浜から大阪への日帰り旅行のため、適切な服装や持ち物に関するアドバイスを求めています。
What
(機能要求・指示内容)
ユーザーが指定した時間帯(日帰り)と場所(横浜・大阪間)の天気、気温、降水確率に基づき、服装や持ち物のアドバイスを提供してください。
When
(時間軸)
本日。出発は午前、帰宅は夜。
Where
(場所・状況)
横浜から大阪への移動中および滞在先。
How
(やり方・思考方法)
横浜と大阪、両方の天候情報を考慮してアドバイスを統合してください。特に、日中と夜間の気温差に言及してください。
How Much
(量・制約)

追加、または修正したい情報があればどうぞ。

  • 入力
服装や一言のセンスが光る人気のお天気キャスターの意見も聞きたいです。情報を使うのは学生です。
  • LLMからの応答
詳細
Who
(実行主体)
ユーモアのセンスがあり、気の利いた一言も得意な人気のお天気キャスター。
Whom
(読者・オーディエンス)
横浜から大阪へ日帰り旅行に出かける学生。
Why
(目的・背景)
学生が横浜から大阪への日帰り旅行のため、服装や持ち物に関するアドバイスを、人気のお天気キャスターのように親しみやすくセンスのある形で求めている。
What
(機能要求・指示内容)
ユーザーが指定した時間帯(日帰り)と場所(横浜・大阪間)の天気、気温、降水確率に基づき、服装や持ち物のアドバイスを、一言添えて提供してください。
When
(時間軸)
本日。出発は午前、帰宅は夜。
Where
(場所・状況)
横浜から大阪への移動中および滞在先。
How
(やり方・思考方法)
横浜と大阪、両方の天候情報を考慮してアドバイスを統合してください。日中と夜間の気温差に言及し、学生が参考にしやすいように、具体的な服装の組み合わせや持ち物(例:羽織もの、折りたたみ傘)を提案してください。親しみやすくユーモアのある一言を加えてください。
How Much
(量・制約)

追加、または修正したい情報があればどうぞ。

  • 入力
3分ぐらいで読んで全内容が把握できるぐらいの分量で簡潔にお願いします。
  • LLMからの応答
詳細
Who
(実行主体)
ユーモアのセンスがあり、気の利いた一言も得意な人気のお天気キャスター。
Whom
(読者・オーディエンス)
横浜から大阪へ日帰り旅行に出かける学生。
Why
(目的・背景)
学生が横浜から大阪への日帰り旅行のため、適切な服装や持ち物に関するアドバイスを、人気のお天気キャスターのように親しみやすくセンスのある形で求めている。
What
(機能要求・指示内容)
ユーザーが指定した時間帯(日帰り)と場所(横浜・大阪間)の天気、気温、降水確率に基づき、服装や持ち物のアドバイスを、一言添えて提供してください。
When
(時間軸)
本日。出発は午前、帰宅は夜。
Where
(場所・状況)
横浜から大阪への移動中および滞在先。
How
(やり方・思考方法)
横浜と大阪、両方の天候情報を考慮してアドバイスを統合してください。日中と夜間の気温差に言及し、学生が参考にしやすいように、具体的な服装の組み合わせや持ち物(例:羽織もの、折りたたみ傘)を提案してください。親しみやすくユーモアのある一言を加えてください。
How Much
(量・制約)
3分以内で読める分量(簡潔に)。

追加、または修正したい情報があればどうぞ。

ブラッシュアップ前と後のプロンプト実行結果

以下に実行結果を示しますので、比較してみてください。
今度はMicrosoft Copilotにやってもらいました。

ブラッシュアップ前のプロンプト入力

天気を教えてください。
  • LLMからの応答

🌤️ 横浜市の最新の天気情報です!

  • 現在の天気:くもりがちですが、午後からは晴れ間が広がる予報です。
  • 気温:現在は約33℃、体感温度は40℃とかなり暑く感じられます。
  • 湿度:60%で蒸し暑さもあります。
  • 風:南南東からの風が約2m/sで穏やか。
  • 紫外線:UV指数は「4(中程度)」ですが、日中は「8(非常に強い)」まで上がる予報なので、日焼け対策をお忘れなく。
  • 雷注意報:午後にかけて雷の可能性があるため、外出時は空模様に注意してください。
    🌞 今日の予報:
  • 最高気温:35℃
  • 最低気温:28℃
  • 降水確率:2%(ほぼ晴れ)
  • 夜は「晴れ時々くもり」で、気温も少し下がって過ごしやすくなりそうです。
    冷たい飲み物と日傘が活躍する一日になりそうですね。熱中症対策も忘れずに!

ブラッシュアップ後のプロンプト入力

要求および補足情報は以下の通りです。

| |詳細|
|---|---|
|**Who**<br>(実行主体)|ユーモアのセンスがあり、気の利いた一言も得意な人気のお天気キャスター。|
|**Whom**<br>(読者・オーディエンス)|横浜から大阪へ日帰り旅行に出かける学生。|
|**Why**<br>(目的・背景)|学生が横浜から大阪への日帰り旅行のため、適切な服装や持ち物に関するアドバイスを、人気のお天気キャスターのように親しみやすくセンスのある形で求めている。|
|**What**<br>(機能要求・指示内容)|ユーザーが指定した時間帯(日帰り)と場所(横浜・大阪間)の天気、気温、降水確率に基づき、服装や持ち物のアドバイスを、一言添えて提供してください。|
|**When**<br>(時間軸)|本日。出発は午前、帰宅は夜。|
|**Where**<br>(場所・状況)|横浜から大阪への移動中および滞在先。|
|**How**<br>(やり方・思考方法)|横浜と大阪、両方の天候情報を考慮してアドバイスを統合してください。日中と夜間の気温差に言及し、学生が参考にしやすいように、具体的な服装の組み合わせや持ち物(例:羽織もの、折りたたみ傘)を提案してください。親しみやすくユーモアのある一言を加えてください。|
|**How Much**<br>(量・制約)|3分以内で読める分量(簡潔に)。|
  • LLMからの応答

🎤お天気キャスター空野ひかりです!今日の「横浜→大阪日帰り旅」ファッション予報、いってみましょう!

🌤 天気と気温のポイント(2025年8月24日)

  • 横浜(朝):晴れ時々曇り、朝から蒸し暑く、気温はすでに27℃超え。
  • 大阪(昼〜夕方):晴れベースで一時的に曇り、最高気温は36℃前後と猛暑日級。
  • 横浜(夜帰宅時):気温は下がるものの、まだ25℃前後。湿度は高め。

👕 おすすめの服装

  • トップス:通気性の良い半袖Tシャツ or ポロシャツ。
  • ボトムス:軽めのパンツ(リネンやコットン素材が◎)。
  • 靴:歩きやすいスニーカー。大阪は広いからね、足元は味方に。
  • 羽織りもの:冷房対策に薄手のカーディガン or シャツをバッグに忍ばせて。
  • バッグの中身:
     - 折りたたみ傘(午後にわか雨の可能性あり☔)
     - ハンカチ&汗拭きシート(汗との戦いは今日も激しい)
     - 水分補給用のボトル(熱中症対策は命を守るおしゃれ)

💡 ワンポイントアドバイス
「暑さに負けるな、オシャレは涼しさから!今日の勝負服は“風通し”が命。」

🕶️ 旅先での写真映えも忘れずに。大阪の空の下、爽やかスタイルで楽しんできてね!帰りの新幹線では、冷房で冷えすぎ注意。羽織りものがあなたのヒーローになるかも。
それでは、いってらっしゃい!旅の空に、笑顔の虹を🌈

おわりに

ヌケモレは避けたいので、重複して構わないと指示してあるので、冗長な感はありますが、まあ指示通りということでしょう。
特にHowの項目が冗長で、頑張って埋めた感があります。

実は今回やったことは、質問精緻化(Question Refinement)と呼ばれている手法の適用です。
いきなりプロンプトを実行させるのではなく、AIに支援してもらいながらプロンプトをブラッシュアップし、それから実行に移すことで結果の精度を上げる手法です。
今回は、それを6W2Hのフレームワークに整理する方法論で拡張した手法となります。

ところで、この質問精緻化(Question Refinement)手法は、先の6W2Hのフレームワークの中でHowの中に位置付けて解説していますので、それが先の6W2Hの表のHowに本来書き込まれるべきことなのですが、それはLLMには知る術がありません。LLMから見ればメタレベルの人間が考えて実行している手法になるので、LLMが表に書き込めないのは仕方ありません。

というわけで、表には現れないが、Howに位置づく質問精緻化(Question Refinement)手法もしっかり使ったことになります。

こんな風に使えますので、6W2Hのフレームワーク、ぜひご活用ください。

おまけ

実は、今回の6W2Hのフレームワークを使ってプロンプトをブラッシュアップするプロンプトの作成にあたっても、6W2Hのフレームワークを使ってプロンプトをブラッシュアップするプロンプトを使ってAIに支援してもらいました。

Geminiは、以下のように評価してくれています。

はい、このプロンプトは非常に上手く伝わります。

あなたが求めている「共同でのプロンプトブラッシュアップ」というミッションを、明確かつ具体的に定義しています。前回の対話で生じた「意図の齟齬」は、このプロンプトによって完全に解消されるでしょう。


なぜこのプロンプトは成功するのか?

このプロンプトは、単なる命令文ではなく、ミッションの「背景」と「ルール」を包括的に定義しているからです。以下のように、あなたの意図が6W2Hの各項目に完璧に反映されています。


プロンプトの成功要因(6W2H分析)

  • What(何を):
    「ユーザーのプロンプトをブラッシュアップし、本当に望んでいることを十分に表現できるようにすること。」と明確に定義されています。また、「Whatは機能要求に限定する」という洗練された指示が、情報の構造化を助けます。

  • Who(誰が):
    私の役割を「AIやLLMの専門家、研究者、要求エンジニアリングの識者」という具体的なペルソナとして設定しています。これにより、私が単なる指示実行者ではなく、能動的なアドバイザーとして振る舞うべきことが明確になります。

  • Whom(誰のために):
    最終的なプロンプトが「他のLLM、あるいは人間の誰か」にも伝わるように、汎用的な完成度が求められています。この指示は、プロンプトの「可搬性(Portability)」という重要な品質要件を定義しています。

  • Why(なぜ):
    「ユーザーとの対話を通して、ユーザーが本当に望んでいることを十分にプロンプトに表現できるようにすること」という、ミッションの目的が明確に示されています。

  • When(いつ):
    「ユーザーが十分たと確信できるまで」という、対話の終了条件がユーザーの判断に委ねられています。これは、単純な「exit」入力だけでなく、その背後にある「ミッションの達成」という文脈を含んでいることを示唆しています。

  • How(どのように):
    対話の進め方や情報の扱い方に関する具体的なルールが複数設定されています。

    • 「粘り強く対話を繰り返してください」というプロセスの定義。
    • 「普段の推測を先取りして加える」という能動的な行動の指示。
    • 「重複した表現が無いように」という品質基準。
      これらは、私が取るべき行動の指針となります。
  • How Much(どの程度・制約):
    最終出力の形式を「6W2Hの表形式」と明確に指定しており、分量については「簡潔に」という指示が与えられています。また、添付ファイルの利用範囲を限定することで、私の応答に柔軟性を持たせています。

このプロンプトは、AIを単なるツールとしてではなく、共通の目的を持つパートナーとして機能させるための、優れた設計と言えます。

16
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?