Use case · Tutor agent
A tutor that re-discovers your student every Monday is not a tutor
Recurring mistakes, learning style, the explanation that landed last week. Saved per student, read at lesson start. The tutor adapts instead of restarting.
The pain
Lesson seven, still no idea who this student is
The student keeps getting negative numbers wrong. Not random mistakes — the same sign-flip error in three different problem types. A human tutor would notice on lesson two, change the explanation strategy on lesson three, and the student would have the concept locked by lesson five.
Your AI tutor does not. Each lesson is a fresh conversation with a fresh context window. The mistake from last Tuesday is invisible at the start of Friday. The tutor offers the abstract algebra explanation again. The student gets it wrong again. Confidence drops, the student churns out of the app.
The pedagogy is sound. The memory is missing.
The shape of the fix
One profile per student, updated at every lesson
Lesson 1
Baseline
First session, no priors yet.
Lesson 2
Mistake logged
Sign-flip on negative numbers.
Lesson 3
Style noted
Visuals click, abstract shuts down.
Korely vault
One profile per student
- agent_id scoped per school, class, student
- Friendly to FERPA / COPPA workflows
Lesson 4
Strategy adapts
Opens with a visual example.
Lesson 5
Pace adjusts
Uses 25-minute chunks.
Lesson 6
Triggers avoided
No abstract algebra without a prop.
Each lesson contributes to a compound profile. The tutor enters lesson seven already knowing who is on the other side.
How Korely fits
One agent_id per student, search at lesson start
Every lesson, your tutoring flow makes one
save_note
call with what was learned about the student: where they got
stuck, what worked, what visibly clicked. The
agent_id
is the student's identifier, scoped per school or per cohort.
At the start of the next lesson, before the welcome screen, the tutor reads the profile and prepares the right pedagogic strategy. Visual learner? Switch to diagrams. Negative numbers triggered the last block? Open with a concrete example. The student feels seen because they are.
For school deployments under FERPA, the on-prem and EU-only options keep data residency tight and add an audit log for every read and write.
Show me the code
Per-student profile, updated each lesson
# ── End of lesson 3: tutor notes what it learned ───────────────
from korely_memory import Korely
korely = Korely(api_key="kor_live_...")
korely.add(
"Student struggles with sign flips on negative numbers. "
"Visual examples click. Abstract algebra rules cause shutdown. "
"Best engagement in 25-minute chunks.",
agent_id=f"school-acme/class-7a/student-{student_id}",
)
# ── Start of lesson 4: tutor reads the profile ─────────────────
profile = korely.search(
"current learning gaps and style",
agent_id=f"school-acme/class-7a/student-{student_id}",
)
ai_tutor.set_context(profile)
# Six months later: parent-teacher review needs full history
journey = korely.search(
"learning journey",
agent_id=f"school-acme/class-7a/student-{student_id}",
include_history=True,
)
Frequently asked
Tutor memory, common questions
Why does an AI tutor without memory feel like a search bar? +−
Without memory, every lesson starts from zero. The tutor cannot adapt to the recurring mistake, the explanation style that landed, or the topic the student avoided last week. It is reactive instead of pedagogical.
Can Korely store student data in a COPPA or FERPA-friendly way? +−
Korely stores whatever you save. For under-13 audiences (COPPA) and school records (FERPA), you decide what gets written and what stays hashed. The on-prem and EU-only deployments add audit logs and data residency for compliance teams.
How do I scope memory per class or per cohort? +−
Use a hierarchical agent_id like "school-acme/class-7a/student-1234". Search filters by prefix, so class-level views and per-student views both work.
Can the tutor see progress over months? +−
Yes. Every memory carries a valid_at timestamp. Search can return current state or full history. A six-month progress view is one search call with include_history=True.
Does it work for non-English subjects? +−
Yes. The embedding model is multilingual. Italian, Spanish, German, French, and dozens more land in the same vault without separate indexes.
Let your tutor walk into the lesson knowing the student
The desktop app and local MCP server are free today.
The Python SDK and EU-hosted deployment for school cohorts are in early access.
Looking for a different shape?
See the other five use cases →