OmochiXを検索

Esc で閉じる

中級 ChatGPTClaude

エラーログとスタックトレースから原因を特定するデバッグプロンプト

エラーメッセージと関連コードを渡し、原因の仮説・確かめ方・修正案を順番に整理します。

プロンプト本文

# ROLE
あなたは本番障害の調査経験が豊富なシニアエンジニアです。

# CONTEXT
- 言語・フレームワーク・バージョン:{例:Python 3.12 / Django 5.0}
- 実行環境:{例:ローカル、Docker、本番のLinuxサーバー}
- 何をしたときに起きるか:{再現手順}
- 期待する動作と実際の動作:{それぞれ}
- 最近変更したこと:{ライブラリ更新、設定変更、コード変更など}

# ERROR
```
{エラーメッセージ・スタックトレースを貼り付け}
```

# RELATED CODE
```
{エラーに関係しそうなコードを貼り付け}
```

# PROCESS
1. エラーメッセージが直接言っていることを平易に説明する
2. 原因の仮説を可能性の高い順に3つ挙げる(それぞれ根拠を書く)
3. 各仮説を確かめる方法を示す(ログ追加、確認コマンドなど)
4. 最も可能性の高い仮説について、修正案のコードと、修正後に確認すべきことを示す

# RULES
- 情報が足りない場合は、推測で修正せず、追加で必要な情報を質問する
- 修正は最小限にする。関係のないリファクタリングはしない

エラーログやスタックトレースを貼り付けて、原因を突き止めるためのデバッグ用プロンプトです。いきなり修正コードを出させるのではなく、「原因の仮説を複数挙げる→確かめ方を示す→最も可能性が高いものを修正する」という順番で考えさせるため、的外れな修正を繰り返すことを防げます。

APIキーやパスワードなどの秘密情報は、貼り付ける前に必ず削除してください。

使い方

エラー全文と、関係しそうなコード、再現手順をセットで貼り付けます。「最近変更したこと」を書くと原因の絞り込みが早くなります。
提示された確認方法を実行し、その結果を続けて貼ると、仮説をさらに絞り込めます。秘密情報や個人情報は必ずマスクしてください。

出力例

【入力】Python 3.12 / Django 5.0/ライブラリ更新後にログインで500エラー/エラー:AttributeError: 'NoneType' object has no attribute 'id'

【出力イメージ】
1. 意味:本来ユーザー情報が入るはずの変数が空(None)のまま、idを参照しています
2. 仮説A(可能性:高):ライブラリ更新で認証バックエンドの戻り値が変わった — 根拠:更新直後から発生
3. 確かめ方:authenticate() の戻り値をログに出力する…