エラーはそのまま渡す
真っ白な画面は、こわれた合図です
第2章までは、頼めば頼んだぶんだけ画面が良くなっていきました。ところがある日、AIに変更を頼んだあと画面を見ると、何も表示されていない。真っ白です。おこづかい帳の見出しも、残金も、ボタンも消えています。
ここで多くの人が固まります。何が起きたのか分からないからです。でも安心してください。この状態から戻すのは、実はとても簡単です。エラーの文をそのままAIに渡す、それだけです。
エラーとは、機械が出す苦情の文です
Webページは、大きく3つの部品でできています。文章や見出しの並びを決める HTML、色や大きさを決める CSS、押したときに何が起きるかを決める JavaScript の3つです。この3つ目の JavaScript は、指示の書き方が1文字でも狂うと、その先を全部あきらめて止まってしまいます。止まった時点から後ろは何も動かないので、画面には何も出てきません。
このとき機械は黙って死んでいるわけではありません。「何行目の、どこが、どうおかしいのか」を文章にして残しています。これがエラーです。ブラウザの開発者ツールという画面や、この教材の実行結果の欄に、赤い文字で出てきます。
エラー文はたいてい英語で、初めて見ると呪文にしか見えません。読めなくて構いません。読むのはAIの仕事です。あなたの仕事は、それを一字一句そのまま渡すことです。
良い渡し方と、悪い渡し方
一番やってはいけないのが、自分の言葉に要約してしまうことです。
プレーンテキスト
悪い例
何かエラーが出ました。直してください。これではAIは何も分かりません。エラー文の中には、原因の場所そのものが書いてあります。要約すると、その一番大事な情報が消えてしまいます。
プレーンテキスト
良い例
画面が真っ白になり、次のエラーが出ています。
Uncaught ReferenceError: totalEl is not defined
at script.js:7
このエラーの原因を直してください。他の見た目は変えないでください。違いは3つあります。ひとつめは、エラー文を改変せずそのまま貼ったこと。ふたつめは、「画面が真っ白」という今の症状を添えたこと。みっつめは、「他は変えないで」と触ってほしくない範囲を伝えたことです。
エラー文が長くても、途中で切らずに全部渡してください。長い部分は機械にとって意味のある情報です。人間には冗長に見えても、AIはそこから原因を特定します。
直ったかどうかは、必ず画面で確かめます
AIが「修正しました」と返してきても、それを鵜呑みにしてはいけません。画面を見て、実際に直っているか自分の目で確かめるところまでが1セットです。
もし別のエラーに変わっていたら、それはそれで前進です。ひとつ目の壁は越えて、次の壁が見えたということですから、新しいエラー文をまた同じようにそのまま渡します。エラーは1つずつ、順番に消えていきます。
演習
右の画面のおこづかい帳が、真っ白になっています。JavaScript が途中で止まっているためです。エラー文をそのままAIに渡して、残金が表示される状態に戻してください。
完成条件
- エラー文は要約せず、そのまま貼って渡してください
- 直したあとは、必ず画面を見て確かめてください