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 memory

One profile per student

  • agent_id scoped per school, class, student
  • Audit log and per-student deletion built in

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 add 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, every tier is EU-hosted with tight data residency and an audit log for every read and write. On-prem and air-gapped setups are available for regulated enterprise — talk to us.

Show me the code

Per-student profile, updated each lesson

tutor_agent.py python
# ── 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 the full record
journey = korely.get_all(
    agent_id=f"school-acme/class-7a/student-{student_id}",
)

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 safely for minors and school records? +

Korely stores whatever you save. For under-13 audiences and school records, you decide what gets written and what stays hashed. Every tier is EU-hosted with audit logs and per-student deletion, so you can erase everything about a student with one call. On-prem and air-gapped deployments are available for regulated enterprise — talk to us. The regulatory review of your application is yours.

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 timestamp. Call get_all() scoped to the student's agent_id to retrieve the full record, or call history(id) on a specific memory to trace its evolution. A six-month progress view is one call.

Does it work for non-English subjects? +

Yes. The embedding model is multilingual. Italian, Spanish, German, French, and dozens more land in the same memory store without separate indexes.

Let your tutor walk into the lesson knowing the student

The Python and Node SDKs are live. Sign up, get a key, and the Hobby tier is free.

Looking for a different shape? See the other five use cases →