学習者のようにコーディングする方法を言語モデルに教える:学生シミュレーションのための会話型シリアライゼーション

arXiv cs.AI / 2026/4/14

📰 ニュースSignals & Early TrendsIdeas & Deep AnalysisModels & Research

要点

  • 本論文は、実際の学生の時間的ログ(temporal log traces)を対話形式の会話型シリアライゼーションに変換することで、オープンウェイトの「プログラミング学習者」言語モデルを学習させる手法を提案する。
  • シリアライズされた形式では、交互のターンによって学生のコード提出と、自動評価/環境からのフィードバック(テスト、成績、エラートレース)を取り込み、モデルに反復的なデバッグ行動を学習させる。
  • 学習パイプラインは、教師あり微調整(supervised fine-tuning)と嗜好(preference)最適化を組み合わせ、学習者モデルの応答を本物の学生のデバッグパターンへより適切に整合させる。
  • 実データとして得られたPythonの課題提出データで学習したQwenモデル(4Bおよび8B)を用いた実験により、環境フィードバックを含めることで、コードのみ、またはプロンプト付きLLMベースラインよりも、機能的な整合性とコードの類似性が向上することが示された。
  • 著者らは再現性を支援し、大規模なチュータリング戦略評価においてプロプライエタリなプロンプト手法への依存を減らすために、コードを公開している。

Abstract

教育システム内で学習者がどのように行動し応答するかを模擬する人工モデルは、大規模におけるチュータリング戦略やフィードバック機構を評価するための有望な手段です。しかし、プログラミング教育における既存の多くの手法は、大規模で独自の言語モデルに対するプロンプトに依存しており、プライバシー、コスト、そして依存といった懸念があります。本研究では、真正な学生のプロセスデータを用いて、オープンウェイトの人工的なプログラミング学習者を訓練する方法を提案します。提案手法では、時間的なログの痕跡を会話形式へとシリアライズし、各学生の問題解決プロセスを、学習者と自動評価システムの間の対話として表現します。学生のコード提出と、テスト結果、成績、エラートレースといった環境フィードバックを、会話の交互のターンとして組み込みます。これにより、モデルは反復的なデバッグの過程から学習できます。さらに、教師あり微調整と選好最適化を組み合わせた訓練パイプラインを導入し、モデルを真正な学生のデバッグ行動に整合させます。大規模なデータセットとして、Pythonプログラミング課題に対する実際の学生提出物を用い、4Bおよび8B規模でQwenモデルを訓練することで、枠組みを評価します。結果として、環境フィードバックを取り入れることで、モデルが学生のデバッグ行動を再現する能力が強化され、機能的な整合性とコードの類似性において、従来のコードのみの手法と、プロンプト型の大規模言語モデルのベースラインの両方を上回ることが示されました。再現性を支援するため、コードを公開します。