
わからない時にAIへ質問する方法
この節で学ぶこと
前の節では、アプリ名、説明文、ボタン文字、色、来場区分、来場目的、管理者パスコードなどを、自分用に変更しました。
この節では、プログラムを書いている途中でわからなくなったときに、AIへどのように質問すればよいかを学びます。
プログラミングでは、エラーが出ることは普通です。
大切なのは、エラーを出さないことではありません。
エラーが出る
↓
原因を調べる
↓
直す
↓
もう一度動かす
この流れを身につけることが大切です。
AIは、この「原因を調べる」と「直す」作業を助けてくれます。
AIに聞くことは悪いことではない
プログラミング初心者の中には、AIに聞くことを「ずるい」と感じる人がいるかもしれません。
しかし、今回の授業では、AIを使って調べることも学習の一部です。
大切なのは、AIに答えを丸投げすることではなく、自分が何に困っているのかを整理して質問することです。
悪い使い方:
全部作ってください
良い使い方:
このエラーの原因を、初心者にもわかるように教えてください
AIを使うことで、わからないところを放置せず、次に進みやすくなります。
1. AIに質問するときの基本
AIに質問するときは、次の4つをセットで伝えると、答えが返ってきやすくなります。
1. 何を作っているか
2. 何をしたいか
3. 何に困っているか
4. 関係するコードやエラー文
この4つがあると、AIは状況を理解しやすくなります。
悪い質問の例
次のような質問は、AIが答えにくいです。
動きません。
これだけでは、何を作っているのか、どの画面で止まっているのか、エラーが出ているのかがわかりません。
AIは便利ですが、何も情報がない状態では、正確な原因を判断できません。
良い質問の例
次のように聞くと、AIが答えやすくなります。
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
やりたいこと:
受付フォームから送信したデータをスプレッドシートに保存したいです。
困っていること:
受付するボタンを押すとエラーが表示されます。
エラー文:
氏名は全角カタカナで入力してください。例:ヤマダ タロウ
入力した内容:
氏名カナ:山田太郎
初心者にもわかるように、なぜエラーになるのか説明してください。
このように書くと、AIは原因を見つけやすくなります。
2. 質問テンプレート
困ったときは、次のテンプレートを使います。
そのままコピーして、____ の部分を自分の状況に合わせて埋めます。
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
Code.gsとindex.htmlを使っています。
やりたいこと:
__________
困っていること:
__________
エラー文:
__________
関係ありそうなコード:
__________
初心者にもわかるように、
原因、確認する場所、直し方を順番に教えてください。
エラー文がない場合
エラー文が表示されないこともあります。
その場合は、エラー文のところに「なし」と書いて大丈夫です。
エラー文:
表示されていません。
ただし、代わりに「どんな動きになっているか」を詳しく書きます。
困っていること:
受付するボタンを押しても、画面が変わりません。
ボタンの文字は「受付中...」のままです。
3. エラー文をそのまま貼る
エラーが出たときは、エラー文を自分で要約しすぎないようにします。
できるだけ、表示された文をそのままコピーしてAIに貼ります。
悪い例
なんか赤いエラーが出ました。
良い例
エラー文:
管理者パスコードが正しくありません。
または、
エラー文:
管理者パスコードが未設定です。setupAppまたはsetAdminPasscodeを先に実行してください。
エラー文には、直すためのヒントが入っていることが多いです。
4. どの画面で困っているかを書く
今回のアプリには、複数の画面があります。
| 画面 | 例 |
|---|---|
| Apps Script編集画面 | コードを書く画面 |
| スプレッドシート | 受付データを見る画面 |
| 受付フォーム | 来場者が入力する画面 |
| 受付完了画面 | 受付番号が表示される画面 |
| 管理画面 | ダッシュボードを見る画面 |
AIに聞くときは、どの画面で困っているのかを書くと分かりやすくなります。
例
今いる画面:
Webアプリの受付フォーム
困っていること:
都道府県を選んでも、市区町村が表示されません。
または、
今いる画面:
Google Apps Scriptの編集画面
困っていること:
setupAppを実行したいのですが、関数選択メニューに表示されません。
5. 変更前と変更後を書く
コードを変更してから動かなくなった場合は、変更前と変更後を書くと、AIが原因を見つけやすくなります。
例:タイトルを変えた場合
変更前:
<h1>学校祭デジタル受付</h1>
変更後:
<h1>オープンキャンパス受付</h1>
困っていること:
保存しましたが、Webアプリの画面ではタイトルが変わりません。
この場合、AIは次のような確認を提案できます。
保存したか
デプロイを更新したか
ブラウザを再読み込みしたか
古いURLを見ていないか
例:パスコードを変えた場合
変更前:
const passcode = '2026';
変更後:
const passcode = '1234';
困っていること:
管理画面で1234を入力しても入れません。
この場合、AIは setAdminPasscode の再実行が必要だと説明できます。
6. コードは必要な部分だけ貼る
AIに質問するとき、コードを全部貼る必要がある場合もあります。
しかし、最初は関係しそうな部分だけ貼る方が分かりやすいです。
例:管理者パスコードで困っている場合
関係ありそうなコードは、次の部分です。
function setAdminPasscode() {
const passcode = '2026';
PropertiesService
.getScriptProperties()
.setProperty(ADMIN_PASSCODE_PROPERTY_KEY, passcode);
}
このように、関係する部分だけ貼ると、AIも説明しやすくなります。
コードを貼るときの注意
コードを貼るときは、前後の説明も入れます。
以下が関係ありそうなコードです。
そして、コードを貼ります。
function setAdminPasscode() {
const passcode = '1234';
PropertiesService
.getScriptProperties()
.setProperty(ADMIN_PASSCODE_PROPERTY_KEY, passcode);
}
そのあとに、何を知りたいかを書きます。
このコードを変更したあと、何を実行すればパスコードが反映されますか。
7. よくある質問パターン
ここからは、この学校祭デジタル受付アプリで起きやすい質問パターンを確認します。
そのまま使える形にしておくので、困ったときはコピーして使ってください。
パターン1:setupAppが見つからない
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
関数選択メニューに setupApp が表示されません。
やったこと:
Code.gsに完成コードを貼りました。
保存もしました。
確認したいこと:
なぜ setupApp が表示されないのか、
初心者にもわかるように確認する場所を順番に教えてください。
パターン2:setupApp実行時にエラーが出る
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
setupAppを実行したらエラーが出ました。
エラー文:
ここにエラー文を貼る
やったこと:
Code.gsに完成コードを貼りました。
index.htmlも作りました。
Code.gsを保存してから setupApp を実行しました。
初心者にもわかるように、原因と直し方を教えてください。
パターン3:WebアプリのURLで画面が出ない
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
Webアプリとしてデプロイしましたが、URLを開くと画面が表示されません。
エラー文:
ここにエラー文を貼る
やったこと:
Code.gsとindex.htmlに完成コードを貼りました。
setupAppを実行しました。
Webアプリとしてデプロイしました。
初心者にもわかるように、確認する場所を順番に教えてください。
パターン4:受付フォームで送信できない
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
受付フォームで入力して「受付する」を押しても、受付完了画面になりません。
入力した内容:
氏名カナ:____
来場区分:____
来場目的:____
郵便番号:____
都道府県:____
市区町村:____
画面に出たエラー:
____
初心者にもわかるように、原因と直し方を教えてください。
パターン5:都道府県を選んでも市区町村が出ない
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
受付フォームで都道府県を選んでも、市区町村の選択肢が表示されません。
確認したこと:
setupAppは実行しました。
地域マスタシートはあります。
Webアプリを再読み込みしました。
初心者にもわかるように、次に確認する場所を教えてください。
パターン6:スプレッドシートに保存されない
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
受付完了画面は表示されますが、受付データシートにデータが見当たりません。
確認したこと:
受付データシートはあります。
受付番号は表示されました。
スプレッドシートを再読み込みしました。
初心者にもわかるように、確認する場所を順番に教えてください。
パターン7:管理画面に入れない
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
管理画面でパスコードを入力しても入れません。
入力したパスコード:
____
エラー文:
____
確認したこと:
setupAppは実行しました。
受付フォームから1件送信しました。
初心者にもわかるように、原因と直し方を教えてください。
パターン8:変更したのに画面が変わらない
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
index.htmlの文字を変更しましたが、Webアプリの画面に反映されません。
変更前:
____
変更後:
____
確認したこと:
保存しました。
Webアプリを再読み込みしました。
初心者にもわかるように、
デプロイ更新が必要かどうかも含めて確認する場所を教えてください。
8. AIに聞いた答えをそのまま信じすぎない
AIは便利ですが、常に正しいとは限りません。
特に、次のようなことが起きる場合があります。
存在しないメニュー名を言う
今回のコードにない関数名を出す
古い仕様の説明をする
必要以上に難しいコードを提案する
そのため、AIの答えを使うときは、必ず今の自分のコードと見比べます。
AIの答えを見るときのポイント
| 確認すること | 内容 |
|---|---|
| 今のコードに合っているか | 自分のファイル名や関数名と一致しているか |
| 変更範囲が大きすぎないか | 必要以上に全部書き換えようとしていないか |
| 初心者でも戻せるか | 失敗したときに元に戻せるか |
| エラー文に対応しているか | 実際のエラー内容に答えているか |
不安なときの聞き方
AIの答えが難しすぎる場合は、もう一度こう聞きます。
説明が少し難しいです。
初心者向けに、
今すぐ確認する場所を3つだけに絞って教えてください。
コードを大きく書き換えずに直したいです。
これで、回答を簡単にしてもらえます。
9. AIに「全部直して」ではなく「理由も説明して」と聞く
ただ修正コードだけをもらうと、なぜ直ったのかが分からないままになります。
授業では、次のように聞くことをおすすめします。
修正後のコードだけでなく、
なぜその修正が必要なのかも初心者向けに説明してください。
または、
どの行を、なぜ変更するのかを説明してください。
こう聞くことで、次に似たエラーが出たときにも対応しやすくなります。
10. AIに聞く前に自分で確認すること
AIに聞く前に、まず次の5つを確認します。
| 確認 | 内容 |
|---|---|
| 保存したか | Command + S または Ctrl + S を押したか |
| デプロイ更新したか | 公開URLに変更を反映したか |
| ファイル名は正しいか | index.html があるか |
| 貼る場所は正しいか | Code.gs と index.html を逆にしていないか |
| エラー文を読んだか | 表示された文字を確認したか |
この5つだけでも、多くのトラブルを解決できます。
11. エラーを直す時の基本手順
エラーが出たら、次の順番で考えます。
1. 何をした直後にエラーが出たか思い出す
2. エラー文をコピーする
3. 変更前と変更後を確認する
4. 関係ありそうなコードを探す
5. AIに質問する
6. 1か所だけ直す
7. 保存する
8. 必要ならデプロイを更新する
9. もう一度動かす
この順番で進めると、落ち着いて原因を探せます。
何をした直後かが大切
エラーの原因は、直前に変更した場所にあることが多いです。
たとえば、
| 直前にしたこと | 起きやすい問題 |
|---|---|
| タイトルを変えた | タグを壊した可能性 |
| 色を変えた | カラーコードの書き方ミス |
| パスコードを変えた | setAdminPasscode 未実行 |
| 選択肢を変えた | <option> タグの閉じ忘れ |
| コードを貼り直した | 途中でコピーが切れた可能性 |
12. 授業中に使うAI質問ワーク
ここで、実際にAIへ質問する練習をします。
次の中から1つ選び、質問文を作ってください。
課題A:タイトルが変わらない
状況です。
index.htmlのh1を変更した。
保存した。
でもWebアプリの画面では変わっていない。
質問文を作ります。
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
やりたいこと:
__________
困っていること:
__________
変更前:
__________
変更後:
__________
初心者にもわかるように、
確認する場所を順番に教えてください。
課題B:パスコードが変わらない
状況です。
Code.gsで const passcode = '1234'; に変更した。
保存した。
でも管理画面では1234で入れない。
質問文を作ります。
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
やりたいこと:
管理者パスコードを変更したいです。
困っていること:
__________
変更前:
const passcode = '2026';
変更後:
const passcode = '1234';
初心者にもわかるように、
なぜ反映されないのか、何を実行すればよいか教えてください。
課題C:市区町村が出ない
状況です。
受付フォームで都道府県を選んでも、市区町村が表示されない。
地域マスタシートはある。
質問文を作ります。
Google Apps Scriptで学校祭デジタル受付アプリを作っています。
困っていること:
__________
確認したこと:
地域マスタシートはあります。
setupAppは実行しました。
画面の状態:
__________
初心者にもわかるように、
次に確認する場所を教えてください。
13. この節のまとめ
この節では、プログラムで困ったときにAIへ質問する方法を学びました。
大切なポイントは、次の通りです。
- AIに聞くことは、学習の一部として使ってよい。
- 「動きません」だけでは情報が足りない。
- 何を作っているか、何をしたいか、何に困っているか、エラー文やコードをセットで伝える。
- エラー文はできるだけそのまま貼る。
- 変更前と変更後を書くと、原因を見つけやすい。
- コードは関係ありそうな部分だけ貼るとよい。
- AIの答えをそのまま信じすぎず、自分のコードと見比べる。
- 難しすぎる回答が返ってきたら、初心者向けに言い換えてもらう。
- 修正コードだけでなく、なぜ直るのかも聞く。
- エラーが出たら、1か所ずつ直す。
- 保存とデプロイ更新を忘れない。
次の節では、最終課題として、この学校祭デジタル受付アプリを自分のイベント用にカスタマイズしていきます。
確認問題
問題1
AIに質問するとき、最低限セットで伝えるとよい4つは何ですか。
回答
何を作っているか、何をしたいか、何に困っているか、関係するコードやエラー文です。
問題2
「動きません」だけでは、なぜ質問として不十分ですか。
回答
何を作っているのか、どの画面で困っているのか、どんなエラーが出ているのかが分からないためです。
問題3
コードを変更してから動かなくなった場合、AIに何を書くと原因を見つけやすくなりますか。
回答
変更前のコード、変更後のコード、困っていること、エラー文を書くと原因を見つけやすくなります。
問題4
AIの回答が難しすぎる場合、どのように聞き返すとよいですか。
回答
「初心者向けに、今すぐ確認する場所を3つだけに絞って教えてください」のように、簡単に説明してもらうよう聞き返します。
問題5
パスコードを変更したのに反映されない場合、確認すべき関数は何ですか。
回答
setAdminPasscode です。変更後にこの関数を実行して、保存されたパスコードを更新する必要があります。