7世代の負の結果から、交絡を監査するまで
7世代の負の結果から、交絡を監査するまで
Section titled “7世代の負の結果から、交絡を監査するまで”2026年5月13日に実験を始め、7月4日にworking paperと研究成果物を公開しました。 週末のサイドプロジェクトとして進めながら、約7週間でv1からv9c2まで設計を更新しています。
時系列を振り返ると、AIを使った研究開発の速さはよく分かります。 初日だけで計画、実験用ドメイン、プロンプト、データベース、評価、オーケストレーターまで組みました。 一方、速く作れることと、正しい測定ができることは別です。実際、初期の実験は評価プロンプトに答えが残っており、全問正解という無意味な結果になりました。
この日誌は、まず研究のベースとなる過程を記録するものです。論文の自己査読はまだ終わっていません。自分で本文とコードを読み直した記録は、別の日に追加します。
Update(2026-07-19): v1–v3のセルフ査読により、v1の天井原因とv3の
no_educationの数値に訂正が必要だと分かりました。このページには当時の理解を残し、訂正内容はv1–v3を80分かけて査読し、天井効果の説明を直すに記録しています。
第2弾は、もう少し大きな研究にする
Section titled “第2弾は、もう少し大きな研究にする”第一弾のdecentralized-multi-agentで、着想からworking paper公開までの流れを一度経験しました。
そこで第2弾は規模を広げ、自分が長く関心を持ってきた教育をテーマに選びました。
焦点を当てたのは、Bloomの2シグマ問題です。1対1のマスタリー・チュータリングを受けた学習者は、通常の集団指導より約2標準偏差高い成績を示すという主張です。
個別指導の効果を伝えるうえで、これは重要な問いだと思っていました。 同時に、第一弾で感じた「AIを人に見立てた社会実験」の可能性を、より大きな実験系で確かめたいという狙いもありました。
数年前に書いた「なぜ教育機関は能動的学習に転換できないのかの7つの仮説」で考えていた問題を、実験として拾い直せたのもよかった点です。
実験の問いと仕組み
Section titled “実験の問いと仕組み”問いは、次のように置きました。
LLMエージェント集団でも、1対1チュータリングは集団指導より高い学習成果を生むか。
学習対象には、合成ルールドメインのZarn Tokensを使いました。 エージェントは教育セッションの対話からコンパクトなメモリを作り、評価時にはそのメモリだけを手がかりに問題を解きます。モデルの重みを更新するのではなく、対話から形成した条件固有のメモリを「学習」として操作化した実験です。
この区別は重要です。実験結果は人間の学習者におけるBloomの主張を否定するものではありません。Zarn Tokensが実際の教科を再現しているとも、LLMエージェントが人間の生徒と同じだとも主張していません。
Zarn Tokensとは何か
Section titled “Zarn Tokensとは何か”Zarn Tokensは、この実験のために作った架空の採点規則です。色のついたトークン列を、次のルールで得点へ変換します。
| トークン | 規則 |
|---|---|
| Red | 自身は0点。直後のトークンの基礎点を2倍にする |
| Blue | 左側のどこかにGreenがあると5点。なければ0点 |
| Green | 末尾以外なら2点。末尾にあると0点 |
| Yellow | 位置に関係なく7点 |
判定には順序もあります。まず各トークンが有効かを確かめ、その後でRedの2倍化を適用します。無効なBlueをRedで2倍にしても、0点のままです。
たとえば[Green, Red, Yellow, Blue]は21点になります。Greenが2点、Redの直後にあるYellowが14点、左側にGreenがあるBlueが5点です。Red自身は加点されません。
既存の教科ではなく架空の規則を使ったのは、モデルが事前学習で得た知識だけで問題を解くのを避けるためです。講義を受けていない条件が0%になり、教育対話から形成したメモリがなければ解けない課題を目指しました。
一方、現実の教科との近さはありません。Zarn Tokensで観測した学習効果を、数学や語学、人間の教室へそのまま一般化することはできません。事前知識を切り離しやすい代わりに、生態学的妥当性を手放した実験用の小さな世界です。
先に結論を書く
Section titled “先に結論を書く”Bloomの効果は、このエージェント環境では再現しませんでした。 7世代を通じて、集団指導は1対1と同等か、それを上回りました。
最も厳密なv9c2では、154学習者、約237万トークンを使っています。教育条件間の差が10パーセントポイントだったのに対し、学習者タイプ間の差は38ポイントありました。
当初期待していた「1対1の効果を再現する」という結果にはなりませんでした。ただ、再現しない理由を追う過程で、教師役の質、実験境界の置き方、LLMエージェント固有の性質が絡み合っていることが見えてきました。 最終的には、効果の有無よりも、F1–F5の交絡分類とAコードによる是正手順のほうが、再利用しやすい成果になりました。
5月13日:1日でv1を作り、全問満点になる
Section titled “5月13日:1日でv1を作り、全問満点になる”初日は、計画文書からオーケストレーターまでを一気に実装しました。
- Zarn Tokensドメイン
- 6種類のプロンプト
- LLM呼び出し、DB、レポート生成
- classroom、1on1、メモリ生成、問題解決、ブラインド評価の5フェーズ
結果は全12試行が20点満点でした。 喜べる数字ではありません。評価プロンプトにルールそのものが残っており、「記憶して応用する」課題ではなく、「その場で読んで応用する」課題になっていました。
AIを使えば、測定装置も速く作れます。そして、壊れた測定装置からもっともらしい結果が出るのも速い。これは研究期間を通じて何度も直面した問題でした。
5月14日:v2からv3で、ようやく測定が始まる
Section titled “5月14日:v2からv3で、ようやく測定が始まる”v2では、L1–L6の難易度ラダー、120語・4フィールドのメモリスキーマ、TokenTracker、機械採点Scorerを加えました。それでも天井効果は消えません。ルールが評価プロンプトに残ったままだったためです。
同日夜のv3で、学習者に見せるlearner_promptと、採点だけに使うhidden_rulesを分離しました。さらにno_educationを加え、3条件を比較できるようにしています。
ここで初めて、教育なし0%、教育あり13〜50%という分散が出ました。教育セッションから作ったメモリが、評価結果に影響する測定系になったと判断しました。
同時に、eval_tasksの主キー衝突によってDB JOINがゼロ行を返すバグも直しています。設計の問題と実装の問題が同時に起きていました。
5月15日〜16日:v4でBloomと逆の結果が出る
Section titled “5月15日〜16日:v4でBloomと逆の結果が出る”まず評価タスクを見直しました。L5はドメイン知識がなくても純粋な論理だけで解けたため、debuggingタスクへ差し替えました。L6は全条件0%で情報を持たなかったため、問題を簡略化しています。
1on1側には、誤答を診断して修正し、再び確かめるfeedback loopを追加しました。v3の2 exchangeでは、教師が誤答を見つけても直す機会がありませんでした。Bloomの主張を検証するなら、個別化だけでなくフィードバックの循環が要ると考え、4 exchange、8ターンへ広げました。
本番実験はTPMレート制限に何度も止められました。リトライを強化し、最終的には5.5時間待機を最大20回繰り返す自己回復プロセスにしました。macOSのスリープも実行を止める要因でした。約21時間かけて完走しています。
結果はclassroom 47%、tutoring 28%。Bloomとは逆方向でした。
この時点では、少なくとも三つの可能性を考えました。
- マスタリー基準を実装していない
n=4で統計的に不安定- この環境では理論が再現しない
すぐに結論を出さず、後の世代で一つずつ確かめることにしました。
5月16日〜21日:異質性を入れ、プロンプトで人を作ることを諦める
Section titled “5月16日〜21日:異質性を入れ、プロンプトで人を作ることを諦める”v5では、「1on1の利点は、異質な学習者が混ざる教室で現れるのではないか」という対抗仮説を試しました。abilityとmisconceptionを持つ学習者プロファイルを作り、4条件で比較しています。
この仮説が出た背景には、教育に関わる実務経験の影響が大きいと思います。学習者によって理解度やつまずく場所が違う場面では、一律の説明だけで全員に応じるのは難しく、個別にやり取りする意味が増します。ただし、これは実務から持ち込んだ見立てであり、この実験で確かめる対象でした。
混在クラスの成績が3ポイント下がるheterogeneity penaltyは見えましたが、tutoringの優位は出ませんでした。
さらに、プロンプトへ「能力が低い」「この誤解を持つ」と書いても、LLMの基礎能力そのものは変わりません。人間の個人差らしい文体は演じられても、必要な認知差を作れない。この点は、人とAIの違いを副次的に見る入口になりました。
そこでv6ではロールプレイをやめ、LLMが生成した後のメモリへハード制約をかけました。語数上限、エッジケース保持率、ルール順序のシャッフルを組み合わせ、7種類のlearner typeを実装しています。
結果は1on1とheterogeneous classroomがともに59%。平均では優位差がありませんでした。ただしタイプごとには非対称な動きが出ました。
passive_listenerは1on1で25ポイント改善したorder_confusedは1on1で25ポイント悪化した
1on1は全員を一様に良くするのではなく、弱いタイプを引き上げ、別のタイプを下げて分散を圧縮している可能性が出ました。ただし、この±25ポイントは各タイプn=4の結果であり、効果量の確定値ではなく次の仮説です。
5月21日〜23日:v7でメカニズムを分ける
Section titled “5月21日〜23日:v7でメカニズムを分ける”v7では、v6の二つの結果を別々に検証しました。
Exp Aは、passive_listenerが改善した理由を調べる実験です。個別化が効いたのか、それとも発言を求められる強制インタラクションが効いたのかを比べました。forced_checkin 53%、1on1 50%となり、後者を支持する結果でした。ただし、講義プロンプトの「200語以内」が講義長の交絡になっていることも分かり、修正しています。
Exp Bは、order_confusedに手続き特化の支援を与える実験です。結果はprocedure scaffolded 41%、generic tutoring 47%、classroom 69%。「手続きに合った介入なら改善する」という仮説は棄却されました。
誤解を言葉で修正できたことと、問題を正しく解けたことも一致しませんでした。宣言的な誤解を直す会話が、手続き的な欠損を直すとは限らない。このズレも、AIエージェントを学習者として扱うときの注意点です。
5月23日〜29日:v8で前提知識の境界を変える
Section titled “5月23日〜29日:v8で前提知識の境界を変える”ここまでの実験は、前提知識ゼロの状態からclassroomと1on1を比較していました。その設定自体が不公平かもしれないと考え、v8では反転学習型の設計へ変えました。
全条件に共通講義とマスタリーチェックを与え、その後の介入だけを全体討論、小グループ、1on1補修、介入なしで比較します。
全体討論が83%で最高でした。1on1はlecture onlyを8ポイント上回りました。前提知識の有無によって1on1の効果が反転する可能性が出た一方、この時点では前提知識を十分に統制できていませんでした。
5月29日〜6月6日:v9bとv9cで、魅力的すぎる結果が出る
Section titled “5月29日〜6月6日:v9bとv9cで、魅力的すぎる結果が出る”v9bでは、クラスサイズを2、4、8、16人と変え、能動的関与をownership metricsで測りました。34学習者、約61.9万トークンの実験です。
ownershipと成果には相関がなく、lecture onlyとpairが60%で同率最高でした。「前提知識が足りないため、ownershipの効果が隠れている」という対抗仮説を立て、v9cへ進みました。
v9cでは固定のリッチ講義、4タイプのreadiness check、10項目のメモリ診断を導入しました。34学習者、約63.2万トークンです。
lecture onlyは60%から28%へ落ち、discussion条件が37ポイント上回りました。理論に沿う、かなり魅力的な数字です。
しかしreadinessは69%で、事前に決めた80%の基準を通過していません。前提知識が揃っていない以上、discussionの因果効果として報告できませんでした。
6月7日〜8日:自分たちの実験を監査する
Section titled “6月7日〜8日:自分たちの実験を監査する”ここが方法論上の転回点でした。
replication checkerとconfound checkerを書き、v4からv9cまでの本番runへ遡及適用しました。見つかった問題をF1–F5へ分類しています。
| 分類 | 見つかった交絡 |
|---|---|
| F1 | corrective noteが静的で、学習者の反応に適応していない |
| F2 | exact-match scorerのアーティファクト。L6は3 run連続0%だった |
| F3 | discussion参加者へ必要なメモリが注入されていない |
| F4 | classroom系でdiscussionを実質1回しか生成しておらず、学習者数を増やしても独立反復になっていない |
| F5 | 教師・評価者が単一インスタンスで、条件間の学習予算も非対称だった |
各世代へ方法論補遺を加え、v9c2の設計チェックリストとAコードの是正手順を作りました。
この監査を通じて、「教師の質」「適切な境界設定」「AIエージェント固有の問題」が別々の失敗ではなく、実験結果を一緒に動かしていることが分かりました。
6月9日〜15日:v9c2で効果差が縮む
Section titled “6月9日〜15日:v9c2で効果差が縮む”v9c2では、監査で見つけた交絡へ次の対策を入れました。
- A0: 必要なメモリをdiscussion参加者へ注入
- A3: 条件ごとに5回の独立discussionを生成するpopulation-multiplication
- A5: 教師役を複数インスタンス化
- A6: lecture onlyにもSelfReflectionを付与
- A8: exact-matchの影響が強いL6をmain scoreから除外
154学習者、約237万トークンを使い、readinessは90%で初めてゲートを通過しました。
v9cでは37ポイントあった教育条件間の差が、10ポイントまで縮みました。一方、学習者タイプ間には38ポイントの差が残りました。
v9cのdiscussion優位は、少なくともそのまま報告できる結果ではなく、前提知識や反復設計などの交絡を含んでいたと判断しました。ただし複数の対策を同時に入れたため、どの交絡が何ポイントを生んだかまでは分離できていません。
そして皮肉なことに、交絡を統制した環境で、Bloom本来のmastery tutoring条件を再導入する実験はまだ行っていません。負の結果は得ましたが、最も厳密な形で元の問いを閉じたわけではありません。
6月16日〜7月4日:論文にして公開する
Section titled “6月16日〜7月4日:論文にして公開する”6月16日に設定ファイルを統合し、READMEを組み直し、7世代の負の結果とconfound-aware frameworkを論文草稿へまとめました。 その後、LaTeX版、参考文献、交絡ablationの詳細、バイリンガルREADME、MITライセンスを整えています。
7月3日には次世代の改善案を記録しました。最優先は、統制済みの環境へmastery tutoringアームを戻すことです。 7月4日に変更をマージし、ZenodoでDOIを取得しました。
AIで速く作れた。それでも品質は自動ではついてこない
Section titled “AIで速く作れた。それでも品質は自動ではついてこない”週末中心の研究で、7世代の実験、長時間run、監査スクリプト、論文、再現用の成果物まで作れたことには、AIによる生産性が表れています。
ただし、この速さは品質を保証しません。
v1とv2では答えが評価プロンプトへ漏れていました。v9cでは37ポイントという魅力的な結果が出ましたが、事前に決めたreadiness gateを満たしていませんでした。全世代を監査すると、pseudoreplicationや教師役の単一インスタンス化も見つかりました。
AIは実装、仮説生成、文章化、修正を速めます。同じ速さで、設計上の欠陥をコードと文章へ広げることもあります。この研究で得た生産性は、「短期間で正解へ着いた」という種類のものではありません。間違いを実験可能な形にし、次の世代で壊し、監査可能な記録へ残す速度が上がった、と捉えています。
AIと人の違いが、副次的な研究対象になった
Section titled “AIと人の違いが、副次的な研究対象になった”当初の対象は教育条件の比較でしたが、実験を重ねるうちに、AIと人の違いへ何度もぶつかりました。
プロンプトで能力や誤解を指定しても、モデルの基礎能力は変わりませんでした。そこで、人間の認知差を言葉で演じさせる方法から、生成後のメモリを機械的に変形する方法へ移りました。
また、この実験の「学習」は重みの更新ではなく、教育対話を圧縮したメモリの形成です。誤解を会話で訂正できても正答率が上がらない、discussionに参加しても新しいルール知識がほとんど増えない、といった動きもありました。
教育研究をAIで再現しようとすると、教育理論だけでなく、「そもそもAIにとって学ぶとは何か」を操作的に決めなければ実験が始まりません。その境界設定自体が結果を大きく左右しました。
ここからは自分で査読する
Section titled “ここからは自分で査読する”再現しなかった理由は一つではありません。教師役の質、前提知識と評価の境界、反復単位、学習予算、エージェント固有のメモリ形成が絡んでいます。それぞれに示唆があり、外部の目にさらす価値があると思いました。
一方で、そのまま査読を依頼できる品質かというところで行き詰まりました。 まず自分で論文と実装を読み直し、主張の範囲、統計、関連研究、再現手順を確認する必要があります。その作業はこのベース日誌へ混ぜず、日付を分けて追加します。
裏ではすでに第3弾の実験を走らせてしまいました。順番は少し前後していますが、第2弾を外部レビューへ出せる水準まで持っていく作業は続けます。
この研究を始めた背景や教育への考えは、2026年7月4日のブログ記事に別途まとめました。ブログは思想的な側面を扱い、この日誌では実験の判断と失敗を追います。
次に確認すること
Section titled “次に確認すること”- 論文の主張が、LLMエージェント環境での負の結果という範囲を越えていないか
- v9cからv9c2の変化を、特定の交絡だけへ過剰に帰属していないか
- F1–F5とAコードを、別のエージェント実験にも適用できる形で説明できているか
- 統制済み環境へmastery tutoringアームを戻すべきか
- 外部査読を依頼する前に、どの統計・文献・再現手順を補うか