反復数だけ戻した実験を20分査読し、25ポイント差とL6採点経路を問い直す
反復数だけ戻した実験を20分査読し、25ポイント差とL6採点経路を問い直す
Section titled “反復数だけ戻した実験を20分査読し、25ポイント差とL6採点経路を問い直す”v9c2のセルフ査読では、各討論条件を独立に5本生成すると、教育条件間の最大差が約10ポイントになった。一つ前のv9cは各条件1本の討論で、最大差は37.5ポイントだった。そこで、v9c2のほかの修正を残したまま、独立討論だけを各条件1本へ戻す切り分け実験を行っていた。
結果の最大差は25ポイントだった。37.5ポイントと約10ポイントの中間なので、討論を複数生成して平均することが差の縮小へ関係したようにも見える。しかし、この実行では学習前提を確かめる準備確認も53%まで低下していた。戻したつもりの要因は一つでも、比較時に動いた要因は一つではない。私はこの25ポイントを、独立討論数だけの効果とは読まない。
今回、帰属を重点的に見る手順で20分のセルフ査読を行った。分析文書、保存された実行結果レポート、採点実装、別の小規模な動作確認データ、論文の該当箇所をたどった。その過程で、L6自由記述を意味で採点する処理は動いているのに、その結果が正誤集計へ渡らない別の不具合も見つかった。
この記事で使う用語
Section titled “この記事で使う用語”- 切り分け実験(ablation): 複数の修正のうち一つだけを外し、結果がどう変わるかを見る実験。今回は独立討論の反復数だけを5本から1本へ戻した
- 独立討論数(
n_disc): 内容を共有せず、別々に生成した討論の本数。学習者数や回答数とは異なる。今回は4つの討論条件がそれぞれn_disc=1だった - 準備確認(readiness check): 共通講義の後に、評価へ必要な規則、例外、手順、規則の組み合わせを理解したか確かめる4問。通過基準は全体80%だった
- 実行結果レポート(run report): 実験結果を表へ集計した生成文書。今回は元の実験データベース(DB)が残っていないため、主要数値の一次記録として使った
- L6自由記述: 学んだ規則を短い文章で説明する問題。意味を読まない完全一致採点の問題があったため、主要得点からは外している
- 意味判定: LLM評価役が自由記述を採点する経路。点数と、集計に使う正誤値は別の項目として保存する必要がある
7項目はレポートと一致したが、再計算はできない
Section titled “7項目はレポートと一致したが、再計算はできない”対象実行は a551c74d、学習者役は34人で、全工程に claude-sonnet-4-6 を使っていた。分析文書から主要な主張7項目を抜き出し、保存された実行結果レポートと照合した。
- 5条件の正答率と試行数
- 準備確認の全体値と4項目の内訳
- 発言責任、討論追加、クラスサイズに関する判定フラグ
- 4つの学習者タイプ別得点
- 高い確信を示した誤答率
- 討論単位のばらつき
- 工程別トークン数と総量
7項目はすべて一致した。したがって、分析文書は実行結果レポートを正しく引用しているとは言える。
一方、これは元データから数値を再計算したという意味ではない。対象実行のDBは失われており、個々の回答、採点結果、集計処理まで逆向きにたどれない。総トークン631,243もレポート上では一致したが、文字数を4で割った推定値であり、モデル提供側が計測した実際の使用量ではない。記憶項目、記憶の変化、発言責任の細かな集計も再検証していない。
今回の証拠境界は、次のようになる。
| 内容 | 確認できた範囲 |
|---|---|
| 分析文書の数値 | 実行結果レポートとの一致を確認 |
| 実行結果レポートの集計 | 元DBがないため独立再計算できない |
| L6の保存経路 | 実装と小規模な動作確認DBで間接確認 |
| 対象実行のL6各回答 | 元DBがないため直接確認できない |
観測された最大差は25ポイントだった
Section titled “観測された最大差は25ポイントだった”L6自由記述を外した9問の主要得点は、次のとおりだった。
| 教育条件 | 学習者役 | 回答数 | 正答率 | 比較上の独立単位 |
|---|---|---|---|---|
| 2人討論 | 2人 | 18 | 72% | 討論1本 |
| 4人討論 | 4人 | 36 | 58% | 討論1本 |
| 16人討論 | 16人 | 144 | 51% | 討論1本 |
| 8人討論 | 8人 | 72 | 49% | 討論1本 |
| 講座+自己省察 | 4人 | 36 | 47% | 固定講義後の学習者4人。比較条件自体の再生成はない |
2人討論と講座+自己省察の差は25ポイントだった。討論4条件は、学習者役が何人いても独立した会話は各1本である。レポートも、討論単位のばらつきを標本数1、標準偏差0.0として表示していた。0.0は結果が安定したという意味ではなく、ばらつきを計算できるだけの独立反復がないという表示である。
教育に使った処理量もそろっていない。講座+自己省察は2,813トークン、討論条件は6,629〜8,877トークンだった。v9c2ほど極端ではないが、討論条件の方が多い。この差を残したまま、討論形式だけの効果を取り出すことはできない。
準備確認53%が同時に動いていた
Section titled “準備確認53%が同時に動いていた”準備確認は72/136、53%で、80%の基準を下回った。
| 確認した内容 | 正答率 |
|---|---|
| 例外 | 100%(34/34) |
| 規則の再生 | 53%(18/34) |
| 手順の順番 | 47%(16/34) |
| 複数規則の組み合わせ | 12%(4/34) |
同じ固定講義と同じ準備確認を使ったにもかかわらず、複数規則の組み合わせはv9cの50%、v9c2の85%、今回の12%と大きく動いた。分析文書は、乱数シードを固定していない生成過程の揺れと解釈していた。しかし、12%と50%の差は、34人を単純な二項標本とみなしたときの標本誤差だけでは説明しにくい大きさである。これは正式な有意性検定ではないが、「ランダムだった」で閉じるには原因調査が足りない。
コード、プロンプト、モデル提供側の変動など、別の要因が同時に動いた可能性を排除できていない。原因が偶然の揺れなら、準備状態をそろえた再実行で平均化できるかもしれない。系統的な違いなら、切り分け実験の設計そのものを見直す必要がある。
したがって、今回観察したのは、独立討論を1本へ戻し、準備確認も53%へ下がった実行で、最大25ポイント差が出たということまでである。「反復数を1本にしたから25ポイントへ広がった」とは言えない。
3世代で差の両端が同じ、ではなかった
Section titled “3世代で差の両端が同じ、ではなかった”査読中の横展開チェックでは、一度「v9c、今回の切り分け実験、v9c2の3世代とも、2人討論と講座条件が最大差の両端だった」と整理した。しかし、世代別の表へ戻ると、この記述はv9c2には当てはまらなかった。
| 世代 | 最大差 | 高い条件 | 低い条件 |
|---|---|---|---|
| v9c | 37.5ポイント | 2人討論 | 講座のみ |
| 今回の切り分け実験 | 25ポイント | 2人討論 | 講座+自己省察 |
| v9c2 | 10.5ポイント | 8人討論 | 4人討論 |
v9cと今回の実験では、学習者役2人と4人という小さな条件が両端に来た。その順位が少人数の偶然の振れを強く反映している可能性は残る。一方、v9c2の約10ポイント差まで同じ構造で説明することはできない。3世代の差の大きさを比べるときは、差の値だけでなく、どの条件が両端だったかも併記する。
L6は意味判定まで進み、正誤欄の手前で止まっていた
Section titled “L6は意味判定まで進み、正誤欄の手前で止まっていた”過去のv8、v9b、v9cでは、L6自由記述を正解文との文字列一致で採点し、意味上は妥当な回答まで0点にしていた。後続実験では、L6をLLM評価役へ回す意味判定が追加された。
今回確認した実装では、意味判定の経路は5観点の点数と合計点を保存する一方、正答かどうかを表す answer_correct を設定していなかった。完全一致で採点する経路だけが、この正誤欄を設定している。レポート側は answer_correct が真の行だけを正答として数えるため、値がないL6はすべて0件になる。
小規模な動作確認DBでも、L6の評価8件はすべて意味判定の経路を通り、20点満点中11〜20点が付いていたが、8件とも answer_correct がなかった。これは、意味判定自体が呼ばれたことと、その判定が正答率へ変換されていないことを示す。ただし、合計点だけから何件を正答とすべきかは決められない。
さらに、実行結果レポートのL6表は、同じ表の中で次の三つを同時に述べていた。
- 「以下はLLM評価役の得点を使う」
- 列見出しは「完全一致による正答数」
- 各行の注記は「完全一致のみなので過小評価の可能性」
意味判定を使うのか、完全一致を使うのか、説明が一致していない。実装を見ると、意味判定は呼び出されるが、表の正答数には反映されないというのが実態だった。これは、完全一致採点そのものが自由記述を落とした過去の不具合とは別である。修正した採点器の出力が、次の集計項目まで届いていなかった。
対象実行のDBは失われており、小規模な動作確認DBが対象実行と同一のコード状態だったかも未確認である。ただし、意味判定を追加した変更履歴(commit)が対象実行より前であることと、現在の保存処理に正誤欄の設定がないことは確認できた。対象実行でも同じ断線が起きた可能性は高いが、直接再計算した事実としては扱わない。
L6は主要得点から外れているため、この不具合で25ポイント差が生じたわけではない。しかし、論文が「L6を意味判定へ回した」とだけ書くと、判定結果が集計まで届いたように読める。論文の採点説明と、L6付録の扱いは見直す必要がある。
生成レポートには、対象外の古い表も残っていた
Section titled “生成レポートには、対象外の古い表も残っていた”元DBがない今回は、生成レポートがとくに重要な一次記録になる。そのレポートに、対象実験と合わない古い表示が残っていた。
- 存在しない個別指導条件が、問題が易しすぎるか難しすぎるかを判定する表に0%列として現れ、分類にも使われていた
- 現在の学習者タイプを読めず、能力、誤概念、関心を全員
unknownと表示していた - 過去世代向けの「均質な集団授業の優位」という判定が残っていた
- 誤概念修正率は全5条件100%で、条件を区別する情報になっていなかった
分析文書はこれらの表を根拠にしていないため、25ポイント差と準備確認53%の記述には影響しない。それでも、生成レポートを外部へ一次資料として示すなら、対象外の列と古い判定を注記する必要がある。DBがないので、表示を直して同じ実行から再生成することもできない。
高い確信を示した誤答率について、今回の15%は生成レポートと一致した。一方、分析文書が比較対象を「v9cの15%」とした箇所は、v9c2のセルフ査読で確認したv9c本番の実測12.9%と食い違う。今回の値そのものと、過去世代の比較値を分け、後者を12.9%(整数表示なら13%)へそろえる必要がある。
査読を終えて残した判断
Section titled “査読を終えて残した判断”- 条件別得点と準備確認の値は、生成レポート上の観測値として残す
- 25ポイント差を、独立討論数だけの効果とは解釈しない
- 切り分け実験が示す範囲を、「独立討論数と準備状態が同時に動いたとき、修正一式の一部を外すと差が広がった」までに限る
- v9c、今回、v9c2の差を比べるときは、最大差を作った条件も併記する
- L6の意味判定経路に、正誤欄を設定する処理と自動テストを追加したうえで再実行する
- 論文のL6説明は、意味判定の呼び出しと集計への反映を分けて監査する
- 元DBのない実行は、分析文書と生成レポートの照合までしかできないと明記する
- 次の切り分けでは、準備確認を通過した状態をそろえ、独立討論数だけを1本と5本で変える。ただし、具体的な再実行計画はまだ決めていない
査読記録の日付は、冒頭の1箇所だけ2026-09-25、本文中の複数箇所は2026-09-05となっていた。今回は作業日と本文側に合わせて2026-09-05の日誌として整理した。原記録の冒頭日付は要確認である。
今回のセルフ査読は完了したが、L6の修正には再実行が必要で、準備確認の大きな変動原因と論文への反映も未解決である。そのため、この日誌は芽の段階(seed)とする。
ここで観察したのは、人工的な記憶制約を持つLLMエージェント34人の一回の実行である。人間の授業で、討論回数やクラスサイズが学習成果へ与える効果を示したものではない。
- 著者によるv9c2切り分け実験のセルフ査読メモ(2026-09-05。冒頭日付は要確認)
- geeknees/Agent-Based-Theory-Testing-2-Sigma-Problem
- Working paper and research artifact v1.0.0
- v9c2のセルフ査読日誌
- v9cのセルフ査読日誌
- v8のセルフ査読日誌