[TOC]
LongTutor: Benchmarking Large Language Models for Long-term Personalized Tutoring
LongTutor: Benchmarking Large Language Models for Long-term Personalized Tutoring - ACL Anthology
Idea
核心是根据长期记忆数据,制作了三个问题:
三个问题的类型由论文预先规定:
- Q1:信息提取——询问单条历史记录中的事实。
- Q2:跨记录推理——要求综合多条历史记录回答问题。
- Q3:幻觉检测——询问历史中不存在的信息,测试模型能否拒绝编造。
核心目的是:区分大模型**“能找到历史信息”“能综合历史信息”和“知道历史中没有某个信息”**这三种不同能力。
作者希望证明:即使 LLM 能准确检索学生历史,也不代表它能正确理解长期学习轨迹,更不代表它能完成准确的学习诊断。
最后的实验也证明了:当前大模型在长期个性化教学中存在明显的能力不匹配——基础历史信息提取相对成熟,但跨记录推理、认知状态诊断和历史驱动的教学仍有较大不足。
Method
1. 原始数据准备
输入: 学生答题日志 + 题目元数据。
- 答题日志:
student_id、question_id、response(正确/错误)、timestamp - 题目元数据:题目内容、知识点、标准答案等
处理:
- 按学生 ID 聚合答题记录。
- 按时间升序排列。
- 筛选长度至少为 200、时间跨度至少为 10 天的序列。
- 找到最后一次答错的题目,向前截取总共 200 条记录。
输出: sequences_long.jsonl
其中前 199 条为历史答题记录,最后 1 条为当前错题。
2. 学生历史特征计算
输入: sequences_long.jsonl + 题目元数据。
处理:
- 提取完整历史
history_info(199 条)。 - 根据当前错题的知识点,筛选具有共同知识点的历史记录
related_history。 - 计算统计特征:
overall_acc:历史总体正确率。recent_acc:最近 20 条历史的正确率。related_concept_acc:相关知识点的历史正确率。related_concept_count:相关历史题目数量。related_last_correct_interval_days:距离最近一次相关正确作答的天数。cur_question_error_rate:当前题目在全体学生中的错误率。
输出: history_features_lastq.jsonl
1{
2 "uid": "S001",
3 "history_info": ["199条历史记录"],
4 "related_history": ["相关知识点历史"],
5 "question_info": "当前错题",
6 "features": {
7 "overall_acc": 0.80,
8 "recent_acc": 0.65,
9 "related_concept_acc": 1.0,
10 "related_concept_count": 5,
11 "related_last_correct_interval_days": 11,
12 "cur_question_error_rate": 0.20
13 }
14}
3. 人工构建 Gold 评测数据
输入: 学生历史、当前错题及相关统计特征。
由两名教育专家独立标注,存在分歧时由第三名专家仲裁。
3.1 Memory:生成三个历史记忆问题
专家 A 和专家 B 分别阅读学生的历史答题记录,独立设计三个问题及其标准答案
| 类型 | 目标 | 示例 |
|---|---|---|
| Q1:信息提取 | 检索单条历史事实 | 10 月 11 日 Q136 的作答结果是什么? |
| Q2:跨记录推理 | 综合多条历史信息 | 10 月 11 日一共完成多少道相关知识点题目? |
| Q3:幻觉检测 | 判断不存在的信息 | 学生 Q999 的题目内容是什么? |
每个问题均由专家给出标准答案,Q3 不存在的信息对应 Unknown。
3.2 Diagnosis:标注错误原因
专家根据历史证据,从四个类别中选择一个:
| 诊断标签 | 含义 | 对应教学策略 |
|---|---|---|
| Recall Failure | 遗忘或知识提取失败 | Retrieval Practice |
| Conceptual Gap | 概念理解不足 | Conceptual Explanation |
| Procedural Error | 解题步骤或程序执行错误 | Stepwise Scaffolding |
| Transfer Deficit | 知识迁移能力不足 | Analogical Transfer |
同时给出诊断依据 reason。
3.3 Teaching:编写参考教学回复
专家根据诊断结果和对应教学策略,编写个性化教学回复 content。
要求结合学生的真实历史表现,采用与诊断相匹配的教学方式。
最终输出: human_an_updated.jsonl
1{
2 "_key": "样本唯一标识",
3 "memory": [
4 {"id": "Q1", "query": "...", "answer": "..."},
5 {"id": "Q2", "query": "...", "answer": "..."},
6 {"id": "Q3", "query": "...", "answer": "Unknown"}
7 ],
8 "diagnosis": "Recall Failure",
9 "reason": "历史相关题目全部正确,但长时间后在基础题上出错",
10 "strategy": "Retrieval Practice",
11 "content": "结合学生历史的参考教学回复"
12}
4. 被测 AI Tutor 推理
输入:
history_features_lastq.jsonlhuman_an_updated.jsonl
根据 _key 匹配样本。
发送给被测模型:
- 完整的 199 条学生历史。
- 当前错题的信息。
- 三个 Memory 问题(不包含答案)。
- 四种诊断类型及教学策略的定义。
默认不提供预计算的统计特征,也不提供 Gold 诊断或参考教学回复。
模型一次调用完成三个任务:
1{
2 "memory": [
3 {"id": "Q1", "answer": "正确"},
4 {"id": "Q2", "answer": "3道"},
5 {"id": "Q3", "answer": "Unknown"}
6 ],
7 "diagnosis": "Conceptual Gap",
8 "reason": "学生可能没有理解面积公式",
9 "strategy": "Conceptual Explanation",
10 "content": "模型生成的个性化教学回复"
11}
输出: preds.jsonl
5. 模型输出评测
输入:
preds.jsonl:模型预测结果。human_an_updated.jsonl:人工 Gold 标注。
5.1 Memory Accuracy
分别比较 Q1、Q2、Q3 的模型答案与 Gold 答案。
- 优先使用标准化字符串精确匹配。
- 不匹配时,使用 LLM Judge 判断语义是否一致。
5.2 Diagnosis Accuracy / Macro-F1
比较模型诊断类别与人工 Gold 标签。
- 单样本:判断诊断是否正确。
- 全数据集:计算 Accuracy 和四分类 Macro-F1。
5.3 Teaching Quality
将模型教学回复与人工参考回复交给 LLM Judge,从四个维度评分(1~5):
- History Utilization:是否利用学生历史。
- Strategy Alignment:是否符合教学策略。
- Coherence:教学内容是否连贯。
- Comprehension:教学内容是否易于理解。
此外计算 ROUGE-L 作为辅助指标。
输出: metrics.jsonl,以及整个测试集的汇总指标。