はじめての道具箱 — 探す・並べる画面
— 「何回のうちの何回か」を一緒に見る —
答えは、解いた回数が少ない分類は判定せず、「最低回数」(何回以上解いたら判定してよいかの線)以上解いた分類だけを、その平均と比べて弱点を選ぶことです。正答率(正解した割合)は、回数が少ないうちはたまたまの結果で大きく動くので、数字だけで強い・弱いを決めてはいけません。
この記事を読むとできること
想定している使い方
ブラウザで開くチャット型の AI(Gemini や ChatGPT など)にコードを書いてもらい、 それを自分の Mac に保存して動かす使い方です。この記事の操作や画面の説明は、すべて Mac を前提にしています。
読む目安:約9分 ・ 道具箱の項目 C4(探す・並べる画面)・ 図3枚
正答率は、解いた回数のうち、正解した回数の割合です。解いた回数が少ないうちは、1問の正解・不正解で数字が大きく動くので、数字だけでは強いか弱いかを決められません。
たとえば問題集アプリで、問題を分類ごとに分けて、成績を見る画面を作るとします。分類Aは「2回解いて、2回とも外した」(正答率0%)、分類Bは「40回解いて、20回正解した」(正答率50%)です。数字だけを見ると、分類Aのほうが苦手に見えます。
けれども分類Aは、まだ2回しか解いていません。たまたま続けて外しただけかもしれず、3回目に当たれば数字はすぐ変わります。一方、分類Bの50%は、40回の積み重ねなので、あまり動きません。同じ「正答率」でも、どれだけの回数の結果なのかで、数字の重みが違うのです。
そこで、頼む側が「何回以上解いたものだけを判定する」「何と比べて弱いとするか」を先に決めて、言葉にして伝えます。AI に「正答率の低い順に弱点を出して」とだけ頼むと、回数の少ない分類が弱点の先頭に並びやすくなります。この記事の図と例に出てくる数字は、説明のための架空の例です。
図の見方:上の段は、正答率の数字だけで並べた場合で、2回しか解いていない分類Aが、0% という理由だけで最優先の弱点に見えてしまいます。下の段は、「最低回数に満たないものは判定しない」と決めて頼んだ場合で、十分に解いた分類だけから弱点を選べます。
回数が少ないと数字が当てにならない理由は、1問あたりの重みです。2回解いて2回とも正解した分類は、正答率が100%です。もし1問外していたら、2回中1回で50%になります。たった1問の違いで、正答率が50ポイント(数字が50だけ)動きます。
40回解いて40回とも正解した分類(100%)は、もし1問外していても、40回中39回の97.5%です。動くのは2.5ポイントだけです。回数が多いほど、1問の結果では数字が動きにくくなります。逆に言うと、回数が少ない数字は、ほんの1問の違いで評価がまったく変わってしまいます。
では、どう線を引けばよいでしょうか。考え方は2段です。1段めで、一定の回数に満たない分類は、判定の対象から外します(最低回数)。「何回以上なら判定してよいか」に決まった正解はなく、少なすぎると偶然で上下し、多すぎるといつまでも判定が出ません。目安は、1問の違いで正答率が10ポイント前後しか動かない回数です。8回なら1問で12.5ポイント、10回なら10ポイント動くので、最初は8〜10回で始め、どの分類も判定が出ないときだけ少し下げます。
2段めで、判定の対象になった分類のうち、平均を下回るものを弱点にします。ここでの平均は、判定の対象になった分類の解答をすべて合わせた正答率です。下の図では、最低回数を8回とし、4つの分類があるとします。分類Aは2回中0回、分類Bは40回中20回、分類Cは12回中9回、分類Dは20回中18回です。分類Aは2回しか解いていないので、0% でも判定しません。残る3つの合計は、72回中47回の正解で、平均は約65%です。これを下回る分類Bの50%だけが、弱点になります。
弱点を「正答率の低い順に、下から12個」のように数で決める作りも、避けたほうが無難です。判定できる分類が少ないと、正答率の高い分類まで弱点の枠を埋めてしまうからです。「平均を下回るものだけ」にすれば、判定の対象になる分類がまだ無いときに弱点が0個でも、それは正しい結果です。
実際の法律クイズの道具でも、この考え方で弱点を探しています。のちにエージェント型コーディング(AI に丸ごと任せるやり方)に移ってから足した機能で、8回以上解いた分類だけを判定の対象にして、その平均を下回るものを弱点に挙げます(同じ問題を繰り返し解いた回数も、解いた回数に数えます)。最初は弱点を「下から12個」のように数で決めたところ、判定できる分類が少ないときに、正答率100%の分類まで弱点に並んでしまいました。コードの動きを確かめる小さな検査(自己テスト)でそれに気づき、「平均を下回るものだけ」に直しています。弱点の並べ順には、回数が少ないことを考えに入れて補正した値を使い、画面に出す数字は補正する前の実際の正答率のままにしています。
起きていることから探してください。
| 起きていること | 原因 | どうするか |
|---|---|---|
| 1〜2回しか解いていない分類が、弱点の先頭に並ぶ | 回数を見ずに、正答率の低い順に並べている | 「AI への伝え方」の①で、最低回数を決めて、足りない分類は判定の対象から外してもらいます |
| 正答率100%の分類まで、弱点として出てくる | 弱点を「下から○個」のように数で決めていて、枠が余っている | 「AI への伝え方」の②で、「平均を下回るものだけ」と決めて頼みます |
| 最低回数を大きくしすぎて、どの分類も判定が出ない | 解いた回数が、まだ最低回数に届いていない | 最低回数を少し下げるか、判定が出ないときは「まだ判定できません」と画面に出してもらいます |
| 画面を見ても、なぜその分類が弱点なのか分からない | 正答率だけを出していて、回数が見えない | 「AI への伝え方」の③で、「○回中○回」の形で、回数も並べて出してもらいます |
| 平均を下回る分類が1つも出ない | 判定の対象になる分類がまだ無い(どれも最低回数に届いていない)。または、すべての分類の正答率がまったく同じ(誤りではありません) | 「まだ判定できません」と画面に出してもらい、回数がたまるのを待ちます。無理に弱点を探しません |
※ この道具箱は対話型コーディング(ブラウザの画面でチャットの AI と文章をやりとりして、コードを書いてもらうやり方)の前提です。 チャットの AI はあなたの Mac を見られないので、頼むのは「コードを書いて」、困ったら出た文字を貼って伝えます。 コツは、「何回以上を判定するか」「何と比べて弱いとするか」を、言葉にして先に伝えることです。 下の文は、そのまま写すためのものではなく、言い方の見本です。
① 回数が少ない分類を、判定から外したいとき
「分類ごとの正答率を出す画面で、解いた回数が8回に満たない分類は、弱点の判定に入れないで。8回という数字は、あとから変えやすいように、1か所にまとめて書いて。コードを書いて」
② 弱点を「平均を下回るものだけ」にしたいとき
「弱点は『下から○個』のように数で決めないで。8回以上解いた分類をすべて合わせた正答率を『平均』として、それを下回る分類だけを弱点にして。1つも無いときは『弱点なし』と出して。コードを書いて」
③ 回数が分かる形で表示したいとき
「弱点の一覧には、『分類B 40回中20回(50%)』のように、解いた回数と正解した回数も一緒に出して。回数が少ないうちは、『まだ参考程度』と分かる印も付けて。コードを書いて」
うまくいかないとき
「弱点の一覧に、2回しか解いていない分類が出てしまう。いま画面に出ている分類と回数は:(ここに貼る)。8回に満たないものを外す書き方に直して」
弱点の一覧と、手元の成績の数字を見比べれば確かめられます。
弱点に出た分類の「回数」を見る。「AI への伝え方」の③で頼んで「○回中○回」の表示にしてあれば、一覧に出ている分類それぞれの回数を確かめます。画面に回数が出ていないときは、先に③の言い方で頼んで表示を足してもらいます。決めた最低回数に満たない分類が混ざっていたら、①の言い方で頼み直します。
1問ぶん結果を変えて、動き方を見る。弱点に出た分類の数字を1つ選び、「あと1問当たっていたら、正答率はいくつになるか」を暗算で出します。たとえば8回なら1問で12.5ポイント、40回なら約2.5ポイント動きます。動きが大きすぎると感じたら、その分類は回数がまだ足りないので、最低回数を上げます。
平均を、自分の手で計算して合わせる。判定の対象になった分類の「正解した回数」と「解いた回数」をそれぞれ足し、正解の合計を解いた回数の合計で割ります。道具が出している平均と同じになれば、狙った通りに動いています。違っていたら、判定に入っていない分類まで平均に含めていないかを疑って、頼み直します。