2026年11月1日
Technology Watch

研究室から産業へ。新しい技術の道筋を追う

← トップへ

arXiv

プログラミングのフィードバックで、1件の編集を授業全体のチェックに変える

AI が描いたイメージ

AIによるプログラミング授業向けのフィードバックは、教師が修正をルールに変え、そのルールが広がる前に確認できるようにすると、より信頼できるものになる。著者らはValiAssistを構築し、実験では、検証済みのフィードバックが参加者自身の基準の91%を満たした。大学のプログラミング実習では、教員が過度に一般化するルールを見つけられれば、同じ仕組みによって多数の提出物から答えを明かしすぎるヒントを取り除ける可能性がある。

LLMは、授業のプログラミング課題一つひとつにコメントを書ける。だからといって、そのコメントを安全に使えるわけではない。流暢なメッセージでも、コードを誤解したり、教師の方針と衝突したり、答えを明かしたり、生徒を間違った考えへ導いたりする可能性がある。教師は依然として、提出物とフィードバックを一つずつ確認しなければならない。

すべてのルールを前もって書いておくのも、それほど簡単ではない。教師が正しいルールに気づくのは、特定の間違いを見た後であることが多い。1件のコメントを編集すれば、教師が何を変えたいかは分かるが、その変更を次にいつ適用すべきかまでは正確に示さない。同じ例から、いくつかの異なるルールが導ける可能性がある。間違ったルールが大量の提出物に適用されると、誰かが気づく前に、その誤りが多くの生徒に届いてしまう。

教師の編集を確認可能なルールに変える

ValiAssistは、この個別の判断を教師が確認できるものに変えるよう設計されている。教員は、あるコードに対してAIが生成したコメントから始める。テキストを直接編集したり、AIアシスタントと変更について話し合ったり、コード、エラーメッセージ、フィードバックにコメントしたりできる。ValiAssistは、元の資料と修正後の資料に加えて、これらの操作を使い、ルールを提案する。

ルールの形は単純である。何かが真であるとき、変更を加える。条件は、コードやフィードバックに何かが含まれているか、何かが欠けているか、特定のスタイルを使っているか、一定の長さかを尋ねることができる。操作では、テキストの追加、削除、置換、修正ができる。正確な文言や長さなど、一部のチェックはソフトウェアが直接行う。2つの文章が同じ意味やスタイルかどうかといった別のチェックは、LLMが判断する。

重要な違いは、ルールがプロンプトの中に隠れていない点である。ValiAssistは、条件との一致につながったテキスト範囲を表示する。ルールが重複したり、細分化したり、互いに矛盾したりする可能性がある場合には警告できる。教員は、残りのコードとフィードバックの組み合わせに適用する前に、例を追加し、ルールを変更し、結果を確認できる。

この意味で、1件の編集が授業全体のチェックになるのは、教師がその編集の意味を確認した後だけである。システムが広げるのはチェックであって、最初の判断を盲目的に信頼することではない。

初期テストで分かったこと

著者らはValiAssistをウェブシステムとして構築し、教員が基準を普通の言葉で説明する方法と比較した。16人が参加した実験では、ValiAssistでチェックしたフィードバックは参加者自身の基準の91%を満たした。自然言語による方法では57%だった。参加者は、問題のある基準をValiAssistのほうが正確に修正した。基準への編集も多く、表示されたルールによって、受け身で受け入れるのではなく積極的に確認するよう促されたことがうかがえる。

この結果だけで、システムが実際の授業に使える状態だとは言えない。技術テストでは、修正意図の組み合わせ40件と、コードとフィードバックのケース240件を使った。研究では初級Pythonコースのデータを使い、実験室で行われた。システムを学期全体にわたって運用したわけでも、数百人の生徒がいる授業で使ったわけでもない。

Refer to caption
Figure 1. The validation-by-demonstration workflow of ValiAssist. The instructor starts by revising LLM-generated feedback in a sample code-feedback pair, then ValiAssist suggests validation criteria by inferring the instructor’s intention according to their interactions (e.g., comments, AI chat, and direct edit) and context information (e.g., original and revised feedback, code submission, and error message). After verifying and tuning the criteria, the instructor can apply the criteria to all other code-feedback pairs to scale the validation. ValiAssist first performs condition matching on the code-feedback pairs and takes actions based on the matched criteria.###### Abstract. 出典: ValiAssist: Scaling LLM-generated Programming Feedback Validation by Demonstration(arXiv)
Refer to caption
Figure 5. ValiAssist’s validation criterion (B). If the instructor attempts to accept a pending criterion (A) with potential issues, a dialog (C) would pop up. The instructor can switch to the detailed view (D) to relate the criterion to the original demonstration, where the semantic labels are linked to the corresponding matched text spans (E). In the detailed view, the instructor can also directly select a text span to add as an example (F). By clicking the view icon, the instructor can overview the matched text spans of semantic labels by clusters and add examples (G). They can also refine the criterion in edit view (H). ValiAssist represents validation criteria in a lightweight DSL (Fig.[4](https://arxiv.org/html/#S5.F4 "Figure 4 ‣ 5.1.1. Feedback Generation ‣ 5.1. Core Features ‣ 5. ValiAssist ‣ ValiAssist: Scaling LLM-generated Programming Feedback Validation by Demonstration")) of the form 𝐰𝐡𝐞𝐧:Φ​𝐭𝐡𝐞𝐧:Δ\\mathbf{when:}\\,\\Phi\\;\\mathbf{then:}\\,\\Delta, where Φ\\Phi is a condition over the student’s submission and the generated feedback, and Δ\\Delta is an edit intention. Both vocabularies are closed, four predicates and four actions, so an instructor can read the whole language, adjust a criterion directly, and compare two criteria for redundancy or conflict (DC1, DC2, DG2). 出典: ValiAssist: Scaling LLM-generated Programming Feedback Validation by Demonstration(arXiv)

教師のルールブックを継続的に見直す

大学のプログラミング実習を想像してみよう。ティーチングアシスタントは、AIのヒントが解答を明かしすぎていることに気づく。そのアシスタントは、その1件のヒントを修正する。残りの提出物を変更する前に、ValiAssistは同じ問題に一致すると考えた文章を表示する。アシスタントは、ルールを受け入れたり、範囲を狭めたり、例を追加したり、拒否したりできる。ルールが適切なら、生徒は解答を渡されることなく指針を受け取れる。

時間がたつにつれて、繰り返し行われる判断は、何度も修正を繰り返す代わりに、維持管理される教育ルールのライブラリーにできる可能性がある。これにより教員は、大量のAI生成フィードバックに自分の指導方針を適用しやすくなる。また教育ソフトウェアには、監査と修復が可能なワークフローを与えられる。

条件は厳しい。教員は、ルールがどこまで一般化するかを確認し続けなければならない。課題や生徒の間違いは変化するため、1つの例には合うルールでも、見慣れない例には適用範囲が広がりすぎる可能性がある。ValiAssistはこの問題を見えるようにするが、ルールをどこで止めるべきかを決める教師の責任をなくすわけではない。

出典

arXiv, 「ValiAssist: Scaling LLM-generated Programming Feedback Validation by Demonstration」