~/VibeHandbook
$39

07 · 03

AIに適切なコンテキストを与える

ここがあなたの効きどころの大半です。バグを報告するときは、次のものを含めてください。

  • エラーメッセージを一字一句そのまま。 正確にコピーすること。言い換えてはいけません。エラーを言い換えるのは、電話で写真を説明するようなものです。肝心だった唯一のディテールを取りこぼします。
  • スタックトレース、特に先頭の数行。
  • 関連するコード — エラーを投げた関数と、それが呼び出すものすべて。
  • 期待していたことと、実際に起こったこと。

強力なデバッグプロンプトの実例は、こんな感じです。

I'm getting an error when I submit the signup form. Here's the full output:

TypeError: Cannot read properties of undefined (reading 'email')
    at validateUser (src/auth/validate.js:14:23)
    at handleSignup (src/routes/signup.js:31:10)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Steps to reproduce: fill in the form, click "Sign up".
Expected: a "Welcome" message.
Actual: the page goes blank and the error above appears in the console.

Here is validate.js (lines around 14):
[paste the function]

And here is the handleSignup function that calls it:
[paste the function]

What could be causing this, and how do I confirm it before changing anything?

最後の一行に注目してください。あなたは即座の編集ではなく、仮説と確認のステップ を求めています。これがAIを誠実に保ちます。

貼り付けるトレースを 読む 方法を知っておくと役立ちます。スタックトレースは新しい順に並んだ呼び出し履歴です。先頭の行はプログラムが実際に爆発した場所で、その下の各行はその上の関数を呼び出した関数です。だから例では、validateUseremail がundefinedな何かから読み取られた場所で、handleSignupvalidateUser を呼び出した側です。あなたのコードより下のフレーム — processTicksAndRejections のような — は言語ランタイムのもので、たいてい無視してかまいません。あなたの ファイルを指す最初の行に当たるまで上から下へ読みます。そこがほぼ常に見始めるべき場所です。

オフラインでも読みたい?

PDF + EPUB + ダウンロード可能なプロンプトライブラリ + バージョンアップデートを入手しよう。

$ PDFを入手 — $39