Skip to content
AI|Course
← Engineer Persistent Memory for AI Agents

Lesson 7 of 7 · 4 hr

Capstone project

Build an assistant that gets measurably better because it remembers, and prove it.

The brief

Create a personal or team assistant (for example a coding helper, a study buddy, or a customer-support agent) that keeps useful memory across sessions. It must handle changing facts correctly and let users inspect and delete what it knows.

Requirements

  1. Short-term memory: persisted threads with a compaction policy, tested on a long task.
  2. Long-term memory: at least two kinds (for example semantic profile plus episodic log) with a write path that consolidates instead of appending.
  3. Retrieval: scored retrieval (similarity plus recency or importance) with a cap on injected memories.
  4. Updates and history: superseded facts are marked, not silently lost.
  5. User control: a page or command to list, edit and delete memories.
  6. Evaluation: at least 25 test cases across recall, multi-session, temporal, update and abstention, compared against a full-context baseline.
  7. Safety: owner isolation test and at least three poisoning attempts documented.
  8. Write-up: architecture diagram, results table with accuracy, tokens and latency, and an honest "where it fails" section.

Suggested path

StepOutput
Pick the assistant and list what it should remembermemory spec
Short-term memory and compactionlong-task test passing
Long-term store, extraction, consolidationschema and write job
Scored retrievalretrieval tests
User memory pagelist, edit, delete
Evaluation and safety testsresults table
Write-up and demopublic repo

Stretch goals

  • Add a reflection job that turns episodes into semantic facts.
  • Model facts with validity intervals and answer "as of" questions.
  • Store relationships in a graph and answer "who and what is connected" queries, building on the GraphRAG course.
  • Compare your store against LangMem, Mem0 or Letta on the same test set.

Share it

Publish the repo and the results. Include failures: a clear account of where memory hurt (stale facts, wrong retrievals, extra cost) shows real engineering judgment.

Where to go next

DocsLetta
Letta documentation (opens in a new tab)

Explore self-editing, tiered memory in a full agent framework.

CodeGitHub
getzep/graphiti (opens in a new tab)

Read the source of a temporal graph memory engine.

DocsLangChain
LangMem (opens in a new tab)

Try its memory tools against your own test set.

Found a broken link or a mistake? Report it (opens in a new tab).