こんにちは、つっちーです。
ChatGPTに例題を作ってもらったものの、問題文と一緒に答えまで表示され、自分で考える前に正解が見えてしまったことはないでしょうか。
今回は、ChatGPTへ「最初は問題文だけを表示する」と伝え、回答後に採点と解説をしてもらう流れを実際に試しました。
先に結論を言うと、質問文で順番を指定すれば、答えを先に表示させず、誤答へのヒントや「わからない」と答えた場合の補助までしてもらえました。
※検証には、2026年8月27日時点で画面に表示されていた「5.6 Sol・Instant」を使用しました。モデル名や利用条件は変更される可能性があります。
今回使った質問文
最初に、次の質問文を送りました。
Pythonの変数とif文を学び始めた学生向けに、基礎的な例題を1問だけ作ってください。最初は問題文だけを表示し、答え・ヒント・解説は私が回答するまで表示しないでください。
僕が普段学んでいる言語はC#ですが、今回は例題生成の動きを確認するため、短いコードで条件分岐を確認できるPythonを検証用に使いました。
自分が勉強している科目に合わせる場合は、「Pythonの変数とif文」の部分を「C#の条件分岐」「英単語」「簿記の仕訳」などへ置き換えられます。
最初は問題文だけが表示された
生成された問題は、変数 score に75を代入し、60点以上なら「合格」、60点未満なら「不合格」と表示する内容でした。
回答が完成するまでの時間は約6秒です。指示どおり、最初の返答には答え・ヒント・解説が含まれておらず、自分でコードを書くところから始められました。
あえて間違えると、すぐ正解を出さずヒントをくれた
採点の動きを確認するため、最初は条件を逆にしたコードを送りました。
score = 75
if score < 60:
print("合格")
else:
print("不合格")
ChatGPTは約6秒で、if文の形は書けているものの、条件と表示結果の対応が逆になっていると判定しました。
そのうえで、完成した正解をすぐ表示するのではなく、60以上を表すには >= を使うというヒントを出し、もう一度コードを書くよう促しました。
間違いだけを指摘して終わるのではなく、考え直せる量のヒントを出した点は、練習相手として使いやすいと感じました。
修正後は正解と理由を説明した
次に、条件式を直したコードを送りました。
score = 75
if score >= 60:
print("合格")
else:
print("不合格")
約9秒で正解と判定され、出力が「合格」になることに加え、変数への代入、条件式、elseが実行される場合を順番に説明しました。
最初に間違えた部分も振り返っており、単に正解を示すだけではなく、どこを修正できたのかまで確認できました。
「わからない」と答えると段階的なヒントが出た
次の問題では、変数 age に20を代入し、18歳以上なら「成人です」、18歳未満なら「未成年です」と表示するコードが出されました。問題の生成時間は約5秒です。
ここでは、コードを書かずに「わからない」とだけ送りました。
約6秒後、ChatGPTは答えを丸ごと表示せず、次の内容をヒントとして示しました。
ageに20を入れる- 18以上は
>= 18と書く - 条件に当てはまる場合は
ifを使う - それ以外は
elseを使う
さらに、表示する文章だけを空欄にしたコードの骨組みを示し、自分で続きを埋めるよう促しました。
「わからない」と伝えても、すぐに正解を見せるのではなく、少しずつ補助してくれました。
正解後に学習内容をまとめてもらった
空欄を埋めた正しいコードを送ると、約6秒で正解と判定されました。最後に、次の質問文で練習を終了しました。
ここで練習を終了してください。今回できたこと、最初に間違えた点、「わからない」と答えたときに補助した内容、今後復習した方がよい点を簡潔にまとめてください。新しい問題は出さないでください。
最終まとめは約6秒で生成されました。変数への代入、ifとelse、比較演算子を使えたこと、最初に条件を逆にしたこと、「わからない」への補助内容、今後復習する比較演算子を整理しています。
「新しい問題は出さないでください」と指定したため、追加問題を出さずに終了できました。
今回の生成時間
| 確認した内容 | 生成時間 |
|---|---|
| 1問目の生成 | 約6秒 |
| 誤答への判定とヒント | 約6秒 |
| 修正後の正解判定 | 約9秒 |
| 2問目の生成 | 約5秒 |
| 「わからない」への補助 | 約6秒 |
| 2問目の正解判定 | 約6秒 |
| 最終まとめ | 約6秒 |
今回はすべて5〜9秒ほどで返答されました。ただし、通信環境、混雑状況、質問内容によって生成時間は変わります。
答えを先に表示させない質問文の作り方
今回の結果から、質問文には次の条件を入れると使いやすいと感じました。
- 対象と難易度を指定する
- 一度に出す問題数を指定する
- 最初は問題文だけを表示させる
- 回答するまで答え・ヒント・解説を出させない
- 間違えた場合は、すぐ正解を出さずヒントを求める
- 終了時は新しい問題を出さないよう指定する
別の科目でも使いやすい形にすると、次のようになります。
[科目・学習範囲]を学び始めた学生向けに、[難易度]の例題を1問だけ作ってください。最初は問題文だけを表示し、答え・ヒント・解説は私が回答するまで表示しないでください。間違えた場合は、すぐ正解を示さず、考え直すためのヒントを1つ出してください。
ChatGPTを課題代行ではなく練習相手として使う
ChatGPTが作った問題や解説は、必ず正しいとは限りません。教科書、授業資料、公式ドキュメントなどと照合し、重要な内容は先生にも確認します。
また、氏名や学籍番号、未公開の課題、許可を得ていない授業資料などは入力しないようにします。
無料版で実際にできた勉強方法や利用上限で困った点は、「ChatGPT無料版は学生の勉強にどこまで使える?実際に困った点も紹介」でまとめています。
プランごとの違いを確認したい場合は、「ChatGPT Plusは学生に必要?Free・Go・Proと比較して判断」も参考にしてください。
まとめ:順番を指定すれば自分で考える練習に使える
今回の検証では、問題文だけを先に表示させ、回答後に採点と解説をしてもらえました。
- 誤答には、すぐ正解を出さずヒントを提示した
- 「わからない」には、コードの骨組みを使って段階的に補助した
- 正解後は、出力結果と条件式を説明した
- 最後は、間違えた点と復習項目を整理した
質問文で「答えを出す順番」を指定すれば、ChatGPTを答えの代行ではなく、自分で考えるための練習相手として使えます。
