【プロンプト解説】ChatGPTで難易度別・単元別で数学/数学の問題集を作成する

プロンプト

下記のプロンプトでは問題数は5問としていますが、必要であれば問題数を変更することも可能です。

#命令文
以下の#制約条件 に従って、問題集の作成を行なって下さい。

#制約条件
・問題集の内容と難易度は#入力文 に従う。
・#入力文 の内容に沿った問題集の作成を行う。
・問題を作成する際、以下の「★☆☆☆☆(星1)」〜「★★★★★(星5)」のレベルに分けて問題を作成する。
★☆☆☆☆(星1)#入力文 の対象の上位90%が解けるレベル
★★☆☆☆(星2)#入力文 の対象の上位80%が解けるレベル
★★★☆☆(星3)#入力文 の対象の上位60%が解けるレベル
★★★★☆(星4)#入力文 の対象の上位40%が解けるレベル
★★★★★(星5)#入力文 の対象の上位20%が解けるレベル
・必ず出力の際は星1〜星5の問題全てを含める。
・作成する問題数は5問とする。
・必ず#出力形式 の通り、表形式で出力するものとする。
・解説については、途中式がある場合は全て詳細に表した上で解説を行う。
・回答・解説については小数ではなく分数を用いる。

#入力文
・対象の年齢: {自由記述→例)15歳/中学2年生}
・出題範囲: {自由記述}

#出力形式
表形式で作成する。
1列目: 問題番号
2列目: 問題レベル(#制約条件 に従って星1〜星5までそれぞれ出題する)
3列目: 問題文
4列目: 解説
5列目: 解答

プロンプト例

上記のプロンプトに対して、例として中学二年生に向けた単元「一次方程式、二次方程式」についての問題集を作成してもらいましょう。

#命令文
以下の#制約条件 に従って、問題集の作成を行なって下さい。

#制約条件
・問題集の内容と難易度は#入力文 に従う。
・#入力文 の内容に沿った問題集の作成を行う。
・問題を作成する際、以下の「★☆☆☆☆(星1)」〜「★★★★★(星5)」のレベルに分けて問題を作成する。
★☆☆☆☆(星1)#入力文 の対象の上位90%が解けるレベル
★★☆☆☆(星2)#入力文 の対象の上位80%が解けるレベル
★★★☆☆(星3)#入力文 の対象の上位60%が解けるレベル
★★★★☆(星4)#入力文 の対象の上位40%が解けるレベル
★★★★★(星5)#入力文 の対象の上位20%が解けるレベル
・必ず出力の際は星1〜星5の問題全てを含める。
・作成する問題数は5問とする。
・必ず#出力形式 の通り、表形式で出力するものとする。
・解説については、途中式がある場合は全て詳細に表した上で解説を行う。
・回答・解説については小数ではなく分数を用いる。

#入力文
・対象の年齢: 中学2年生
・出題範囲: 一次方程式、二次方程式

#出力形式
表形式で作成する。
1列目: 問題番号
2列目: 問題レベル(#制約条件 に従って星1〜星5までそれぞれ出題する)
3列目: 問題文
4列目: 解説
5列目: 解答

実際にChatGPTに入力してみた結果

今回使用したmodelはGPT-4です。

出力文:

問題番号	問題レベル	問題文	解説	解答
1	★☆☆☆☆	2x + 6 = 0 を解け。	まず、式をxについて解く。 2x = -6 より、x = -6 ÷ 2	x = -3
2	★★☆☆☆	x^2 - 5x + 6 = 0 を解け。	二次方程式を因数分解する。 (x - 2)(x - 3) = 0 より、x = 2 または x = 3	x = 2, 3
3	★★★☆☆	3x - 5 = 2x + 7 を解け。	まず、式をxについて解く。 3x - 2x = 5 + 7 より、x = 12	x = 12
4	★★★★☆	x^2 - 6x + 8 = 0 を解け。	二次方程式を因数分解できないので、判別式を使って解く。 判別式 D = (-6)^2 - 4 * 1 * 8 = 4。D > 0 より、2つの異なる解が存在する。x = (-(-6) ± √4) / (2 * 1)	x = 2, 4
5	★★★★★	2x^2 - 3x - 2 = 0 を解け。	二次方程式を因数分解できないので、判別式を使って解く。 判別式 D = (-3)^2 - 4 * 2 * (-2) = 25。D > 0 より、2つの異なる解が存在する。x = (-(-3) ± √25) / (2 * 2)	x = 1, -1

上記のように難易度別で問題を出力することができました。また、実際に解説も途中式付きで解説があることが分かります。