クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

審査役モデルを人と比べる方法

このレッスンのあとで: 私は、人が付けた評価と比べて、審査役を試せます。

65分のレッスンコマンド5件AI コーディングエージェントのラボ:opencode でコードを説明・修正し、その結果を確かめる

誰も確かめていない審査役

審査役を試すとは、その評価を、同じ返事に人が付けた評価と比べることです。審査役はモデルなので、何も言わずに最初の答えや最も長い答えに傾くことがあるため、役に立ちます。

ショップには、返事に対する審査役の評価がそろいました。信じる前に、人の評価とどこまで一致するかを知る必要があります。

このレッスンのゴール

メモ

私は、人が付けた評価と比べて、審査役を試せます。

キーワード

ことばいみ
較正用セット審査役を試すために、人が評価した返事
一致率審査役と人の評価が合った割合
位置の偏り1番目か2番目の位置に傾くこと
長さの偏り長い返事に傾くこと
入れ替え2つの返事を交換して、組を審査し直すこと

学生が入力するセルは、このプレビューでは空白です。

較正用セットで審査役を試す

10件から30件の返事を選びます。人が同じ採点基準で、審査役の評価を見ずに評価します。そのあと、審査役が同じ返事を評価します。

一致率は、2つの評価が合った返事の割合です。1点差以内も数えます。2と3の差は小さな外れで、1と3の差は大きな外れだからです。

例: 5件の返事と2組の評価

返事人審査役一致
133完全一致
211完全一致
3231点差
4132点の外れ
522完全一致

学生が入力するセルは、このプレビューでは空白です。

探すべき2つの偏り

位置の偏り: 2つの返事を見せると、審査役は1番目の位置を選びがちです。入れ替えで試します。返事を交換してもう一度聞きます。公平な審査役は、2回目には別の位置を選びます。

長さの偏り: 審査役が、長い返事に人よりも高い評価を付けることです。長い返事と短い返事で、人との平均の差を比べます。

較正用のデータを書く

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' '// 較正用セット: 人が1から3で評価した10件の返事と、同じ10件に対する審査役の評価。' 'const human = [3, 1, 2, 2, 1, 2, 3, 1, 1, 2];' 'const judge = [3, 1, 2, 3, 2, 2, 3, 3, 1, 3];' 'const words = [14, 5, 6, 16, 4, 5, 17, 12, 6, 15];' '// 6組。それぞれ、2つの返事を入れ替えて2回審査した。毎回選ばれた位置。' 'const first = [\"A\", \"A\", \"A\", \"B\", \"A\", \"A\"];' 'const second = [\"B\", \"A\", \"A\", \"A\", \"A\", \"B\"];' 'function percent(count, total) {' '  return Math.floor(count * 100 / total);' '}' 'module.exports = { human, judge, words, first, second, percent };' > calib.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

測定のスクリプトを書く(1)

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { human, judge, words, first, second, percent } = require(\"./calib\");' 'const longest = 12;' 'let exact = 0;' 'let near = 0;' 'let longGap = 0;' 'let longCount = 0;' 'let shortGap = 0;' 'let shortCount = 0;' 'for (let at = 0; at < human.length; at = at + 1) {' '  const gap = judge[at] - human[at];' '  if (gap === 0) exact = exact + 1;' '  if (Math.abs(gap) <= 1) near = near + 1;' '  if (words[at] >= longest) { longGap = longGap + gap; longCount = longCount + 1; }' '  else { shortGap = shortGap + gap; shortCount = shortCount + 1; }' '}' > measure5.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

測定のスクリプトを書く(2)

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'let same = 0;' 'for (let at = 0; at < first.length; at = at + 1) {' '  if (first[at] === second[at]) same = same + 1;' '}' >> measure5.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

測定のスクリプトを書く(3)

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'console.log(\"一致率: 完全一致 \" + percent(exact, human.length) + \" パーセント、1点差以内 \" + percent(near, human.length) + \" パーセント\");' 'console.log(\"平均の差 長い返事: \" + (longGap / longCount).toFixed(1) + \"、短い返事: \" + (shortGap / shortCount).toFixed(1));' 'console.log(\"2回とも同じ位置: \" + first.length + \" 組中 \" + same + \" 組\");' 'const flags = [];' 'if (percent(exact, human.length) < 70) flags.push(\"一致率が低い\");' 'if (percent(same, first.length) > 30) flags.push(\"位置の偏り\");' 'if (longGap / longCount > 0.5) flags.push(\"長さの偏り\");' 'console.log(\"警告: \" + (flags.length ? flags.join(\"、\") : \"なし\"));' >> measure5.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

審査役を測る

コマンド
docker exec -w /home/node/project agent node measure5.js

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

測定が表示するもの

行示す内容
一致率完全一致 60 パーセント、1点差以内 90 パーセント
平均の差長い返事は 0.8、短い返事は 0.2
同じ位置6 組中 3 組。1番目の位置に傾いている
警告一致率が低い、位置の偏り、長さの偏り

学生が入力するセルは、このプレビューでは空白です。

試してみましょう

ヒント

calib.js で、2つ目のリストを、1つ目と反対の B、B、B、A、B、B に変えます。もう一度実行します。位置の偏りの警告は消えるはずです。

よくある間違い

注意

人とほとんど一致する審査役は、どこでも信頼できると考える人が多くいます。一致率が当てはまるのは、較正用セットに似たケースだけです。採点基準、審査役、返事の種類を変えたら、もう一度測ります。

このラボとソースについて: AI コーディングエージェントのラボ:opencode でコードを説明・修正し、その結果を確かめる

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。