用 TiMem 给 AI 家教加上长期记忆:真正记住每个学生的薄弱点
现有的 AI 家教有个共同缺陷:每次对话都从零开始。
你上次学了一元二次方程,还是搞不懂判别式,家教帮你讲了半天。第二天打开新对话,家教对这件事一无所知,讲完全同一套基础再讲一遍。
不是 AI 不够聪明,是它没有记忆。
我用 TiMem 给 AI 家教加上了跨会话的长期记忆,现在它能记住每个学生的学习轨迹、错题类型和薄弱点,每次上课前自动调取,真正做到因材施教。
核心逻辑
TiMem 五层时序记忆树用在教育场景特别自然:
- L1-L2:每次上课的具体对话和做题过程
-
- L3-L4:这周/这个月的学习模式、反复出错的题型
-
- L5:学生画像——擅长什么、薄弱在哪、适合怎么讲
家教每次上课前检索学生记忆,拼进 system prompt,LLM 自然地在讲解里针对性调整。
核心代码
import os
from timem_client import TiMemClient
from openai import OpenAI
timem = TiMemClient(api_key=os.environ["TIMEM_API_KEY"])
llm = OpenAI()
def tutor_session(student_id, question, session_id):
memories = timem.search(
query=question,
user_id=student_id,
session_id=session_id,
top_k=5
)
history = ""
if memories:
items = [f"- {m['content']}" for m in memories]
history = "该学生历史学习记录:\n" + "\n".join(items)
system_prompt = (
"你是一位耐心的 AI 家教。\n"
"根据学生历史记录调整教学策略,针对薄弱点重点讲解。\n\n"
+ history
)
response = llm.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": question}
]
)
answer = response.choices[0].message.content
timem.add(
messages=[
{"role": "user", "content": f"[学生] {question}"},
{"role": "assistant", "content": f"[家教] {answer}"}
],
user_id=student_id,
session_id=session_id
)
return answer
```
---
## 错题自动归档
学生做错题时主动写入记忆,后续家教会自动提醒:
```python
def record_mistake(student_id, topic, analysis, session_id):
timem.add(
messages=[
{"role": "user", "content": f"[错题] 题型:{topic}"},
{"role": "assistant", "content": f"[错误分析] {analysis}"}
],
user_id=student_id,
session_id=session_id
)
```
---
## 实测效果
两个学生学同一个知识点:二次函数图像变换。
**学生 A**:有记录显示多次在「开口方向」上出错。家教直接跳过基础定义,重点强调 a 值正负的含义,出了 3 道针对性练习题。
**学生 B**:无历史记录。家教从基础概念完整讲了一遍。
同一个知识点,两种讲法,因人而异。
---
## 接入方式
```bash
pip install timem-client
```
API Key 在 [console.timem.cloud](https://console.timem.cloud) 申请,支持云端直接调用,无需本地部署。
---
如果你对 AI 记忆技术感兴趣,欢迎访问 TiMem 的 GitHub 仓库:
https://github.com/TiMEM-AI/timem
给我们一个 Star,你的支持是我们持续开源的最大动力!
在线体验:https://playground.timem.cloud
技术文档:https://docs.timem.cloud