用 TiMem 给 AI 家教加上长期记忆:真正记住每个学生的薄弱点

6 阅读2分钟

用 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