エラーログやスタックトレースを貼り付けて、原因を突き止めるためのデバッグ用プロンプトです。いきなり修正コードを出させるのではなく、「原因の仮説を複数挙げる→確かめ方を示す→最も可能性が高いものを修正する」という順番で考えさせるため、的外れな修正を繰り返すことを防げます。
APIキーやパスワードなどの秘密情報は、貼り付ける前に必ず削除してください。
# 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() の戻り値をログに出力する…