0Pricing
AI Prompt Engineering · レッスン

不適切なプロンプトの診断と修正

期待どおりに機能しないプロンプトを改善するための、体系的なデバッグチェックリストを学びます。

「不適切なプロンプトの診断と修正」はCoddyKit上の無料AI Prompt Engineeringレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Prompt Engineering学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Prompt Engineeringコースには全4レッスンが含まれています。

デバッグの考え方

プロンプトが悪い出力を生成すると、多くの人はまずモデルのせいにしようとします。しかし、ほとんどの場合、問題はプロンプトにあります。モデルは、受け取った指示に対してまさに想定どおりに動作しているのです。

プロンプトの失敗をデバッグの問題として扱う方が生産的です。コードのデバッグと同じように、根本原因を体系的に特定し、修正を仮説として立て、テストし、結果を検証します。この考え方なら、苛立ちながら試行錯誤を繰り返すよりも速く改善できます。

プロンプトデバッグのチェックリスト

プロンプトがうまくいかないときは、次の5つの観点のチェックリストを体系的に確認します。

  1. 具体性 — 曖昧すぎませんか。タスクをより明確に定義する必要がありますか。
  2. コンテキスト — モデルに必要な背景情報が不足していませんか。
  3. 形式 — 必要な出力形式と長さを指定していますか。
  4. 制約 — 制約を明確に記述していますか。制約同士が衝突していませんか。
  5. 例 — 良い出力の例を示せば、曖昧さをなくせますか。

各観点は特定の修正方法に対応しています。失敗した観点を特定し、対応する修正を適用します。

観点1:具体性の確認

具体性の不足によって、トピックのずれ、切り口のずれ、対象読者のレベルのずれ、タスクの重要な側面の欠落が生じます。

診断のための質問:

  • 知的な第三者が、このプロンプトを私の意図とは異なる意味に解釈する可能性はありますか。
  • 置き換える必要のある曖昧な言葉(良い、より良い、適切な、プロフェッショナルな)がありませんか。
  • タスクの種類(記事、メール、要約、分析など)を指定していますか。
  • 対象読者を十分に正確に定義していますか。

修正:曖昧な言葉を具体的な言葉に置き換えます。タスクの種類を明記します。対象読者の背景を指定します。希望する出力の例を1文で追加します。

観点2:コンテキストの確認

コンテキストの不足によって、具体的な状況を無視した一般的な助言、技術スタック・会社・対象読者に関する誤った前提、別のコンテキストでは機能しても自分の状況では機能しない回答が生じます。

診断のための質問:

  • 一般的な学習だけではモデルが知ることのできない、私の具体的な状況に関する情報で、モデルが知る必要のあるものは何ですか。
  • タスクの対象となる関連コード、ドキュメント、データを提示していますか。
  • 自分の環境の制約を説明していますか。

修正:タスクの指示の前に「背景」セクションを追加します。関連するコードやコンテンツをプロンプトに直接貼り付けます。

観点3:形式の確認

形式の不備によって、内容は正しくても構成が誤った出力が生じます。たとえば、箇条書きが必要なのに散文になったり、手順ガイドが必要なのに論文形式になったり、ナビゲーションが必要なのに見出しがなかったりします。

診断のための質問:

  • 出力形式(箇条書き、番号付きリスト、散文、表、コードブロック)を指定しましたか。
  • 長さを指定しましたか。
  • 必要なセクションや構成を指定しましたか。

修正:形式に関する明示的な指示を追加します。次のパターンを使用します:「形式:[構成]。長さ:[目標値]。セクション:[一覧]。」複雑な形式の場合は、モデルが記入するプレースホルダーテキストを含むテンプレートを提示します。

観点4:制約の確認

制約の不備によって、除外したかった内容が含まれたり、制約同士が衝突して機械的に感じられる出力になったりします。

診断のための質問:

  • 制約を明確に記述していますか。それとも暗黙的になっていませんか。
  • 制約同士が衝突していませんか。
  • 制約がコンテンツの範囲や長さと衝突していませんか。
  • 制約が衝突しそうな場合の優先順位を示す指示がありますか。

修正:暗黙的な制約を明示します。優先順位を示す指示を追加します。どの制約を優先するか決めて、衝突を解消します。範囲と長さに互換性があることを確認します。

観点5:例の確認

最初の4つの観点に問題がないのに出力がまだずれている場合、例が不足していることがよくあります。例は、言葉では伝えきれない内容を伝えます。

診断のための質問:

  • 良い出力の例を示せば、期待するスタイル、トーン、形式が明確になりますか。
  • 否定的な例(生成してはいけないもの)を示すと役立ちますか。
  • このタスクの種類について、参考にできる既存の出力がありますか。

修正:理想的な出力の例を1つまたは2つプロンプトに追加します。次のパターンを使用します:「求めているものの例を示します:[例]。では、[実際のタスク]について同じように実行してください。」

プロンプトデバッグのワークフロー

ここでは、失敗するどのようなプロンプトにも適用できる、完全な診断ワークフローを紹介します。

def diagnose_prompt(original_prompt, failed_output, problem_description):
    '''
    Use a second LLM call to diagnose why a prompt produced a bad output.
    Returns a diagnosis and an improved prompt.
    '''
    import openai
    client = openai.OpenAI(api_key='sk-...')

    diagnosis_prompt = f'''You are a prompt engineering expert.

A user ran this prompt:
---PROMPT---
{original_prompt}
---END PROMPT---

It produced this output (which was unsatisfactory):
---OUTPUT---
{failed_output[:500]}...
---END OUTPUT---

The problem the user identified: {problem_description}

Diagnose the prompt failure using this framework:
1. Specificity: Is anything too vague?
2. Context: What background information is missing?
3. Format: Is the desired format/length unclear?
4. Constraints: Are there missing or conflicting constraints?
5. Examples: Would an example help?

Then write an improved version of the prompt that addresses the root cause.
Format: Diagnosis: [analysis] || Improved prompt: [new prompt]'''

    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': diagnosis_prompt}]
    )
    return response.choices[0].message.content

根本原因と症状

よくあるデバッグの誤りは、根本原因ではなく症状に対処してしまうことです。

症状:出力が一般的すぎます。

症状への対処:プロンプトに「より具体的にしてください」と追加します。

根本原因:対象読者が定義されていなかったため、モデルが一般的な対象読者を想定しました。

根本原因への対処:対象読者を正確に指定します。

症状に対処しても、改善はわずかです。根本原因に対処すると、安定した改善が得られます。修正を書く前に、「なぜこの症状が起きているのか」をもう一段掘り下げて考えてください。

プロンプト失敗ログを記録する

繰り返し行うタスクの種類についてプロンプト失敗ログを記録すると、時間の経過とともに改善が加速します。各エントリには次の内容を記録します。

  • 元のプロンプト
  • 悪い出力(または何が問題だったかの説明)
  • 診断した根本原因(具体性、コンテキスト、形式、制約、例)
  • 適用した修正
  • 結果

10~20件記録すると、パターンが見えてきます。あるカテゴリの失敗の60%を、同じ根本原因(たとえば対象読者のコンテキスト不足)が占めていることに気づくかもしれません。テンプレートでその問題を修正すれば、そのパターンは消えます。

改善されたプロンプトテンプレート

適切に構成されたプロンプトの多くは、5つのデバッグの観点すべてにあらかじめ対応する、一貫したテンプレートに従っています。

ROBUST_PROMPT_TEMPLATE = '''
## Role
[Who the model should act as — establishes expertise level and perspective]

## Context
[Background the model needs: company, audience, product, prior decisions, constraints]

## Task
[Specific, precise description of what to produce]

## Format
[Output structure: bullet points / prose / numbered list / table]
[Length: word count or sentence count]
[Required sections: list them if the output needs specific sections]

## Constraints
[What to include: required elements]
[What to exclude: off-limits content or approaches]
[Priority: if constraints conflict, X takes priority over Y]

## Example
[One example of good output for this task type — optional but powerful]
'''

print(ROBUST_PROMPT_TEMPLATE)

理解度チェック:プロンプトデバッグ

あるプロンプトが、適切に書かれた出力を生成しました。しかし、その出力はタスクに記述された具体的な状況ではなく、トピックに関する一般的なベストプラクティスに焦点を当てています。形式と長さは正しく、制約にも違反していません。根本原因となっているデバッグの観点はどれですか。

振り返り:悪いプロンプトの診断と修正

プロンプトデバッグは、試行錯誤ではなく体系的なプロセスです。5つの観点からなるチェックリスト(具体性、コンテキスト、形式、制約、例)によって、一般的な失敗の種類すべてが、具体的な修正方法に対応づけられます。

堅牢なプロンプトテンプレートは、5つの観点すべてにあらかじめ対応し、ほとんどの失敗を発生前に防ぎます。デバッグのワークフロー(症状を特定 → 根本原因を見つける → 修正を適用 → 検証する)によって、安定した改善が得られます。プロンプト失敗ログを記録すれば、セッションをまたいだ学習が加速します。

これらのツールを使えば、どのようなプロンプトの失敗も、系統的かつ一貫して診断・修正できます。

よくある質問

「不適切なプロンプトの診断と修正」レッスンは無料ですか?

はい。「不適切なプロンプトの診断と修正」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Prompt Engineeringコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Prompt Engineeringコースには全4レッスンが含まれています。

「不適切なプロンプトの診断と修正」で何を学びますか?

期待どおりに機能しないプロンプトを改善するための、体系的なデバッグチェックリストを学びます。 ブラウザで直接実行するハンズオンコードでAI Prompt Engineeringを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Prompt Engineeringを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Prompt Engineeringは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「不適切なプロンプトの診断と修正」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Prompt Engineeringレッスンでコードを書いて実行できますか?

はい。すべてのAI Prompt Engineeringレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 過度に曖昧な指示
  2. 矛盾する要件
  3. コンテキスト不足によるエラー
  4. 不適切なプロンプトの診断と修正
← AI Prompt Engineeringに戻る