プロンプトのエラー制御と品質改善
この節の目的は、プロンプトを書いたあとに「出力がずれた」「形式が崩れた」「余計なことまで書かれた」といった問題を見つけ、意図した出力へ近づけるための制御方法を身につけることです。
前の 3-4 では、再現性を高めるために、目的、条件、出力形式、例を固定する考え方を学びました。今回はその続きとして、崩れやすいところを先回りして防ぐ設計を学びます。
この節で最初に覚えてほしい一文は、次の通りです。
良いプロンプトは、良い依頼文で終わらず、失敗しやすい点まで先に設計する。
プロンプト設計が作文と違うのはここです。
「何を書いてほしいか」だけでなく、どう崩れやすいかを考える必要があります。
1. この節でいう「エラー」とは何か
この節でいうエラーは、プログラムの実行エラーだけではありません。
ここでは、出力が目的や条件から外れること全体をエラーと考えます。
たとえば、次のようなものです。
- 文字数制限を守らない
- 箇条書き指定なのに段落で返す
- 高校生向けなのに難しすぎる
- 入力文にない内容を勝手に補う
- 要点を3つと指定したのに5つ出す
つまり、文法が正しいかどうかだけでなく、意図どおりかどうかを見る必要があります。
2. プロンプトで起こりやすい3種類のエラー
この章では、エラーをまず三つに分けて考えます。
2-1. 内容エラー
内容そのものが目的からずれるエラーです。
たとえば、
- 要約なのに細部が増えすぎる
- 説明なのに大事な前提を飛ばす
- 入力にない情報を勝手に加える といったものです。
2-2. 形式エラー
出力形式が指示からずれるエラーです。
たとえば、
- 箇条書き指定なのに段落で返る
- 3点指定なのに4点出る
- JSON 指定なのに説明文が混ざる といったものです。
2-3. 読者適合エラー
対象読者に合わないエラーです。
たとえば、
- 高校生向けなのに大学レベルの語彙を使う
- 初心者向けなのに前提説明がない
- 保護者向けなのに説明が短すぎる といったものです。
手を動かす練習1
次の依頼で起こりやすいエラーを、内容・形式・読者適合の3つから考えてください。
この内容をわかりやすくしてください。
例解
- 内容エラー
何を残すかが指定されていないので、重要点が落ちるかもしれない。
- 形式エラー
箇条書きか文章かが不明なので、毎回形がぶれやすい。
- 読者適合エラー
誰向けに「わかりやすい」のかが不明なので、難しさが安定しにくい。
3. エラー制御の基本原則
エラーを減らす基本原則は、次の四つです。
3-1. あいまい語を減らす
「いい感じ」「わかりやすく」「短く」だけでは、解釈の幅が広すぎます。
その代わりに、対象、長さ、要点数、形式を具体化します。
悪い例です。
以下の文章をわかりやすくしてください。
改善例です。
以下の文章を、高校生向けに、200字以内で、
重要点を2つ残して、箇条書き2点で説明してください。
このようにすると、AI が判断しなければならない幅が狭まります。
3-2. 入力と指示を分ける
指示と本文が混ざると、どこまでが依頼でどこからが入力か曖昧になります。
そこで、ラベルや区切りを使って分けます。
[指示]
以下の文章を高校生向けに要約してください。
[入力]
(ここに本文)
こうすると、処理対象が見やすくなります。
3-3. 出力形式を先に固定する
出力の形がぶれるなら、最初に形式を固定します。
出力は、箇条書き3点でお願いします。
あるいは、次のように具体的に書くこともできます。
出力は次の形にしてください。
- 要点1
- 要点2
- 要点3
形式が固定されると、使う側もかなり楽になります。
3-4. 品質基準を明示する
「うまくやって」ではなく、「何を満たせば良いのか」を書きます。
以下の条件を満たしてください。
- 専門用語は必要最小限
- 高校生が1回で読める表現
- 重要点は2つ以上残す
これを入れると、出力を見たあとに「何が満たされていないか」を判断しやすくなります。
4. 品質向上のための「自己確認」を入れる
ここで非常に重要なのが、出力前の自己確認です。
これは「自分で自分を採点してから出す」ような仕組みです。
たとえば次のように書けます。
出力前に、次の条件を満たしているか確認してください。
- 300字以内か
- 箇条書き3点になっているか
- 高校生向けの語彙になっているか
条件を満たしていない場合は、満たすように修正してから出力してください。
この一文が入るだけで、形式崩れはかなり減ることがあります。
ここで大切なのは、「考え方を全部見せて」と頼むことではなく、チェックして修正してから出すという行動を促すことです。
手を動かす練習2
次の依頼に、自己確認ブロックを足してください。
あなたは高校生向け教材を編集する先生です。
以下の文章を300字以内で要約し、箇条書き3点で出力してください。
例解
あなたは高校生向け教材を編集する先生です。
以下の文章を300字以内で要約し、箇条書き3点で出力してください。
出力前に次を確認してください。
- 300字以内か
- 箇条書き3点になっているか
- 高校生向けの語彙か
条件を満たしていない場合は修正してから出力してください。
5. 品質向上のために「良い例」と「避けたい例」を使う
品質を上げたいなら、良い例を見せるのは強い方法です。
特に、出力の粒度やトーンをそろえたいときに有効です。
良い例を入れる
[出力例]
- 太陽は自分で光を出す星である。
- 地球へ熱と光を届けている。
これだけで、箇条書きの短さや粒度が安定しやすくなります。
避けたい例を入れる
さらに強くしたいなら、「してほしくない出力」の例を入れることもできます。
[避けたい出力例]
- 専門用語を長く説明しすぎる
- 箇条書きではなく長文にする
- 入力にない情報を付け足す
良い例と避けたい例を並べると、品質の方向がかなり揃いやすくなります。
手を動かす練習3
次の依頼に、出力例を1つ足してください。
中学生向けに、光合成の仕組みを説明してください。
出力は箇条書き2点です。
例解
中学生向けに、光合成の仕組みを説明してください。
出力は箇条書き2点です。
[出力例]
- 植物は光を使って自分の栄養を作る。
- そのとき二酸化炭素を取り入れ、酸素を出す。
6. エラー制御のための分割設計
複雑な依頼を一回でやらせようとすると、出力が崩れやすくなります。
そこで有効なのが、ステップを分ける方法です。
たとえば、いきなり「記事を要約して、見出しを付けて、キーワードも出して」と頼むより、次のように分けたほうが安定しやすいです。
次の順に処理してください。
1. 本文の重要点を3つ抽出する
2. その重要点をもとに200字以内で要約する
3. 最後にキーワードを3つ出す
このようにすると、処理の順番が明確になります。
ただし、分けすぎると読みにくくなるので、本当に崩れやすいところだけ段階化するのがコツです。
7. 品質向上のための観察ポイント
プロンプト改善で大事なのは、「うまくいかなかった」で終わらないことです。
次の観点で見ると、修正箇所が見つけやすくなります。
7-1. 内容は合っていたか
- 重要点は残っていたか
- 入力にないことを足していないか
- テーマから外れていないか
7-2. 形式は守られたか
- 指定字数内か
- 箇条書き数は合っているか
- 形式は崩れていないか
7-3. 読者に合っていたか
- 語彙の難しさは適切か
- 前提知識を飛ばしていないか
- 文体は合っているか
7-4. 次にどう直すべきか
- 条件を足すべきか
- 条件を削るべきか
- 手順を分けるべきか
- 例を足すべきか
この観察ができると、改善がかなり論理的になります。
つまり、品質向上はセンスではなく、観察基準を持つことから始まります。
8. 実践ミニワーク
次のプロンプトを、エラー制御と品質向上の観点から改善してください。
以下の文章をわかりやすくまとめてください。
改善のヒント
- 誰向けか
- 何字くらいか
- どんな形式か
- 何を避けるか
- 出力前の確認は必要か
例解
あなたは高校生向け教材を編集する先生です。
以下の文章を、高校生向けに、250字以内で要約してください。
条件
- 重要点を2つ残す
- 専門用語は必要最小限
- 入力文にない情報は追加しない
出力形式
- 箇条書き2点
出力前に次を確認してください。
- 250字以内か
- 箇条書き2点か
- 高校生向けの表現か
条件を満たしていない場合は修正してから出力してください。
ここで重要なのは、「わかりやすく」という曖昧語をそのままにせず、
対象、長さ、要点数、禁止事項へ分解したことです。
これが品質改善の基本です。
9. この節で理解すること
この節で理解してほしいのは次の四つです。
- エラーとは、形式崩れや内容ズレも含めた「意図からの逸脱」である
- エラー制御には、明確な条件、区切り、形式指定、自己確認が効く
- 品質向上には、良い例、避けたい例、段階分割が役立つ
- 改善の鍵は、出力を観察して修正ポイントを言語化すること
まとめ
この節では、プロンプトのエラー制御と品質改善を学びました。
エラーとは、単なるプログラムエラーではなく、内容のズレ、形式の崩れ、読者との不一致も含む広い概念です。
これを減らすためには、明確な条件、区切り、出力形式、自己確認、良い例、避けたい例、段階分割が有効です。
次の 3-6 では、ここまで学んだ構造化、再現性、品質改善の考え方をもとに、プロンプトテンプレート化 を学びます。
つまり、今回は「崩れを防ぐ」、次は「使い回せる型にする」です。
練習問題
問題1
この節でいう「エラー」を一文で説明してください。
問題2
次の依頼の弱点を二つ書いてください。
わかりやすく説明してください。
問題3
次のうち、形式エラーを減らしやすいものを選んでください。
A
要約してください。
B
要約してください。出力は箇条書き3点です。
問題4
自己確認を入れる意味を一文で説明してください。
問題5
次の依頼へ、品質向上のための一文を足してください。
中学生向けに、地震の仕組みを説明してください。
練習問題の答え
答え1
例です。
この節でいうエラーとは、出力が目的・条件・形式から外れてしまうことです。
答え2
例です。
- 誰向けかがない
- 長さや形式がない
- 何を残すべきかがない
答え3
B です。
箇条書き3点という形式が指定されているため、出力の形が安定しやすいからです。
答え4
例です。
自己確認を入れる意味は、条件違反や形式崩れを出力前に減らしやすくするためです。
答え5
例です。
中学生向けに、地震の仕組みを説明してください。
出力前に、専門用語が多すぎないか確認し、多い場合は言い換えてください。
